设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11778|回复: 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有吧  K) N: b" }- {
loop
  g/ L: M. D: H( E. V4 v, oloop [ commands ]" P) D% s; Z% v9 [  B% O! \8 n
Runs the list of commands forever, or until the current procedure exits through use of the stop& h: L  H' f3 h& _8 a( j: F
command or the report command.
. ^+ x4 ^& d. p, h% PNote: In most circumstances, you should use a forever button in order to repeat something forever.8 [- m+ {9 F: Z: ~) g
The advantage of using a forever button is that the user can click the button to stop the loop7 `$ n9 Y9 O5 a3 @9 j  p

3 T6 w: Y( ^# d(version 3.1.3)
8 q, I) J8 M, z0 f- ~) \' `不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
6 v1 O: S3 |* \/ kto setup
" x$ D2 y) j- S$ C" `, o& I) |   set p  1
3 _  x* `, Y/ X& `5 u# X   set p  p + 1
5 U% b' I" z: g$ t; p3 n* n   show p
6 H& }8 `) k' @) |" m# V: r  A# F( P; J   end  g+ E# P7 K: E3 r) U
我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
. W, p7 H# f9 ~! h  H( Y2 V; R0 q. D# a, B. F0 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 ]
( J2 H  ^) ?& Z* c9 ~" f* ito setup
% r8 z# ^+ }) I. z1 M/ O. iset ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]& f# T1 u* ?1 m0 {
set ml filter [ ? = 1] ml4 p. ?+ s" z) _8 q0 K
set p  1
% X' S& Q1 M: i, C' D6 A  C5 Urepeat length ml [ set p  p + 1]: z2 E* ]% |/ T
if p > 100[stop]. b& _6 h, p( F( P
show p   w/ a$ _' o8 B8 ~- R0 y
end7 Z1 r( O. n/ ]
/ D- n* l. [0 V) `( {+ `. T* g2 v
像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?& q/ Z7 M9 w& u" `; i/ }
+ `, _: y2 }& G4 x$ r
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加8 Z+ |# |+ @, ]% S+ j0 ?
reduce [ ? 1 + ? 2 ][1 2 3 4]8 b: [9 O" `7 ]6 ?) X& W
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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