设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13505|回复: 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有吧3 r& Y4 Y$ l' G: X& |6 W
loop% I- e, n# ]' E0 o7 r6 j
loop [ commands ]
- l9 K. n, `+ g, j$ Z0 NRuns the list of commands forever, or until the current procedure exits through use of the stop
5 w! J2 v2 ]! l4 I2 d1 jcommand or the report command.
0 W& l6 ]6 \/ |5 JNote: In most circumstances, you should use a forever button in order to repeat something forever.
' A' o( C5 T( s4 d+ H2 \The advantage of using a forever button is that the user can click the button to stop the loop5 r3 [7 P5 I3 E1 {- o& p  k
9 V3 @: ?% b' X* C; _, {; T3 a
(version 3.1.3)
* N* A& R* f. B& \; ?  ~* P0 U/ y& f不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
) o& c, n  H) ?1 [. e3 d% Oto setup
4 K; c- U7 [) `# X; Q   set p  13 K  z3 y: m% @& A: Q
   set p  p + 11 z5 S* c1 b* X% W
   show p
! O6 A# z" z) i5 z. R! g   end% M% f8 m, n$ _: @
我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
& ~  \$ o5 r# e3 N% T' g* R. f* W7 C2 `1 U2 W3 u
[ 本帖最后由 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 H7 }# F2 H: A4 I
to setup0 A7 s  \2 K4 S7 N
set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]- i/ W0 ~+ R4 [' z8 C) n
set ml filter [ ? = 1] ml2 w: b' _' W: C
set p  1! a; V2 U( Z" {! {1 o( \5 h/ m
repeat length ml [ set p  p + 1]
) }; w8 [& {: R3 k# Tif p > 100[stop]) e: \& S$ e; _8 x) V& X
show p
9 P# |0 z5 J, \/ Eend
+ T% j! _. ~' N5 U' Z3 e
; U. I* n, B, b; D像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?& a2 u5 K9 A/ z% ]
$ W) Y2 q+ f/ F
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加# ]! o4 g& K7 }( p
reduce [ ? 1 + ? 2 ][1 2 3 4]( P7 c( `) D5 W7 y; }% e( j# T0 y
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-22 13:48 , Processed in 0.014653 second(s), 13 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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