设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11498|回复: 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有吧
5 @4 g4 Q# ~; z3 f1 X( Eloop
* b3 g2 y/ ?, X6 x* G9 {: Ploop [ commands ]
' A) v# Z! G! }- y  k  F; jRuns the list of commands forever, or until the current procedure exits through use of the stop4 U* V) `) Z/ v0 }# p
command or the report command.
% J9 V8 Y6 ~8 R5 u9 ?# iNote: In most circumstances, you should use a forever button in order to repeat something forever.
! t) v3 v0 S/ }' n8 }The advantage of using a forever button is that the user can click the button to stop the loop0 ~5 B: d* ]' w$ t

/ u/ I+ K( t3 L% w2 D7 O/ |6 j(version 3.1.3)- ?0 b$ G8 E+ ?6 ?9 b& q
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
9 l$ N: J2 u* `- l! E0 Tto setup
* A: J1 Y  U+ H9 n   set p  1
* n+ \4 z0 y% A. Q! w  y   set p  p + 1
# B- G) c9 o" R- D7 }; |0 V3 U1 B   show p
8 e4 C0 ^7 B" {& S& {, h% q   end2 q: c) ?- J! P5 J- U& I
我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。# h0 [8 t; Q/ L& v

! X) T( M+ \5 M* o  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 ]( l, T5 v+ O& v& p1 l# J
to setup
5 K6 P. }3 e/ S: J/ j! ]set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
7 A# r9 ^0 v) c0 X. ^* B6 d: m2 Nset ml filter [ ? = 1] ml
# I8 z) j0 h  d9 _9 ]/ Jset p  1; g. ^% M9 k' L3 }
repeat length ml [ set p  p + 1]
! \8 D' f$ U0 B6 lif p > 100[stop]; E2 @/ L: g& Y4 k) x1 y
show p
$ P* ^8 S3 W# t7 E7 \end
- w! S& s& i. H. y0 [6 L" b) N; n! a+ a" p, ], W' A; T# B
像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?9 h2 C  c4 @. M" d. i7 Q

7 {+ Q/ A. h  g% C: S4 ^[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加$ r) Q* t' j- L
reduce [ ? 1 + ? 2 ][1 2 3 4]
, f) l, l" `0 v, [+ w7 h相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-8 17:55 , Processed in 0.015665 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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