设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12495|回复: 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有吧
/ F+ `$ L% b% ]1 Q: Tloop
8 W7 a% F. V# d7 jloop [ commands ]+ c' H0 H/ `) I7 J
Runs the list of commands forever, or until the current procedure exits through use of the stop9 b0 z  x; g9 g- t' e
command or the report command.
) a$ q* ?3 n& X* E- j* d5 yNote: In most circumstances, you should use a forever button in order to repeat something forever.
* i0 _. O& Q) R2 _The advantage of using a forever button is that the user can click the button to stop the loop# H6 ~6 m4 M/ b% ^3 j
+ H: i; r2 }9 u) F# z+ x
(version 3.1.3)
- L# T! y( R+ r3 M# T& Z' G不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]) A# e) j, M7 Y
to setup( w! e( y; f' ?% a# _
   set p  1( ]. x5 P1 {- K# H- s' d5 g# L
   set p  p + 12 b7 F( L7 I, d7 a8 }) b# X
   show p9 g, D  O, Y0 J5 V! k$ l1 m
   end
) H2 }% z3 @) b5 l9 R' N我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
( O5 p6 I+ Z( t! {" I  f  x& ^! Z6 Q2 p1 s: n# w: ?0 I* q2 G
[ 本帖最后由 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 ]0 z" G1 l9 f: @" U' u" J
to setup
4 d" _; e. N7 B6 ^, l) Tset ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]6 f) I, a+ X% D5 ~! s! R" C
set ml filter [ ? = 1] ml
5 ]0 A  D2 _- q" L5 m! Uset p  1+ F4 x  I+ Z- L4 D* s' x
repeat length ml [ set p  p + 1]
6 I' L" \) M5 B. o4 o& _if p > 100[stop]
" E% d, B# N4 Q0 m2 m+ c/ f3 mshow p
& m# C! c2 G- \! k5 o+ Eend$ d# V- F$ h' t& v; D- ^1 E1 A/ L

& C* [5 P: z# _: q: s' M像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?# ~. |) O  U. {' X3 k5 U) f- _
* n1 [4 E2 [- d' L0 S3 t
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
  r# ]6 R4 A, f! L7 N0 Xreduce [ ? 1 + ? 2 ][1 2 3 4]/ ?. L& e, q6 P6 }6 }1 f
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-26 20:32 , Processed in 0.017612 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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