设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11773|回复: 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有吧
8 c. ?, G! r& Xloop, n, e; _) f4 V9 a5 y
loop [ commands ]
/ M& L8 {' K8 S& z; U( xRuns the list of commands forever, or until the current procedure exits through use of the stop6 z2 a+ M7 P: _/ e% A
command or the report command./ r/ ~# S; \/ \  n1 o/ n& A7 N+ n
Note: In most circumstances, you should use a forever button in order to repeat something forever.1 n' S& V" M0 `4 f0 w) B4 \
The advantage of using a forever button is that the user can click the button to stop the loop
2 m9 ^; q; h7 c1 S4 v1 _2 j* H& I3 r' _2 }& k( ?' L; D
(version 3.1.3)" b  k4 Y9 v/ S7 l2 @/ j/ [5 R
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
6 [9 g; l- Z4 I' ato setup
; j5 z2 ~& H  U' O5 X0 r& W( Y4 U0 Z/ o   set p  1
$ t" c7 t7 v2 _: Y   set p  p + 14 F9 X& \) j3 |
   show p
0 U( R7 n+ c6 H! T6 z+ U   end# a' ?' F% Z! _1 N. D- ]& V) @
我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。. \6 s) ^7 l! I' I4 [2 ^
& @) ~7 m: V. d) k% u9 p
[ 本帖最后由 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 ]
! I0 T) K4 B, ?% L1 x$ Gto setup
; G9 F+ n/ S  X7 x& U/ Uset ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]4 _* e7 L  G1 e
set ml filter [ ? = 1] ml6 }) b0 A* C# J3 {7 n
set p  1/ s5 [; Z$ j9 V& b; S
repeat length ml [ set p  p + 1]
( P' J9 v5 o- Q7 B1 u+ C; Aif p > 100[stop]
; x& O0 F6 y* t" g- b5 fshow p & |; T* Y4 b4 |; a7 j
end; T, _3 d1 X0 k! |
* q  W  U3 D1 f7 d% s! Z
像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?
: h: j- n1 D% x. B% L! R# E" Q
  M+ b$ H0 U5 E+ {' |# S[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
6 f" L' N& Q( w* [2 Xreduce [ ? 1 + ? 2 ][1 2 3 4]3 J( L0 c- }9 _* M+ N6 i
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 18:01 , Processed in 0.022552 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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