设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11988|回复: 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有吧
1 }, J. N8 M4 Oloop# _7 Z' X$ ]+ Z- K0 q0 }
loop [ commands ]
7 p& l5 G: A; ?( r# dRuns the list of commands forever, or until the current procedure exits through use of the stop: `/ h6 n! J" {! z8 F+ [" S5 j
command or the report command.# H( N/ z& r8 f3 v7 S$ ~
Note: In most circumstances, you should use a forever button in order to repeat something forever.
* m9 h, V; @5 @8 ?3 P3 a8 y7 D1 c( bThe advantage of using a forever button is that the user can click the button to stop the loop
9 x6 L4 P) c$ I  L) u# S" b" G; y7 ^
(version 3.1.3)/ ~9 t: d$ V. K5 @. L
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
% o$ q$ P& ?5 y/ I2 B& C. Eto setup  x- s- j$ b) o. c0 w7 A/ H8 `
   set p  1
8 p: ?& Q% x+ [7 V) h6 N9 Q4 v   set p  p + 1
1 j. J4 ^) }6 U5 N$ Q% o( ?   show p
9 l% L4 y) S" h0 Q; @0 z   end
/ r6 \9 Y; E: j& t  r5 L6 c( I我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。1 w7 k3 R3 y$ o3 ^

& |1 n0 e" N& T! R. A" \+ o[ 本帖最后由 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 ]
" k  E) S) u' H! _+ R  o% I7 Kto setup
: b9 @; Q2 u9 Yset ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
9 u, k( q; N+ q5 C, C' oset ml filter [ ? = 1] ml' L0 B1 \2 ^5 F  K; U0 h/ s% M" m
set p  1
- A9 K" L/ [; b7 Crepeat length ml [ set p  p + 1]
' o9 H& G9 I+ U% F4 ^8 j) r% I1 G1 _if p > 100[stop]
- z* c: M. a) h. A  xshow p 7 E! s) ]* b# z+ x7 W' {
end! c# j$ K/ ~' U6 l7 l. L9 M
* o* h* ^  F1 R2 K# o; _' m
像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?2 D! ]% ]: d; Q9 o& v1 _

. R0 b7 d* W$ Z  B; G[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
& M; M2 X- f! t& {& a# V  o4 r3 sreduce [ ? 1 + ? 2 ][1 2 3 4]6 {3 w0 l" h* P3 q8 Y% W; Z
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-12 04:09 , Processed in 0.015101 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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