设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11333|回复: 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有吧! P# z: N  j7 F+ |. b: w* t2 i
loop
) M1 ~% T5 @( J; ~6 C) N& dloop [ commands ]4 Z+ U0 [: S  `6 q
Runs the list of commands forever, or until the current procedure exits through use of the stop
. e% x/ f4 Z  x* w% `  b2 [command or the report command.4 t, v- \3 V6 @& a
Note: In most circumstances, you should use a forever button in order to repeat something forever.
: n& W* c: [+ Q6 j5 k/ h  q& t0 cThe advantage of using a forever button is that the user can click the button to stop the loop. R. j) c  d0 n0 L
# a+ x3 ?* N8 B4 \& `5 E0 Q
(version 3.1.3)# ^% d9 |( T4 F, V) _8 Y% \5 h
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
5 ?; F4 h  H1 f# l7 ]* ~' _to setup- q: d" x; W' N  G( U, z" F
   set p  1
3 a) p. B2 d2 ~' ^# w0 z' w7 x# |   set p  p + 18 [  Z5 p6 R0 J$ R0 H7 S! G
   show p
( y$ T, v+ k2 g' F/ k   end
: h$ r& N+ f* _' U: R3 P& R: v7 J我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。! t/ B! t& ~  Z( r
9 T+ g  p- m+ j- o
[ 本帖最后由 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 ]
3 o  X7 T/ L) @3 t. \to setup
2 K) g6 q+ s' p+ o) g9 {set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
) i+ r* h+ G$ e$ x! p0 iset ml filter [ ? = 1] ml
; I; |9 I2 F4 _8 _" oset p  1
, A4 A0 K8 v) F7 d$ mrepeat length ml [ set p  p + 1]) W6 r1 A- z  p4 J6 i: K& o) ?
if p > 100[stop]
- y! a1 B' Q; r# p9 p" f3 Lshow p
6 M/ h& A4 z2 Hend
+ h. Q# y( V8 @' q, q/ C
. C$ l9 k' [: t* m% e8 A5 H像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?
$ Q& ~) F1 f, [: S; q# R0 J* l; |, Z0 t+ [& r5 z0 d
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加9 H5 Z* Q; U/ M, n% W: S6 ?
reduce [ ? 1 + ? 2 ][1 2 3 4]' G/ `/ m+ C$ F0 m& g. P" r
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-14 05:24 , Processed in 0.017455 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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