设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10250|回复: 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有吧
6 M* \: {5 s0 h8 ?loop7 V$ Z; O* p. e8 s
loop [ commands ]
' E8 y8 P( L* E9 ORuns the list of commands forever, or until the current procedure exits through use of the stop; Y- Q; {5 l; ]2 e
command or the report command.3 d3 P: q' c2 V: B! Q
Note: In most circumstances, you should use a forever button in order to repeat something forever.
9 l5 s6 Z* u7 O, a4 GThe advantage of using a forever button is that the user can click the button to stop the loop
" V# D; M  Q/ }/ ?+ H  x5 K  f  R" P# C( j! P- t
(version 3.1.3)
! C0 t6 M, n6 S" Y+ k不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
  W( u5 U4 F5 F3 Z" w. U( M. N# Yto setup
3 S% o* ^! B8 _% a" v2 P   set p  1
9 a; o- W8 J0 E. g' U2 A/ N2 S# P   set p  p + 15 W+ |1 i. {( l2 I# {+ L1 b
   show p& R& {: O. g% `" {. X* ?: U+ K
   end8 s7 ]/ y5 _5 m2 ]" C$ @
我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。8 K( `6 j: `2 E6 i7 l4 e! Y9 t
  X1 V; V; ~4 f5 F* ^
[ 本帖最后由 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 ]
: \9 e3 _/ L6 B$ e; ]% Kto setup5 L" V1 V+ _9 u: Q) W1 Y
set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]  a3 X: e& s  y3 N
set ml filter [ ? = 1] ml
. q3 f7 I9 U5 c" wset p  1) A( ]5 x9 H' s
repeat length ml [ set p  p + 1]
; U/ ]8 G3 e, C& |8 s) Y, ?0 _if p > 100[stop], ?* x0 {7 i7 J* ^) C5 C3 q
show p   W- b0 @( u' C! p0 T3 U8 Z
end0 `( v" A/ @  M$ H5 y- c7 Y

5 }* ?, t6 a6 |: Y9 L9 g4 l像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?
4 e( d- f% j# {% M0 c( n' |$ k; {/ S4 s+ r7 l& D, o) H
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加7 @5 V- s4 t9 K4 M( e! H
reduce [ ? 1 + ? 2 ][1 2 3 4]
, B* E/ h6 H; T- i+ i相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-14 03:29 , Processed in 0.013311 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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