设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11453|回复: 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有吧- M! K; i6 p6 S6 t, g' h
loop
2 S% m" _  K/ ~5 y5 `" w) Floop [ commands ]
! F) P2 i. [, XRuns the list of commands forever, or until the current procedure exits through use of the stop
) ]3 i' T8 u# f4 `  U0 Vcommand or the report command.
( K0 q9 C, k; w; e* J. b7 K, u. nNote: In most circumstances, you should use a forever button in order to repeat something forever.
/ u+ @5 O9 z  ]( _( R/ FThe advantage of using a forever button is that the user can click the button to stop the loop2 O2 i" A! R; [8 H3 r
+ _1 c$ @% v. e
(version 3.1.3)
$ W2 M3 {9 j- o# w不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]# p4 N' `* o7 z/ C2 O0 B; _; G
to setup% y* \9 L9 u% l3 S( w
   set p  1" h  W+ A, A' s/ F9 G" V6 }* ?
   set p  p + 1
) |3 T  i: f  @% s; S( Q1 ?) M% P% c   show p
  u8 ?/ @6 R, @/ v- k   end
2 }2 x( o7 o0 a5 Q我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。) o( l/ O7 E4 \8 y# d9 c7 ~' Z

9 O7 i: s  D" d9 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 ]+ t& h5 L0 q6 W* R( h: e" `! k" _# D
to setup
" V4 ], O- E. L3 I- i2 Xset ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
' `2 S3 S/ n& d; ^9 M2 p! H5 p. j) Iset ml filter [ ? = 1] ml6 V" |9 C4 j  ?6 j
set p  1$ n& }% O) E, ~% A5 y3 d6 w
repeat length ml [ set p  p + 1]
- |/ k' d( d$ k, j, ]; G! |0 `3 F1 T. oif p > 100[stop]' K6 i9 G  O% B, ~0 i: ~
show p / w1 [  F! w2 J4 n
end3 E' H2 N/ b( O" u. G5 d0 Q& a# n
% L# \+ H4 f$ T( r; q
像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?
) s$ v1 p& F- w. [" p/ A
) f  z8 c& Z8 v( \# a[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
, m  {" v& D9 {% a8 lreduce [ ? 1 + ? 2 ][1 2 3 4]
4 X1 E1 W8 J. G4 [2 ?0 i. E7 w# M相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-3 03:04 , Processed in 0.017017 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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