设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11238|回复: 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有吧# `+ X$ A) L7 V
loop
( p0 h8 k+ W; _. o& ?9 _loop [ commands ]
. |" j; f* e5 }1 [1 \Runs the list of commands forever, or until the current procedure exits through use of the stop9 q, y0 D7 e0 }9 ]
command or the report command.
6 N9 p4 z* Y* l6 i( }Note: In most circumstances, you should use a forever button in order to repeat something forever.( P) p# z- A& o6 ^! [# u
The advantage of using a forever button is that the user can click the button to stop the loop' E, \6 ?+ |3 g* n

9 T; W" f# O) R* X7 h3 R(version 3.1.3), R) s: E% Z! l) b# |1 y
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]  `. o. h5 j; ^
to setup3 x  b  l4 B% n+ |, d5 f
   set p  1
5 G$ E, H6 l3 D6 q0 m% X# l8 P   set p  p + 1
; |& L% r, \( v# f   show p0 \( w) C4 Q  {; ?; p% k
   end8 M6 y* M) T$ J* G0 }
我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
' x5 a( D( \/ F8 x
+ t# D" q8 A6 j, ?. ^4 d, A1 @/ U[ 本帖最后由 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 ]9 H# U1 P- @0 Y2 ?
to setup
0 `9 v1 N( W1 o5 x, b1 K2 L4 g# wset ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
- n, z8 ^7 j: W! yset ml filter [ ? = 1] ml
/ u+ A* ]1 I4 A# Eset p  1$ A' t+ c4 C7 D8 E) |
repeat length ml [ set p  p + 1]( ~4 R( H1 s' h& o- i
if p > 100[stop]
, t/ {" ?+ s* ?* t( [show p
6 r9 s# @. z, W" s. y4 ^end
. E; l& R8 Y& S( t: G- D5 j( Y5 P, o1 u. [, M
像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?! Q$ j! N2 m8 Y) A: s' |  s

/ f8 \# `7 R2 M& I* e2 ?; ][ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
2 ]. }* p4 y7 y' l, Preduce [ ? 1 + ? 2 ][1 2 3 4]& ~- l8 h1 h% G9 {, F
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-28 07:02 , Processed in 0.021695 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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