设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11826|回复: 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有吧" y3 _3 |5 o9 J( r3 q: |" J
loop3 Y* p7 D- y* C# S- q
loop [ commands ]
' A# Z% e3 S5 `7 H/ J8 T% uRuns the list of commands forever, or until the current procedure exits through use of the stop. g7 b3 H# H3 j  t; I, u
command or the report command.
# |4 O5 ?# o& Q: ^' _Note: In most circumstances, you should use a forever button in order to repeat something forever.8 B& a% V6 X# s5 i( w
The advantage of using a forever button is that the user can click the button to stop the loop
, K3 m4 S# ~- @# B+ V& [0 S* a- |6 n/ J) U' G" o3 l
(version 3.1.3)
' `3 z4 m3 m. a( t. L6 T+ a8 k9 c不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]7 Q! @, w! I. `  N' w9 t, h9 |
to setup. _) y# [8 _4 a2 l+ T$ _& n
   set p  1
" R' b- a0 \# ]4 R   set p  p + 1+ e/ n5 x2 @6 S$ c. m( A
   show p
+ s/ p; D; g  R7 I6 L. b   end* H5 {8 F! f# J9 V
我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。0 o0 F; u! z" d1 M! E# v7 b

, L% {: z) ]0 N: m1 \[ 本帖最后由 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 ]1 t% s4 c7 Y+ i# r3 Q# [- k
to setup4 q% ^8 l5 A% \. g
set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]8 `. s. \% `& i3 y
set ml filter [ ? = 1] ml) X+ A: }' q/ J
set p  1
6 D9 s1 ^; M. R. Grepeat length ml [ set p  p + 1]1 \* V# q6 c& `+ L1 Z4 U1 R
if p > 100[stop]
, ]. A1 e% U' @" [show p & Z) p* ~2 Z# V: F( G( c! K4 K, H* [
end
7 o  x0 M  w- n. \8 J3 K+ i
1 I- M# `+ M0 \, g  J像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?
$ h( F' p' g. j4 g% C$ H/ U8 r
# U# ]% S4 M+ i: g; \' B[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加# ]7 V1 ~: v' C; a) d# i4 q: f/ q
reduce [ ? 1 + ? 2 ][1 2 3 4]1 Z% Q! e7 L" }& r* B. r* T! h
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-22 18:39 , Processed in 0.014476 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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