设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12309|回复: 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有吧
, R7 W( Q5 H" q. t% F7 y) Cloop0 V" B/ ?1 K. t  S$ q
loop [ commands ]
& R9 a- c9 H, X0 SRuns the list of commands forever, or until the current procedure exits through use of the stop7 {9 f+ q  ^! F% G* @5 G7 U
command or the report command.4 a1 S1 O' _2 t& Z. ]% Q
Note: In most circumstances, you should use a forever button in order to repeat something forever.
1 L5 Z. y7 {9 I& g# S3 t# K9 yThe advantage of using a forever button is that the user can click the button to stop the loop
8 I& x3 h& Z! N( d
" g2 K2 j" a5 }  @1 h2 j( C(version 3.1.3)
6 |. ^: o& h3 `+ o5 n$ t9 R不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
# r# A; C2 J% g8 C  Wto setup
( u5 Z- X' J; H9 U* F; h5 ?3 ^5 U   set p  1
% Y& l$ S7 C: Q   set p  p + 1
" Y- v; P8 Q* K  U' w3 ?9 r   show p+ k4 T# `/ k3 ^
   end
  h& B7 f# t( ~# c( B! n我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。) W- y9 t9 T2 L% h, q% M/ G

0 r+ q1 ]9 U" |: d; Y[ 本帖最后由 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" G% K- u( G# b! I4 C
to setup
2 T$ u. C8 B: g6 ~set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]2 f" F3 L% I  {# b: {  t
set ml filter [ ? = 1] ml) L! _1 o& l0 s. C" H, ~9 f$ P- Z& e
set p  1
1 X1 x# H' ^3 L' `1 d: B1 irepeat length ml [ set p  p + 1]8 n! H4 O  n6 J% P, @
if p > 100[stop]
5 r$ v- z5 U8 Jshow p
3 R3 V6 Q3 p& q* q; H+ G4 S) Nend
% M6 S" Y1 L  L! a$ O8 Y3 x% T
& z- A( D! ~4 s5 x5 J2 `; l像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?
/ K8 z, l/ C* o) G3 y  a
9 y' i4 i! L1 j! ^4 O  u[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加: F8 ]% g5 }) `. |
reduce [ ? 1 + ? 2 ][1 2 3 4]
- n0 c0 e' E+ ?3 ^! \相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-21 16:48 , Processed in 0.019657 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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