设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12626|回复: 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有吧; O* V0 a) ~' d; W- B) m/ h
loop: Q: g0 i7 l4 r; R! e2 a
loop [ commands ]' ?2 Y! s4 ~/ Z) a2 l& T, \
Runs the list of commands forever, or until the current procedure exits through use of the stop
: u( p. d5 x+ Lcommand or the report command.( q$ [5 U/ L3 f, j+ ^
Note: In most circumstances, you should use a forever button in order to repeat something forever.
5 I: ~) @- C4 n% P" I1 SThe advantage of using a forever button is that the user can click the button to stop the loop8 y8 L3 V. z* g% t, `* [
" @5 Y7 N* c& V+ C8 J' w
(version 3.1.3)  f8 K; ]% ]# s
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
) t3 f& o! a9 q6 p  I4 ~2 eto setup$ @" J' U1 q- ]( ?  w( C! }
   set p  1
* n6 I5 {% x% ^/ K   set p  p + 1
; ~- f. d3 A. a. V% g   show p% H3 s5 f+ p. _# @- \2 [
   end9 Z) J! q1 g( d. ~9 C; e8 _
我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
- V( K" ~9 V; T0 ?& }' r: z7 \5 H( \* l8 a- B1 {0 }
[ 本帖最后由 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 h. }+ S8 [8 g- V, c. K
to setup* p2 ?) h; u6 T$ i( d: t
set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
& Y- X2 a2 I( x  o' Lset ml filter [ ? = 1] ml
/ Q0 S$ F  c! U' V. Z9 Y2 J' R0 \set p  11 S7 J* @+ K9 Z1 f: T) Q+ c/ s
repeat length ml [ set p  p + 1]: d# Q! w' c; w9 ~; E
if p > 100[stop]  ?9 w7 g" m  ]% R3 r
show p ; J' v' |9 r, d3 N: o
end# G: X/ v% O( w

. C5 j3 E: @0 p! T  `( Q. e- }* e* ^) b像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?
: \( v. {( Y9 J6 c+ p( n% o
- Y; ^; @. r: F% C0 ^[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
  h) T, w& ~' d! Treduce [ ? 1 + ? 2 ][1 2 3 4]
7 O7 a& u; n& U9 Q7 g+ r& M相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-11 12:08 , Processed in 0.016919 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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