设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12708|回复: 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 ~# }! w& {: D8 K& S5 ~loop0 [# u8 Q  Z  S, |8 M! O$ V- u% M
loop [ commands ]
7 ?  \6 U  f+ m& ORuns the list of commands forever, or until the current procedure exits through use of the stop
% r) M% O: f& K! vcommand or the report command.& ~* A4 ~1 {1 p6 c6 ^/ D/ j9 W
Note: In most circumstances, you should use a forever button in order to repeat something forever.+ I) I4 R4 J  f3 a  C1 p9 A
The advantage of using a forever button is that the user can click the button to stop the loop
/ U+ I( k. k$ W- b
$ S: ?  y' \2 l& V+ m- R(version 3.1.3)" ?+ w7 H4 y6 |6 v  k. K: X
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]# w! S! B( n% v4 H; ]3 C
to setup
( P6 Y( t* p* e$ ~# W. @( k   set p  1
1 @( R8 S& u; q: F7 F$ J$ |: `1 f   set p  p + 1
4 Z9 B: k) k9 A+ x+ P- ~) o   show p
' x  N3 X  Q' ^9 X8 _   end4 B$ Z* k! C/ y
我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
( ?: W* @3 C/ g% ~2 ?- F/ Z  u3 m( g0 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 ]* j: [/ z8 S/ a  J* D, x( v/ O
to setup& J; F& i0 q9 n5 x# q8 H) k
set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
& |& G* t0 W# i; I6 w- Y# i. {+ @set ml filter [ ? = 1] ml
( e" Y  Z! h/ A# @) V& Aset p  1
; _- r9 y, @1 prepeat length ml [ set p  p + 1]
6 @0 B  b# r8 n$ [3 Oif p > 100[stop]0 Y3 ?, p& |* M) b
show p
- t, N) V4 z% w' ]! t8 T7 s2 Oend' x$ E! o5 G7 U3 t2 l/ g: o

& n9 ]) n4 U- ?像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?  j0 Y2 F, o9 H
! u' ~8 w7 a" A  O1 u
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加  A5 \, V  G+ A6 e/ }' l: _
reduce [ ? 1 + ? 2 ][1 2 3 4]" V7 x) [! o6 \6 M! y
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-17 00:06 , Processed in 0.014041 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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