设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13541|回复: 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有吧
& K; Z# e& d9 X2 v# K3 w$ l' uloop( @3 J, Q- W6 p/ Y) \- g
loop [ commands ]) \% B* Q5 o! r6 n8 W/ K+ s
Runs the list of commands forever, or until the current procedure exits through use of the stop
" A$ v+ K4 W1 X9 u6 C5 r$ hcommand or the report command.( o$ G8 J3 E; W! ]$ h% E
Note: In most circumstances, you should use a forever button in order to repeat something forever.1 d. Z$ Q. Y, x# m5 Z
The advantage of using a forever button is that the user can click the button to stop the loop# E# `) t. _# l) k

$ d( d! B. G: |1 {(version 3.1.3)2 A; i. P& q' l. G) i, ]% g
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
" o, w% E, Y9 s9 `to setup
% c  U, m' ?- V1 c3 u1 z3 R- K   set p  1
& `% X% t( a9 l  d9 W; E6 {   set p  p + 1  d$ S( s. H/ b2 r7 ~( l4 Q
   show p* p% D. X# D5 L5 S( W7 D3 B! B
   end
; q% H  u! P8 N4 ]  z; j我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。) U* w  V2 e) Y: Q" k1 b- |( b1 t

$ ?+ I; L# y  f9 M1 [7 u[ 本帖最后由 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 ]
, w1 N3 M4 ?& C; n1 u' N1 Q: wto setup: |8 h& ^- @) f1 k& e2 R
set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
; Z7 r8 @. D- f: p2 @# e! yset ml filter [ ? = 1] ml, z  {! [# Z3 }' D
set p  1
5 W% A0 V; R, p2 prepeat length ml [ set p  p + 1]8 R1 T3 g/ B% v% y1 I
if p > 100[stop]
' I5 P9 d; S5 F' G5 C  q2 g3 Lshow p
/ f/ n: [% y9 x9 N9 A+ A5 Xend
# l, n: q/ Z& b/ H& v
" K6 v) A" Z2 t" P8 U5 p$ [像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?
0 W* E' W% i2 z& ^4 B
! w, E; U  @0 N2 w" _+ V% i[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
0 U- q. \( b5 ~3 o5 Breduce [ ? 1 + ? 2 ][1 2 3 4]4 Q% w2 [$ n0 ^. a
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-25 21:49 , Processed in 0.015737 second(s), 13 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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