设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13087|回复: 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有吧
' p* Q$ ~/ c$ n5 wloop
8 S, B* s' a, v1 B+ [  j0 Wloop [ commands ]# i. R! u; x! b; Y8 p
Runs the list of commands forever, or until the current procedure exits through use of the stop3 e" l. {& [4 t( I. f; `
command or the report command.
' U1 b+ g0 g0 m* i7 C7 pNote: In most circumstances, you should use a forever button in order to repeat something forever.! r; _1 N. s/ T! s  d4 @6 N
The advantage of using a forever button is that the user can click the button to stop the loop0 A) G  A3 P) i/ j9 J4 b

; q) a2 r3 e& s7 x/ t(version 3.1.3)2 u1 V( p; x% o' o
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
: b5 J; E* e5 tto setup/ H) F5 y( t- ?" f. M& _6 a; ]
   set p  1& v* F& B* _9 E; ~: ~' s5 v
   set p  p + 15 @8 h' g; b+ a- V
   show p
9 i. g3 L2 p8 T6 t   end6 r+ ^5 A" [( f# H+ K* n  X' d
我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
% z% ?+ {3 i' Z, E. A2 t9 Y: a% }5 f7 k3 f
[ 本帖最后由 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 ], _' K( j; t: J1 J% g% ^1 x
to setup
; i- q1 }8 K2 g/ i6 v+ u: Bset ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]7 [4 F; y8 I$ s( d
set ml filter [ ? = 1] ml, g  w& h0 \8 q+ L
set p  1
% ]6 N( G* W0 ~( w8 Y8 C+ arepeat length ml [ set p  p + 1]
. `2 ~+ Y% c2 dif p > 100[stop]
- H( F+ l8 H- @+ ?: L- [9 tshow p
1 U# o0 Y% K1 g# ~  _- Nend. b6 L2 C& x" L1 B
; `7 G% e0 e+ T+ l  f+ N
像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?: C. L' N- [4 Z. r. g: V% @4 R
0 ?# U3 _7 q5 d7 S" |3 ?/ b; w
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加8 p2 q* f" o1 F1 f4 |0 E* z" x, b' M
reduce [ ? 1 + ? 2 ][1 2 3 4]
4 r7 ]) n8 J. f( y5 p- p相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-6 07:05 , Processed in 0.013250 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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