设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10248|回复: 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有吧
& S& W& S, d; I+ m) f# V4 \loop
' a* {+ ]- Z8 m3 u% jloop [ commands ]0 V8 s. W2 n' ?8 ]  ~
Runs the list of commands forever, or until the current procedure exits through use of the stop. W! A1 w8 C# J
command or the report command.
: s' f$ {1 |, [  Y' n3 {  `Note: In most circumstances, you should use a forever button in order to repeat something forever./ D# A4 m# I+ @" S1 `
The advantage of using a forever button is that the user can click the button to stop the loop! q2 Y1 i: m+ {) R% x) y* v
9 q0 ~3 U0 X+ Q; p# r) i2 K' m  ?
(version 3.1.3)" J. A* p7 E2 O7 w( e; m
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
) q' W3 e+ ~8 y9 U( h  cto setup
' Q9 }# d1 Q; e7 z1 ~/ E! ^. ]' b   set p  1) |) R2 y3 w# u0 k
   set p  p + 1$ R# `1 K% O7 T% j5 A
   show p
2 ?1 |7 ?- c# O0 l" W3 F' x   end
' Z( w" [. D4 ]* M: Z5 m我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
% z' f. P, s: j9 M$ y: {9 M! F1 J
[ 本帖最后由 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 ]' B* W+ }, ?( W2 b6 L) T
to setup
+ t! k3 i5 g3 Nset ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
9 z+ v  I8 e5 j+ lset ml filter [ ? = 1] ml' ~+ ?' _( H/ n3 ~% }: }
set p  15 O/ y. k$ _0 }5 u# d4 m
repeat length ml [ set p  p + 1]$ V2 G* T$ Z# y
if p > 100[stop]: H0 \0 S; W# S# F  y2 ^
show p
5 V; s; x3 M( [% \/ lend1 O# A0 b2 K5 W$ O& M+ O: K, L; U4 K
/ S7 h) F7 V* T  o# A
像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?
$ t5 ^& k+ t0 E. A, R
! [) a4 ?+ x4 l; l0 O. I[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
! b# `6 l) y. }4 \5 j* Ireduce [ ? 1 + ? 2 ][1 2 3 4]
0 x# ]3 W+ `4 k相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-13 23:53 , Processed in 0.019036 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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