设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10627|回复: 7

[求助] 循环

[复制链接]
发表于 2008-4-10 17:04:15 | 显示全部楼层 |阅读模式
5仿真币
关于logo的循环结构程序可使用哪些源语啊?如loop,之类的,basic有很多,但在logo上好像不能使用。
 楼主| 发表于 2008-4-10 17:26:56 | 显示全部楼层

谢谢

我再摸索摸索。
发表于 2008-4-10 17:56:17 | 显示全部楼层
loop有吧# H; y5 }7 B4 p& \
loop
* E# T" Z0 Q1 D0 W: V% lloop [ commands ]. W, w+ Q7 [2 x- x3 D
Runs the list of commands forever, or until the current procedure exits through use of the stop
0 v& [+ z+ m9 E: V5 \4 q/ i/ [command or the report command.7 f) K2 X# Y! L6 Q. T# Q4 j. R
Note: In most circumstances, you should use a forever button in order to repeat something forever.
( B( P" n1 q% U, B# LThe advantage of using a forever button is that the user can click the button to stop the loop  p- M! b; L8 r9 e/ o' T
4 i+ S4 I6 N5 F" @6 S
(version 3.1.3)% `8 H5 x  x- @  u% I& H" O, }6 h
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
/ g4 l% F7 a8 ~& x1 x+ o! uto setup& H6 M( z4 w) _
   set p  1
7 S  T7 A: x9 z- `! j; V   set p  p + 15 N4 L5 L" h; v9 k
   show p% c, K8 I( P: C0 l
   end$ Y7 z& t$ |& u! M/ }; Y- e) {4 L
我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
' U' T. E3 ^5 a; Y/ A5 A: c0 f/ H7 W) N6 \# E% Z
[ 本帖最后由 wjcpcahu 于 2008-4-11 10:25 编辑 ]
发表于 2008-4-11 10:35:25 | 显示全部楼层
将该procedure与一个forever的button建立联系,同时procedure中加一个if p>100[stop], 不知道楼主说的是不是这个意思
 楼主| 发表于 2008-4-11 10:58:31 | 显示全部楼层

多谢,看来还是要用repeat

globals[p ml ]
9 o6 j0 @+ q9 I9 l7 f0 z1 Fto setup2 o7 X0 Y) V4 s: ~: c
set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
5 e. c* n6 @7 [set ml filter [ ? = 1] ml
( D: [$ f: c5 }set p  1
+ L; A, x$ S6 h2 t3 o/ y! r% T- w* u+ lrepeat length ml [ set p  p + 1]
! R4 V8 V) x3 Cif p > 100[stop]
7 Y" p# o6 j7 f! d5 Y: Cshow p
& ?, [% b" }! a4 k& T: z0 {$ \end
* z# \# A  T/ \$ [9 Z3 @# E+ M/ x7 f  q; V2 w  k  R# j7 F
像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?4 F; x  a8 u# b  a6 m
% M4 r" y  `$ i
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
2 Q0 Q2 ~! h3 C2 h5 s1 creduce [ ? 1 + ? 2 ][1 2 3 4]
0 Q2 q" M- F) N  b0 W/ Q相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2025-10-15 02:13 , Processed in 0.019756 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表