设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11407|回复: 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有吧
2 T' y$ X/ P& j; bloop
4 Q! y3 @+ @$ @! ~" N: f2 J" g5 |loop [ commands ]7 W' ]  ^' @# Z* i- t3 ]! t/ u7 ^
Runs the list of commands forever, or until the current procedure exits through use of the stop
2 O+ L* L6 g" l8 R* G; y( [1 pcommand or the report command.* S* M, F0 L3 u' O% W3 W7 q5 m
Note: In most circumstances, you should use a forever button in order to repeat something forever.
0 i- L! e3 S5 m3 x! FThe advantage of using a forever button is that the user can click the button to stop the loop5 t1 P, U# S( B& f, B8 w( ^
, {" ]  V5 V- t
(version 3.1.3)
0 @0 P$ C; r# H  u$ A. S0 @0 P不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
" a$ K% h; [. H6 C% q% I- g3 I* c! tto setup* i8 g- p; r0 E/ _  B- @
   set p  1
6 o# [: f2 l' G+ Y8 x   set p  p + 1
. I3 @) f6 v- N; l# u, o   show p3 v" U( {* o5 u2 Y' X
   end
' e) ]+ v' j5 C0 W! w我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。. i. `5 ]' |' R* G+ u3 w0 v% E

. f7 U2 c8 R- y  S4 s" u: \$ H[ 本帖最后由 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" y! o3 D/ b4 F( o% Y9 k; A2 qto setup
2 V; i& y0 A! A3 x2 n6 {1 ]set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
* w+ B: w' f# E: Aset ml filter [ ? = 1] ml! E% C3 R1 ]8 ^$ W5 o
set p  1! \1 \( z# [% A6 k4 E
repeat length ml [ set p  p + 1]
9 U9 O0 d, h/ J5 M. }' zif p > 100[stop]5 n/ c" F  I# d, R) Q
show p . L8 W; H( F7 q) R7 Q; v  V  O. [
end
3 n% E& }) L: Q7 W9 D, O" K/ ~
5 u* {, D3 g0 \像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?5 B( D7 C$ o' s% L/ a, P# D& f

( a) u* W% Y9 O! A; ~" k* q* p[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加3 l! Z8 t$ Q# z
reduce [ ? 1 + ? 2 ][1 2 3 4]
7 a; L: b+ u0 E' J9 c相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-26 15:44 , Processed in 0.017590 second(s), 13 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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