设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11698|回复: 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有吧: |( F5 i1 q. y3 {; T2 z
loop
' a2 {, P6 N2 a, s9 ^9 Yloop [ commands ]
, ^/ k5 a9 q& z# p6 e* y. kRuns the list of commands forever, or until the current procedure exits through use of the stop
: I* {' e# f, N5 ~7 p; H) ~0 O$ ccommand or the report command.
+ ?7 \# W7 B9 ~" s& K& uNote: In most circumstances, you should use a forever button in order to repeat something forever.0 @: t, P' p7 z
The advantage of using a forever button is that the user can click the button to stop the loop
; u9 k' x7 l  m" ?: w% h' ^+ L+ z6 D( T% g( e4 M
(version 3.1.3)
. E6 O) R  a# I8 e9 ]不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]! t( t6 ~7 y1 C' N+ p. r
to setup
  F) O( B, w2 w  `+ o   set p  1
. {& D* @5 G& `$ \# @& G. A   set p  p + 1
3 t, s! M" H# D4 K& V$ ]  \   show p
9 V  t2 f- w6 L   end
* i  O, G( w# N1 d2 H/ w我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
, F/ H3 \5 G4 P+ V  j) P: p  ?8 n5 }% h
[ 本帖最后由 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 ]
) ]. `3 h$ e! {- Qto setup
0 w/ X7 x2 q. [2 Q7 iset ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]$ J) f' m8 p) e3 k/ P
set ml filter [ ? = 1] ml5 ]" V* B, Q- g. d- i
set p  1
# L8 ?. ]9 j3 Z4 S1 T: grepeat length ml [ set p  p + 1]8 Q! @8 q! [2 m) h% y+ ^: P7 m
if p > 100[stop]% q4 b! p9 a; S2 _
show p
( J6 d2 r% Y4 }3 S# y) Qend: m+ Q; \* z  C
  |* u# j+ w0 W) g% w. ?
像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?% E- J  q9 U  n" _. c

) @3 }9 M0 k! W3 Y5 a: g' y[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加( D$ f( t# ?' a+ @
reduce [ ? 1 + ? 2 ][1 2 3 4]9 e8 O8 [0 P5 s8 x( }1 q9 M
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-7 09:15 , Processed in 0.017236 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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