设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11522|回复: 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有吧
  M+ r9 @% s0 n0 t* _! r' r; f& g7 Kloop2 e7 n, W: b1 A' X
loop [ commands ]/ F" Z+ u7 K) m
Runs the list of commands forever, or until the current procedure exits through use of the stop
5 S8 [- _. j$ y# ^+ icommand or the report command.
9 ^0 }4 w/ @9 N& F5 x5 PNote: In most circumstances, you should use a forever button in order to repeat something forever.
, A, c( k2 r* h! aThe advantage of using a forever button is that the user can click the button to stop the loop8 k9 a7 U* B% G
, j7 j& o% R# n: q
(version 3.1.3)# ~/ H" O; y# k" @
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]/ C/ k3 e8 z% F  U
to setup! Z2 V! q; d2 v- O
   set p  1
9 f# d& ]8 W' [  Z! J. C   set p  p + 15 n/ ], Q! z# B8 m
   show p
) o  x6 i! K6 N! t   end
/ |3 u: i# n9 c6 g! Z' I我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
0 E+ q2 C: l! W, p- P& F/ _
0 M- i+ ~/ M3 `3 Q0 @, v[ 本帖最后由 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 ]
7 a; K5 A3 p  ]7 U9 \to setup
% U5 X! I/ k3 l8 P, ]; ]set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]) T& c9 B3 l8 b
set ml filter [ ? = 1] ml
" c* |0 ^3 A: [+ w4 g1 H/ Sset p  1, y8 k9 }( @$ x1 j& L; A+ \( o, f, ?
repeat length ml [ set p  p + 1]( f  G5 u& r( [# `& O8 O
if p > 100[stop]
& E4 V! t, ?* gshow p 5 x) O5 E* \, a& E0 g
end. j5 g) f, p$ G4 I, k/ W  C5 I2 w
0 A# o$ P1 f  c* \0 T4 ^7 {$ ]' W; }
像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?6 ]' ^' E$ C7 N8 P5 y( ]& t9 b8 p
# w) M- T. ^8 _7 x6 z
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加% U: `& z# C7 p/ n: g1 k
reduce [ ? 1 + ? 2 ][1 2 3 4]# J. ]* {: o- E
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-10 13:16 , Processed in 0.020949 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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