设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10775|回复: 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有吧
5 N5 K# \# z+ p6 ^  z$ Zloop1 L1 x1 f. U% G
loop [ commands ]9 m+ [$ g7 s- A6 o% ^: D
Runs the list of commands forever, or until the current procedure exits through use of the stop: _7 U( ]" v% c/ _" J  H# o
command or the report command.
& L; P, p/ O/ ]; W" g0 H- e9 NNote: In most circumstances, you should use a forever button in order to repeat something forever.
' W! V$ |" i" z/ [& mThe advantage of using a forever button is that the user can click the button to stop the loop9 |; K9 F, X/ w6 e

. `5 a/ r5 ^% \$ Y: R5 l(version 3.1.3)$ \4 `/ J+ x  }
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]/ Y. Q  i  n- P4 s# S
to setup
4 [: \7 @8 R5 _0 p$ ]   set p  1; t7 W: E' ]9 M& a
   set p  p + 1
( G; g8 x! V- A% I: O# _: a   show p
) ?4 p, n% F  ~+ ?   end
) u6 h$ F3 V! {# G/ L我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。# B& ]$ a' B. B: Y
& ~0 P" T$ W+ }9 o, c  L  i+ ~
[ 本帖最后由 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 ]
( q! Z/ B0 m) }7 X! D$ T0 C, J; Cto setup1 A* D8 c* u% g. v
set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
' F0 a( R2 v; Y* r5 a% fset ml filter [ ? = 1] ml6 J+ S, f, X3 Q1 e6 i# f: K
set p  1
' F: f( g1 \. P9 W1 C4 l+ trepeat length ml [ set p  p + 1]" H* i3 u7 O' Y+ ?- r! o) R
if p > 100[stop]% {3 G" A$ j* z9 t1 Y4 ^" E9 N
show p & ^( o# J2 G' v+ U1 i
end
2 q. z" m0 s# F
% M3 ?; l6 c0 r( ^像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?  w5 l* Z7 r1 M: w; m& L
# Y: Y) [+ E& _( y& \! o" j, R
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
3 G% d9 f- J& X% Y1 ~reduce [ ? 1 + ? 2 ][1 2 3 4]8 O6 c) h7 L/ k- S" p
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-1 07:47 , Processed in 0.015073 second(s), 11 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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