设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12135|回复: 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有吧
$ }7 Y' U6 [9 ^5 R& floop1 f# r. a  W9 {( F' {- G
loop [ commands ]/ H4 i' B& x( {; f7 H2 i) q
Runs the list of commands forever, or until the current procedure exits through use of the stop
$ D+ b5 ]; z: k; j) j0 Mcommand or the report command.
7 I! {: s  G' T, H  @Note: In most circumstances, you should use a forever button in order to repeat something forever.4 B3 Y4 v0 v4 P* z0 K& m
The advantage of using a forever button is that the user can click the button to stop the loop
$ j& {6 B. H! N( C) z0 F
$ [. h6 ?; U+ D1 ^+ b0 }(version 3.1.3)
8 U" U9 b  g# z2 R" i- {5 r$ ~; J不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]* O/ I/ y& C7 h" b  ?& P
to setup
4 [4 ^; D4 Y! _   set p  1( I% U  K+ {- x" R
   set p  p + 1* }# c. @, e5 k0 Z" r1 r
   show p( J3 B+ s  ?  Y
   end
1 [& V  q" ?* `& z# s$ t3 d- `我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
: `; d2 ?9 X+ V2 \- b+ o# v6 f# p8 E. }8 c3 h& M- ~1 m
[ 本帖最后由 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 ]9 Y8 z9 K9 _1 q) H
to setup! V# C6 `; a* k7 M, B8 y- A2 e
set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
6 y9 Z2 D- B( T9 \7 K& z  Gset ml filter [ ? = 1] ml( a1 V7 W: J+ @' i2 ]: @
set p  10 t5 G9 S$ ?2 E% h% v- N7 N" O
repeat length ml [ set p  p + 1]
( Y' G4 |1 Y; j' yif p > 100[stop]
. L/ |- z* ?' y9 Vshow p 5 N( S4 V) A. R2 T5 d: i* D' j( j
end
8 t  _/ N0 G" C" y/ B# F( t1 v5 U# m3 ^
像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?
0 z( C5 b' I; m$ D" u, K: O# U5 v/ D# r3 X
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
' v9 x! p3 j3 ~0 preduce [ ? 1 + ? 2 ][1 2 3 4]2 s  m% p8 n. \1 ^: G2 _( A- C* x
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-28 08:31 , Processed in 0.017743 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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