设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10936|回复: 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有吧
+ z9 q' E! E" p" b6 wloop
9 J* V) Y- N/ X9 T; ]loop [ commands ]7 c' v1 C5 L; b; u. d. J0 M+ w
Runs the list of commands forever, or until the current procedure exits through use of the stop; I0 J/ G; f% K
command or the report command.; d' y$ u; U/ r
Note: In most circumstances, you should use a forever button in order to repeat something forever.
. d" D/ X+ \; ]& q# nThe advantage of using a forever button is that the user can click the button to stop the loop( M. ]3 J1 U8 `4 @. A4 w4 S0 {: b5 D
: F1 J$ `) e6 t+ R/ P
(version 3.1.3)
! S7 _! z' k( B+ E不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
0 l/ M4 n7 @9 h" R6 I' o- g  }to setup1 d. [$ n, D; l& V" b  \& N
   set p  1# H" O9 K) y2 c" ]  ^. ~4 G3 C
   set p  p + 1$ J+ _: G, X/ R5 D  e8 h
   show p
: t# u3 t& T$ ]* B, Z! I- i1 ]# T& y% F   end3 T2 `9 y- }9 g4 n, ^  n4 ~
我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。' s# i- p; Z1 m4 p

; v/ j5 z) V2 r! l; g9 {! O2 K) k2 i[ 本帖最后由 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 ]
, @+ Y/ z# _0 J, h& Eto setup/ l! [/ \  n4 a  |* T1 V5 d
set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]. i0 ^$ Y9 m8 }
set ml filter [ ? = 1] ml
* w# ?& \0 X$ P5 ]set p  17 C" F$ j6 @. v/ `' F
repeat length ml [ set p  p + 1]* `% f, p* O1 M7 @5 C7 e
if p > 100[stop]
5 I- p* g( ~. t- ]( S. A4 o# l/ }show p   ?- u. a) m7 j: i) d4 a
end
% P5 h) m1 r9 c/ i* {+ X
2 l2 }; ]5 A$ u% l+ c$ i像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?
3 k) b1 S) J+ R2 l5 q' m; ]' ]; b9 w
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加( u+ i- i7 |8 G% O" l8 T9 i% \
reduce [ ? 1 + ? 2 ][1 2 3 4]
2 o6 b8 y1 N" Z' h. B& P% U% F相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-15 13:00 , Processed in 0.016193 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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