设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11872|回复: 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有吧
: [7 e7 R3 D  H3 y4 z6 mloop
$ g1 G9 v9 _( o6 ~; Z8 bloop [ commands ]
8 V. T: m9 Q+ g8 G. K. C& [8 A+ hRuns the list of commands forever, or until the current procedure exits through use of the stop* a1 I# ?9 a: _# P, o
command or the report command.7 g# K6 {  d$ X2 C: J3 h% [1 E
Note: In most circumstances, you should use a forever button in order to repeat something forever.& U& R5 i0 |! U
The advantage of using a forever button is that the user can click the button to stop the loop4 J' V5 v) ?0 N( M5 K3 ]
  F6 ?  b  m( ^5 l7 u6 j' g
(version 3.1.3)
& f$ Z# x  d; |1 L& m; d0 c不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
4 b$ \2 {) I& W5 pto setup
5 R% N- R3 I+ A   set p  1
; b1 F$ ^0 `# N" j3 ]5 l7 H% a   set p  p + 1
% ~: J- C: u- |) z' p) ?   show p( K4 V5 M+ R9 J! L% D8 \, s
   end/ u# z, u2 E* b0 e1 I" m; }- v
我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
1 c9 {- W7 f# Y& \9 a) s" ^% H3 S
[ 本帖最后由 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 ]
/ r% H0 @- y; a2 Q% w8 qto setup
# f: n! _" h9 H$ b8 O7 cset ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
. _% N' A  k) \  m, C- yset ml filter [ ? = 1] ml- l" g, W' p0 K0 O
set p  1
4 c+ N3 k4 o: x% Trepeat length ml [ set p  p + 1]
( R/ P6 V* r3 L5 wif p > 100[stop]% ?" X/ T% t7 j/ f1 }
show p + e& u% C& H5 v2 O
end
6 k; w# o' \+ g/ `9 B) x
, e) I9 U8 F& E! S1 c% B像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?
- _. T3 n1 N3 ~+ f. |: I2 }% S1 s
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
. z0 T! ~! Y6 Y5 rreduce [ ? 1 + ? 2 ][1 2 3 4]
/ Z. k' S  s; }: z相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-28 23:41 , Processed in 0.022191 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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