设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12263|回复: 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有吧
3 Y* v# ^: w! ^1 t# wloop% P( ]) q4 n. A- |+ V2 E, m; \
loop [ commands ]
6 D8 i  d1 u% h- m! s# ZRuns the list of commands forever, or until the current procedure exits through use of the stop6 ]% J2 u& ]$ G2 d" z
command or the report command.  h4 k4 W2 `+ ?" u9 Q& U. y. G
Note: In most circumstances, you should use a forever button in order to repeat something forever.) J% \# X( ?9 n. p0 Q
The advantage of using a forever button is that the user can click the button to stop the loop
! |9 b2 R, ?( Z8 t. |8 v
- ?& Z! w  K; J$ L  x4 j# A(version 3.1.3)% {" H  B4 o$ N
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ], [+ c0 Q9 ]" J( K; ?
to setup( [) a( U2 R' ?
   set p  1
* W6 E% F4 r( c, ^% O   set p  p + 1
6 m8 S7 i* G: S0 S. c' Y   show p
5 E* ~. Z" w# W1 l0 W) K   end
) z, _4 v. X$ q+ I8 \* Y: p我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。6 z/ X; j+ K% x9 Y( b

: ^  z0 m2 V% m5 k  p6 K' t[ 本帖最后由 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 ]
! r# y- f1 V1 x& E* W7 ]% i, Wto setup
5 Y3 S: \" A, S" {( [! Yset ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]: r$ d8 Q; G5 M/ q" E4 u% f
set ml filter [ ? = 1] ml
( R/ Q% `* i0 v( Y" g) ?set p  1
  ]8 R! Q. G5 g& Y& C1 d. ~; T) ^repeat length ml [ set p  p + 1]% E; Q( p" Z8 J' c! [! ^) U% Z& h1 E' s
if p > 100[stop]
' @& e/ ?: M2 {# B0 i, Dshow p
- Z8 ?& O2 _& a) K0 A. f8 mend
1 q6 I+ o4 ?8 L  k$ t% l5 D7 {3 J' d" ~! u+ G* R
像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?  F& g1 E4 e8 G+ g3 p
. g7 k) h4 F0 u; U
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
) N" K/ R1 p4 V5 N0 O6 Qreduce [ ? 1 + ? 2 ][1 2 3 4]5 P: w0 B  `, d: ]5 X
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-12 13:45 , Processed in 0.016640 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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