设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11648|回复: 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有吧% Y, Q. J# @% c( j$ |8 Y- {! \( N
loop: g1 Y& P3 I" V8 O, O1 b8 J
loop [ commands ]
$ d/ N9 Q4 c; T" d. T; D+ s, HRuns the list of commands forever, or until the current procedure exits through use of the stop
" R1 z# m5 Y% j% Ucommand or the report command.
2 }& S) p" g4 G# f7 nNote: In most circumstances, you should use a forever button in order to repeat something forever.
1 |5 Y; q, q$ q8 o7 HThe advantage of using a forever button is that the user can click the button to stop the loop; K9 K2 w; X, ~

' R2 b& E3 p' q* k: q2 b(version 3.1.3)
5 M( b; ^% G9 t) B不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
& p  s& j+ ^" Yto setup2 E" Y7 Y- z& G  b
   set p  1( n" W6 ]* J/ Y' ~7 ~7 S
   set p  p + 1* s4 T5 z; ]* D% ~- {9 p
   show p4 U$ ^2 h4 p* W$ F9 z* _
   end! W. K- p! I/ D; [; q$ h
我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。# A0 A) j$ ?6 [3 q

8 E. Y" v5 f( R$ 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 ]/ O7 k* L+ _# J0 Y! k4 A, a8 H4 N
to setup
; D4 J6 L3 D5 f6 _- I5 nset ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]3 b: a! H# r* c1 R" e$ v
set ml filter [ ? = 1] ml
0 S2 ?) M+ v$ m2 D5 ?& x8 Fset p  1
& G  i5 W' O+ j  Erepeat length ml [ set p  p + 1]1 Q* P7 p1 x+ W7 b+ j. F# n, b
if p > 100[stop]( L% g+ V/ w( A2 A
show p
, H* X0 h$ Q( d$ tend( Y# J% N: i# x) ]; E9 F5 R$ y! A0 S
7 G5 P- |0 X9 C. e. V, K
像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?- q& h5 x" y4 C. }, ~4 c
& o& ~# C3 h. E
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加; F4 m5 D7 z/ g9 A  _
reduce [ ? 1 + ? 2 ][1 2 3 4]: t  {$ K8 m9 \7 o* a9 a; k6 d9 [
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-1 20:25 , Processed in 0.015923 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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