设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12999|回复: 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有吧1 r, E- W, [: y: }
loop  }# h  q: Q5 m: m" f
loop [ commands ]7 U2 q! R1 X3 Y9 K: Q7 C
Runs the list of commands forever, or until the current procedure exits through use of the stop
' K- C) e1 \3 ~9 T, Ecommand or the report command.
$ ~* ~4 \: T; INote: In most circumstances, you should use a forever button in order to repeat something forever.* [% Z: ~! `5 q& x6 h. ^! @
The advantage of using a forever button is that the user can click the button to stop the loop7 e; x( b2 m/ Z( O6 P7 D3 X

9 D3 G  i, H! E* r) ?  l(version 3.1.3)
8 N% O( N5 ]4 |& ~9 w: m7 w) W; P" K不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
: r  x. a2 k* K* M) p" Lto setup9 P0 v6 k6 o  O0 I' G1 w% ~
   set p  1* c# s! c! O5 O) B: S5 }
   set p  p + 1
  _' O$ y% l2 R  b3 d1 K" L2 @) d   show p% o- t% d3 }# e8 _3 Z
   end, X  Q+ `( n5 g
我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。  f9 X/ B$ V. ]
3 k! L7 P1 z, l  z) p5 d3 u. p! K
[ 本帖最后由 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 w3 C5 Q9 V' o  w7 d9 Q2 J1 |% u" N
to setup
2 s: l" U2 M! pset ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
1 T5 U9 Q) Z; }! t8 h+ r* cset ml filter [ ? = 1] ml/ j" i7 t! U! R. T7 x* Y" Z7 k. N
set p  18 Q8 ?- L! \" k$ _
repeat length ml [ set p  p + 1]9 U& G$ ]; P5 R
if p > 100[stop]& J% S) T+ Z* A' B& M
show p
" z6 O+ a) S, ^+ j/ v% `$ \end
$ v6 w, k: J& N0 z  b
" s1 b; Y) B& _- b1 h像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?1 g2 y4 K: L3 G1 S+ U

& J" g- j+ c. }5 r. D9 d4 i& Z% J[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加; m6 C, a; N% \3 L0 @& ]
reduce [ ? 1 + ? 2 ][1 2 3 4]
$ ~, S% E9 D, C9 \, {' E相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-1 17:35 , Processed in 0.015268 second(s), 13 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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