设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11852|回复: 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有吧
/ q" |& J7 r# iloop
, A0 i; Q7 E# [& H( @, i) ~loop [ commands ]% o( v  w6 `  k
Runs the list of commands forever, or until the current procedure exits through use of the stop0 m# p( ]1 D2 w2 C
command or the report command.8 Z& }& i8 l% o6 N8 z6 o6 T
Note: In most circumstances, you should use a forever button in order to repeat something forever.
( W" B0 Y7 G6 \/ ^/ iThe advantage of using a forever button is that the user can click the button to stop the loop
5 ^( {! N* _  ?3 v. N+ B" w
7 _1 `: P; Q7 X- T(version 3.1.3)
! C( w2 e! ]7 n不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
0 e4 z' @3 E1 V8 k. z' Y" ]to setup
- \7 k5 Q- u8 x2 v/ ?6 r" B. J) Y   set p  1
5 E% C. k6 \- B4 S7 {( }" |   set p  p + 1* E$ u4 B& ]# I& x
   show p
; b) ~3 x) [: E6 h4 q   end
  A- v: J" U' R& H5 J. I# ^4 n我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
3 ?- c. k: k, V* y) O7 m& x) R& j8 N3 m# p3 V6 K# ^* H
[ 本帖最后由 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 ]
1 `! w, B3 l$ x4 e5 xto setup) K) ?8 r( A% ^3 t
set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]6 [1 b) j' G+ x' `9 E- B2 W* B
set ml filter [ ? = 1] ml7 m; n' r1 q) K' ]/ B! ~1 u9 E; ]
set p  1
% U. |) r$ W9 L" I& Drepeat length ml [ set p  p + 1]( e. {* L: V+ B- ~6 E2 {
if p > 100[stop]. v  ?& G* K# y: m9 Q
show p # i% J6 F, o0 r7 n% K+ {
end
) x, O0 S, H/ z# R4 L( H/ v% b. N" X) I) |' y! h( M1 R
像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?9 _9 F" N4 H$ o2 d" [5 A  c

* X; X1 E$ J+ k# k1 O[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加; ~- S5 x- f4 I+ u' R) N) H
reduce [ ? 1 + ? 2 ][1 2 3 4]* }/ ^9 u" p6 z7 U: z
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-26 16:59 , Processed in 0.019786 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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