设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11491|回复: 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有吧, |" u6 h' _0 w5 E5 C
loop7 S4 d9 F. V' e# P, |+ l( o
loop [ commands ]- g: Z3 ]' j! ^
Runs the list of commands forever, or until the current procedure exits through use of the stop& Z' u+ J$ G( Z2 G* k
command or the report command.8 k8 M; P- S: k2 {
Note: In most circumstances, you should use a forever button in order to repeat something forever.
' G" E4 m& j. k5 _" q% ~6 vThe advantage of using a forever button is that the user can click the button to stop the loop) s, y- V. K, v6 D) Z, }7 }
% v; R0 o, f1 A- X
(version 3.1.3)' z3 U" H, Y: n
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]6 O2 Q- \1 Q3 v" Y* {. f2 U
to setup
2 }, m  w: r6 X9 P0 o& K   set p  1' f. |& D2 u" Z9 G' t; n/ Y
   set p  p + 11 e5 N' D$ P8 y" M) E1 M
   show p
$ {2 ~/ _2 n/ F* t! L$ k1 A4 u2 G   end
3 Q+ S: g8 i9 g# Z7 L我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。  a0 k& h, {) b% N" x+ M* G

2 [: x+ t: b' Z8 o$ p2 b4 u" U/ L[ 本帖最后由 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* j* j! B3 m) U& q& A' }$ C* U9 f1 fto setup
& l2 p: c4 t- K8 K  Q; g$ o" H7 uset ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]- a8 f- o  w4 p
set ml filter [ ? = 1] ml
6 Z+ _$ R5 L( D7 K4 x4 Y- k( c% \set p  1
* @. x. j1 j0 L! hrepeat length ml [ set p  p + 1]. i8 ?* L+ B* O! `' p% |3 r
if p > 100[stop]1 H! {0 N" V3 P8 v& l
show p
! x/ a* f  u  k" Qend
+ f# ]: t) G6 n8 S6 D! N8 C4 Y, g, _8 W, S+ G8 n; `* G' a& \
像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?7 Q% X. t& M: n
9 Q5 d4 u  b2 f, Z9 |3 R- Y
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加' L0 X7 I! P. g- @$ N2 c/ g
reduce [ ? 1 + ? 2 ][1 2 3 4]
5 I! N0 e) K' r% Z3 J# l相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-8 08:58 , Processed in 0.017815 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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