设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12266|回复: 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有吧' C* y. {! O4 C& k. x4 _
loop% \9 P+ d4 H9 b- h1 h% D+ w
loop [ commands ]
% o5 \( a) X5 [Runs the list of commands forever, or until the current procedure exits through use of the stop
3 u; i$ Y2 E8 ^: @$ ]command or the report command.7 U4 h" U! @2 k% |; O
Note: In most circumstances, you should use a forever button in order to repeat something forever.3 ?5 |, x8 I/ Q( b
The advantage of using a forever button is that the user can click the button to stop the loop; A/ F0 f8 _2 [. U& G

  ~6 G3 R2 A1 J' r(version 3.1.3)' O# G' S# T9 \' ]' b$ _( }
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
6 n6 C, I5 H1 |$ Pto setup
. {! s* r! r' `5 N: o+ I! J' q   set p  1; N0 l/ M' z; v9 [
   set p  p + 1
1 O8 v  @0 y; J   show p7 x1 M$ E8 @+ W9 O, x  e9 ]
   end4 J( R7 C5 R$ s+ U2 u4 v
我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。% j) _' K! {6 s5 n1 ~" v! f
; m! P3 M3 y2 E- b; O
[ 本帖最后由 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 ]- x  x6 n% e$ T( W! A
to setup$ Z0 r" V/ B7 _- l( {
set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
' ~( e' w! I) u" Q( P& X8 V+ |: s$ `set ml filter [ ? = 1] ml
* x" z" ]6 |- _+ C+ E4 f$ {3 ?, Bset p  1" B1 p# g: ?  J% g% D/ Q( u
repeat length ml [ set p  p + 1]5 N- a, a% Y0 g6 D0 P6 h
if p > 100[stop]
! z! I. S% t7 bshow p
' o) Q/ s$ ?" P7 l. B# s: M3 {end
* |( n) r/ v; a; `3 M
7 M) A0 O$ \- r2 p像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?
4 R/ F+ W3 A3 ^  J5 N$ \( |* i3 L/ c
. I6 F+ U+ H" D# E, j/ c( m[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加2 A& ]' q+ P: j' O0 [/ `8 B
reduce [ ? 1 + ? 2 ][1 2 3 4]4 W+ ^5 A/ d( ~1 ?) X
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-14 01:22 , Processed in 0.019854 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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