设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12381|回复: 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有吧& M) e/ X/ h- e- c# \+ C
loop
0 V9 p! K3 f, t* J) O# jloop [ commands ]
0 E: L1 J8 l9 n# w) TRuns the list of commands forever, or until the current procedure exits through use of the stop
: s# s& S( k# U" A, ccommand or the report command.  M. k- ?4 y- ]' q2 s4 r5 \2 @; K
Note: In most circumstances, you should use a forever button in order to repeat something forever.
# S6 B" d( u4 Y: XThe advantage of using a forever button is that the user can click the button to stop the loop2 r  u# L) Z3 e8 |/ h. f8 G$ j/ {: R
, e3 z4 m2 u1 J7 j5 H3 B
(version 3.1.3)
7 y' w' C2 R9 M( H不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]+ D, A, A2 d! l6 ]1 v
to setup
5 B+ U9 n  }0 V/ Y8 q. Q+ r" q   set p  1' J; J) t7 m( H
   set p  p + 1- R" n/ c' v0 _
   show p3 q7 }; P9 h! O6 Q) j# d
   end
" f; g$ \$ e9 b; U% m3 ~我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
2 }" Y3 P$ }7 z+ }3 t
0 i# P  m4 ?! Y* p$ 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 ]
9 g# q0 p/ q  z' g! n: ito setup
- D% f' W: k' \. b$ U+ f. nset ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]8 ]7 W+ [! ^* \+ ?5 b% i
set ml filter [ ? = 1] ml
6 F$ ~+ P, |. y; K9 Rset p  15 d8 S  M/ R% y6 l
repeat length ml [ set p  p + 1]
1 h3 E9 j; m4 j/ Yif p > 100[stop]3 u, k( i; s# A* ]3 S
show p 0 A# x& x, S" h3 `
end
+ n( U9 i, [8 x& B
" p7 v: P) o' f* R; B/ [像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?  U: c2 U2 b# J9 C+ u! a7 }
$ y* l1 v, b/ @( ^2 t
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
* k7 L3 y$ h% Z9 ]0 ?5 e/ g" Preduce [ ? 1 + ? 2 ][1 2 3 4]2 `- ]/ f8 O: b5 h* O& Q' v
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-3 18:53 , Processed in 0.017847 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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