设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13184|回复: 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有吧1 N# ~/ {0 m, T& @2 u2 ]; N+ O3 w
loop7 Q0 L  U( d2 C+ R( Z# P. a5 `
loop [ commands ]' m3 h& f4 [- D4 P
Runs the list of commands forever, or until the current procedure exits through use of the stop5 U9 ?/ k/ T! Z2 q6 G$ o
command or the report command.
, b, t5 L  J  w2 e8 A' H  GNote: In most circumstances, you should use a forever button in order to repeat something forever.; G. b4 ^% ?5 ^1 o" l: E! T7 c
The advantage of using a forever button is that the user can click the button to stop the loop$ W, p8 D) X( g# l6 [
- I8 I3 F# e# H: b! R  V
(version 3.1.3)
0 w% c$ F0 @, ~- p* Z7 c7 c不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]8 q1 o2 Z$ D' f3 N
to setup
$ z" r. \" L5 P3 W7 B: f$ c9 G0 U   set p  1. S) c( O2 b0 F" @! c. }0 i
   set p  p + 1! a9 U) V, y% L: G# Y5 n7 l2 D
   show p- g5 J* s! w2 L
   end9 @! P# a7 G& z5 `% w- v
我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
! R" s" A+ n* r7 C6 u2 \( R) B+ A, P8 x; B
[ 本帖最后由 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: x9 g& k6 m* u5 z
to setup4 e/ z: L; j8 B  X* i1 Z/ y
set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]2 `8 j9 t7 N, _# M$ Q8 C
set ml filter [ ? = 1] ml
* i7 t" j$ ^* M, jset p  1
2 Z( D# F; x5 M% ?' e0 grepeat length ml [ set p  p + 1]
' r' u5 W3 X+ b: fif p > 100[stop]/ f" v2 e/ @4 k+ ^: K
show p
, g3 ?1 S# g- ]7 ^% i) Z9 `end) a( P& `( V4 f( B1 n

& y- |) L4 k" Z像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?3 f* K# Q3 o5 s7 `; s! V, v! \

3 b" E$ x/ N* z* S[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
' F; _3 k8 S$ Kreduce [ ? 1 + ? 2 ][1 2 3 4]. o( N" }' q- `" |$ u3 N
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-20 02:23 , Processed in 0.013254 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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