设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6761|回复: 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有吧( |0 d9 x, [/ ]* \" i
loop- |9 |, O. n% W8 {
loop [ commands ]* ?! m9 K/ I; y. Q0 M- i7 U! k% P$ S/ t
Runs the list of commands forever, or until the current procedure exits through use of the stop4 P' y. t; F- a: f
command or the report command.
: x4 O; T" C* K8 y! l7 HNote: In most circumstances, you should use a forever button in order to repeat something forever.. z4 ?# H% {& K3 l, ^1 x
The advantage of using a forever button is that the user can click the button to stop the loop/ h- v7 |7 {8 J0 W* F3 e

, D* L. J; V7 c; y- p9 G4 w(version 3.1.3)9 |1 Z* `# ~: W: [
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]: A+ n6 a$ r/ d
to setup
: ~8 S0 v, r0 z1 f7 u! D, Y   set p  1
! |4 ^* G, ?1 @% ~, `* a* w   set p  p + 1
5 D# C! _5 S7 `% j8 {1 Y1 l4 `# I   show p
) Z2 _$ C7 a, ^* Y1 h; e  t   end8 q$ k0 D' R$ a
我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
4 h  X5 H- X  |, r$ n  B' @9 X* r0 q, J- c2 @7 B7 H% v" Y* V1 L! f- i) _
[ 本帖最后由 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 ]
$ h; j; q' t; u& {to setup; E/ t* a/ @, _  i7 q1 {, m
set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]. K. ]& L. Q% @
set ml filter [ ? = 1] ml5 r" I6 W* H9 |2 O7 G9 c( @
set p  1
9 h+ n7 m$ u5 |/ z9 n! o: Wrepeat length ml [ set p  p + 1]6 A: b  y; D9 s7 v( s9 N  @
if p > 100[stop]* x% }' a$ w' [7 K% |
show p % s) U  X9 `6 q5 r, A+ i; `7 P
end
$ i4 g# b; X$ ]5 }7 f  R/ y
! C( M8 u( q; x( V- Y- }6 o3 v像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?) _0 f$ L& r, U% T( n1 {
9 W+ k! ]7 T5 \1 ^+ q& s
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加& S' I5 a8 A0 v  H, S2 A9 ~
reduce [ ? 1 + ? 2 ][1 2 3 4]
( o% Y8 V1 @- D; G5 n2 X9 z相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-15 03:12 , Processed in 0.012394 second(s), 13 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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