设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12440|回复: 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有吧
6 k+ g. l2 b$ Wloop: \  w" C9 H2 e
loop [ commands ]
! \6 T! O" m$ n, s: Y: W5 @8 rRuns the list of commands forever, or until the current procedure exits through use of the stop
! q) _! n4 B) Ncommand or the report command.
% c! V" w1 ^4 _0 K0 m- _) p: ^" dNote: In most circumstances, you should use a forever button in order to repeat something forever.
) p5 J. A5 ^) ~2 C- E" ?& ZThe advantage of using a forever button is that the user can click the button to stop the loop" Q# @/ Q+ G* E" H& _( q. j, h

0 P4 M: C6 e1 B$ R& E  v0 c(version 3.1.3)" l- B# F. m! K- W! v/ a% [* p
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
& d* }: z* [, Ato setup
$ v/ a  f: R) Q2 C' [   set p  1  V. r5 E( ~3 Z: h
   set p  p + 1
+ V) s. e" l4 O: U   show p
# m( E3 ?" J1 L3 F   end' [% a! g+ |  c0 J; F- [7 J
我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
( M4 H' y/ [1 M8 a. R8 j
" A6 I; X8 w3 z5 l6 J# M[ 本帖最后由 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 ]
% K& Z" ?4 N* R) I" z/ P$ hto setup/ V1 j3 d+ n8 H8 A2 }& o0 ?
set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
, C% I1 P3 ]2 A* \# nset ml filter [ ? = 1] ml
; G+ J% `& a, U4 Wset p  1( N/ d5 U$ V0 S, f
repeat length ml [ set p  p + 1]) w1 S, x7 O, K( F
if p > 100[stop]3 e# b5 _: l  k; g7 l' m
show p
, v/ m6 P1 j; Q9 mend
  ]' o3 J4 v2 H9 t0 j% w( g, P# h
像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?
5 |# u% Z$ ~" z. I8 v. e
; J: k3 g3 N$ H$ @+ p% B5 w' K[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
# g# V/ t1 X# F' K& w( I8 H8 }reduce [ ? 1 + ? 2 ][1 2 3 4]
2 _; T% c3 ?0 t7 u! P% q: d相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-16 22:58 , Processed in 0.014660 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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