设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11446|回复: 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有吧
$ n+ `0 T) B! j, k3 _: J! ?loop
  W/ H# R; V7 W8 zloop [ commands ]
, E$ Q& Q/ @6 Z& j4 M/ GRuns the list of commands forever, or until the current procedure exits through use of the stop8 w8 M' \8 [1 W( i; p- ^
command or the report command.
9 J' P# `  v8 S$ }2 V0 b( pNote: In most circumstances, you should use a forever button in order to repeat something forever.
% E2 x! L) h$ B' B9 ^9 ^* \The advantage of using a forever button is that the user can click the button to stop the loop
  ~% i; G& {) J1 Y) A% z
, ]: o9 g4 j; e(version 3.1.3)
8 T# V. j1 p% @6 L" G不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]0 b  k7 X5 ~0 O1 a* P$ V  \
to setup  S/ l7 j8 P) a: x) G; ?* l1 x6 H
   set p  18 y) T% `; l2 Y4 r
   set p  p + 1
6 J; p- e! T% S1 @# F# S. Q( v3 k   show p
* w9 k) a5 b  B* P   end
+ U' \4 d5 @( v+ B- a; @我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
+ `5 V2 W6 @" e  K) q0 O! _/ l: }, N5 Z* t
[ 本帖最后由 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 ]
( U% x* i; R- |* \to setup
, b2 g% \: y& V1 J. W' Sset ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]( t3 A8 X  H9 m/ W
set ml filter [ ? = 1] ml
; Y6 u3 v3 @: @) Z" Q" I4 d: Nset p  1
7 T% W) k7 ^1 ]' C8 Jrepeat length ml [ set p  p + 1]7 z) t- C- i8 A7 l9 K* L. s$ B/ }
if p > 100[stop]
& d% a: ~8 C9 J+ ?: Xshow p 3 |& P( p% H# p4 ]: j! F  O0 ]
end
/ M2 |9 ~- x$ C; `+ |5 R
" r3 u1 t& S4 l' @像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?
; n: Q2 D  H0 I1 D' \/ p2 I
. y/ d4 g9 z" p5 _; z% y[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加2 K, l$ B% p+ E
reduce [ ? 1 + ? 2 ][1 2 3 4]$ f! }3 O: W* ~9 l7 ?6 T
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-1 15:30 , Processed in 0.016581 second(s), 11 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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