设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11873|回复: 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有吧
3 C* |" I! c! l. M! nloop, H( X) c& H# q9 x8 B- g% M
loop [ commands ]
0 Z5 f) j4 w' ^5 R2 G6 vRuns the list of commands forever, or until the current procedure exits through use of the stop
  G% F& D& O$ J  I8 A' U: Mcommand or the report command.
4 ^, r# d. ]. sNote: In most circumstances, you should use a forever button in order to repeat something forever.) e1 T; a( ]! i# [& s
The advantage of using a forever button is that the user can click the button to stop the loop5 \& w1 N+ t- r$ D  b6 h

. b5 U4 A& `- C, }(version 3.1.3)
  t$ @( O+ w7 S- C, P% [不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]% n: ^4 Q( a; ^: \
to setup
* q) U' C7 I$ j3 z   set p  1* K" O# G+ f. y  i
   set p  p + 1- X2 N; j2 a% \- z
   show p
+ l+ {' J- p7 ^   end$ K+ B# V) [5 M* J- P. d
我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。0 V3 ~  W! S* z4 t& X, M7 M
8 F- c8 g0 d: _! D0 x5 W
[ 本帖最后由 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 ]# Z6 I  ]$ n. K+ m
to setup. b7 @* |  ?6 U8 m" q
set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
% t: S  a) q6 J, ~/ |; s* D% L& uset ml filter [ ? = 1] ml
( U2 C, O8 z  V2 m5 ?2 I, F; U9 ~set p  1% D& i# X6 g  \  p' ?; ]8 u
repeat length ml [ set p  p + 1]
( j5 t3 C9 `& J5 h+ {2 Gif p > 100[stop]. ]8 t9 X* P/ ?0 N$ F( Y
show p
4 V: @! V8 V  o- |0 B) `end  M+ C6 ]$ H3 r8 y/ e: e$ [- D
. u& c; g; P9 H% L& E6 O: r
像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?
& r3 P1 r0 s& }0 g  R9 {2 K/ ^2 z3 {- r# ~
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
7 H+ s4 h8 ^* Y+ [" sreduce [ ? 1 + ? 2 ][1 2 3 4]
1 P$ X7 i% K( j相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-29 00:14 , Processed in 0.019729 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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