设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11008|回复: 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有吧
$ k2 v1 _& R* D9 b( I, Nloop
( h3 M9 Y( ^9 G0 E) w9 e  a$ N$ lloop [ commands ]
. U* v2 H5 m5 d' b5 U3 n7 C' `' ?Runs the list of commands forever, or until the current procedure exits through use of the stop, o. q" K1 r9 O
command or the report command.
4 ?* ]- B6 V4 W4 V8 A- h9 j- w, }: O6 LNote: In most circumstances, you should use a forever button in order to repeat something forever.
" b: M& y2 |0 |4 V# a' T% YThe advantage of using a forever button is that the user can click the button to stop the loop* z# ]1 s0 L4 Y) s$ i' H9 q

0 e2 E3 X3 t$ D/ o' H5 h' O) W(version 3.1.3)2 R* J. S7 U' E* F& W
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]4 m" d5 z. _% M1 d8 ~
to setup" t# J8 c$ s% ^* p  I/ x# k
   set p  1% P* Y6 M. C# F+ \
   set p  p + 17 n/ {" Q& o- T% ]9 |1 z
   show p
8 u1 I7 |) {# X/ z+ e$ `. v   end* t) T1 g5 h& O% H' k! |4 q
我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。5 ^' ~. }  m- r1 _5 w' t0 G
6 g6 t' S5 y6 V0 s4 l: t' u/ o0 K5 a
[ 本帖最后由 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 ]
# v1 c- r0 u! r. Dto setup7 o2 f" p' V/ G: ^5 T" w5 a2 Q) w5 \
set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]6 t  X. x9 h, u/ w
set ml filter [ ? = 1] ml
6 o; v: z8 T8 s8 Lset p  13 u( y6 f0 v9 B$ @8 Y
repeat length ml [ set p  p + 1]0 x, Z: u3 o2 V' F# V, X8 o6 D
if p > 100[stop]5 B' k. N+ T* F4 F( C0 d
show p ; I) l# }% e: {4 F* G* q& [* p
end
. }& M+ P& s/ K3 G% V. A: A: n
3 e0 M/ u1 k1 K  q% t/ T8 H1 t像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?
7 {/ b# y9 `& j; E  W" B# F
; m1 x% ~: ]  |" l5 _. E  f[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加- [: w/ n7 Q- _" l
reduce [ ? 1 + ? 2 ][1 2 3 4]+ p1 H0 C$ g0 v  q7 V" S8 V
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-25 18:54 , Processed in 0.015819 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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