设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11158|回复: 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有吧1 [# A; Y# j$ Y: i- u/ Q; l. G
loop8 k/ _/ g8 r, d( Z) j
loop [ commands ]
, B$ V* I! \( W5 S/ d" |  ]. pRuns the list of commands forever, or until the current procedure exits through use of the stop  z+ j, \% \$ T/ |9 _+ v
command or the report command.
! B, r1 r5 t" U  V1 ?Note: In most circumstances, you should use a forever button in order to repeat something forever.; N* E3 u- E; G- V0 R2 o0 g7 u
The advantage of using a forever button is that the user can click the button to stop the loop5 F- R; f8 X& y/ D& T8 e
! k( d8 v! }! T2 x+ J  i
(version 3.1.3)
9 }+ U- o* Z6 r# {# R( N不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]' ~$ U/ t9 k, A$ R" ~8 j! O
to setup
/ r. k6 G1 Z( Y* ?7 U, |) G   set p  1# `' s. X' _% J8 @. u  x+ o
   set p  p + 1& M" s, h0 S- u& b8 E0 Q: L! u
   show p+ _- {7 y; h: C) c( G. ?
   end
/ g) T/ p/ S- p, w我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
# p: l7 U: F1 x: X  e5 Z* t+ G$ p: ~0 N7 M
[ 本帖最后由 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 ]
1 r$ h/ V3 A8 a/ e6 `to setup
  t1 |& H: J1 i% F& ~* _- fset ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
+ l6 \$ I2 ^+ M' f8 vset ml filter [ ? = 1] ml
  G0 d' L0 \) w0 @8 K3 B7 Y1 iset p  16 Y6 C- }, \; q2 f( t" N0 M/ ^
repeat length ml [ set p  p + 1]' y& e- A. E, X. x7 B4 m, B0 K, D
if p > 100[stop]
# W" W: r5 m% j& M; oshow p
4 X5 p% I& s9 z7 H$ G6 q) Qend
7 t9 p* z4 h0 f2 ^. ]" |. y8 Y( _: I( o
像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?6 ]' J2 T- U) s: D/ U" e6 N# i
, @  W# B! ~$ `+ R
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加" {; b; [' L8 {" X. d# ?4 Y
reduce [ ? 1 + ? 2 ][1 2 3 4]  W  N' Z. r/ {% W" g! y
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-16 20:35 , Processed in 0.020302 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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