设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9541|回复: 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有吧
, ^# [8 U8 Z0 tloop
% N; z* ^) Y2 O( `+ \& Sloop [ commands ]
# e. k4 Y  l- n4 _. O; Q' LRuns the list of commands forever, or until the current procedure exits through use of the stop/ y8 K! |8 Z' n, q1 T3 v
command or the report command.' u9 o8 F& ^+ R
Note: In most circumstances, you should use a forever button in order to repeat something forever.5 E. E! `" B# ?5 ^
The advantage of using a forever button is that the user can click the button to stop the loop4 E7 s5 G/ Z1 ^, z3 b& A% f8 r

/ q8 {! [  ?: r% O4 \2 h3 G(version 3.1.3)! E6 p& w0 A8 J; k" B2 Y8 R! r' ~
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]4 w  y7 b& ]4 ~& U& l; {
to setup
! E: l' ^. N5 l5 }; W; k   set p  1
& A* P' P# w1 W$ k. a   set p  p + 1
( h) R5 @5 v) s, r   show p
5 t" w! _2 z) J6 r+ N$ s0 C+ v, @   end
  Y# F, i! f2 d% t* s* G/ @$ i我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。! u3 c4 s& F2 h/ A) ?
- [0 _# H! }# E
[ 本帖最后由 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 ]* \5 m0 i6 H0 b% E% H  G
to setup
& H  F3 L9 \" v, [9 Gset ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]) h- C2 B, T, `$ o" r
set ml filter [ ? = 1] ml
& q& V" @/ G) L, e# w1 z" m# Hset p  1
, \+ `- b) r" e2 r/ U, y5 Krepeat length ml [ set p  p + 1]: U) n# w' j6 Y" G# g
if p > 100[stop]8 L! n5 c) \3 o
show p 3 ~1 o/ e$ d8 @2 I) _' u3 N3 w9 n
end
; J2 b/ n1 N6 ?. W, V* K0 n2 r0 R+ t. u$ A
像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?- C1 m! p  N0 w! Q" \* X  ?

$ A& E; c7 ]' a! ?9 N1 h- C/ D[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
$ C! R7 L2 [+ F0 v4 `/ freduce [ ? 1 + ? 2 ][1 2 3 4]
4 P+ r* q2 @: U6 |相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-29 22:08 , Processed in 0.014861 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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