设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11554|回复: 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有吧- W5 b7 M' T" A% h' M$ x: s. R
loop& I7 i1 b3 @: Y5 q  \
loop [ commands ]
9 k. l/ O% Y0 U0 QRuns the list of commands forever, or until the current procedure exits through use of the stop5 o; G. T+ R$ M) C2 A. J
command or the report command.
4 X! `7 h! Z2 ]  T9 k, U1 @Note: In most circumstances, you should use a forever button in order to repeat something forever." j* c& S. Y4 `% J# U
The advantage of using a forever button is that the user can click the button to stop the loop
( g' D" T7 m+ h7 l6 S/ ]1 G( U. ~2 ^7 [4 A
(version 3.1.3)
$ }5 V6 Z  t: L8 n" e不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
  j& _- h: E# F; X/ Q& \4 o  Z& rto setup
4 S6 z; g' O8 u/ a   set p  1
/ O. o0 t6 I! K( h! {$ l   set p  p + 19 F; p: `9 i$ y1 K6 n9 }+ d
   show p
7 W# l  \. r4 j4 M' z8 `   end
/ G3 a4 Y' l7 D我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。# m8 e" y$ l5 u! {6 ^

5 g, W  S# T3 H9 f[ 本帖最后由 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 ]
8 M+ m6 F0 f% U& H- ]to setup
4 c( t: G0 {9 i- A% c. a* |. Yset ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
" G$ h- A% f* a8 x% ~; M, R# h9 D+ C  v1 fset ml filter [ ? = 1] ml: D0 {" |* U! G2 j
set p  1
6 C; ~7 T+ t% L4 ~+ F7 _* Lrepeat length ml [ set p  p + 1]
7 \1 ]' r8 r* Nif p > 100[stop]
1 R: U! Y4 b  y/ Pshow p
; B0 y6 Q- Y; W! q. mend$ O# ~. \) v% b5 `, J' E

6 m! L1 J  J: {) G; K; i) W0 P8 m像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?9 a" a1 ?  |. @) v( s- b2 E

% ?4 N/ x- Z  `4 @& T[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加% |+ V+ {5 A" ?# D. r* r4 k$ p; G& x
reduce [ ? 1 + ? 2 ][1 2 3 4]+ _4 M5 p, ]5 d1 D! k1 g* p3 j' U
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-15 17:52 , Processed in 0.018054 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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