设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11821|回复: 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有吧
8 l, c" e# A- u5 _/ N$ E6 Wloop
$ t, {) Y' c- T7 y8 oloop [ commands ]/ s+ ~$ i/ V* S# b+ C+ D2 J$ V
Runs the list of commands forever, or until the current procedure exits through use of the stop1 a# I6 ~* x, F- R
command or the report command.
+ n- W6 L/ J# V% X; U% k( _Note: In most circumstances, you should use a forever button in order to repeat something forever.
9 J* V! n2 K: }: W9 b* n* XThe advantage of using a forever button is that the user can click the button to stop the loop$ k  T5 Y+ G6 o  |/ j# V

1 P! z* U( y% C7 K3 t" U2 |(version 3.1.3)3 U" m( j0 L* f' Q. O' u
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
2 g) P! Y+ n) n, M" _! Fto setup% @% S) ?+ ?2 W+ g* x7 _0 C
   set p  1+ Z/ n1 f, l+ m# c
   set p  p + 1
* U& [$ j# ]+ L. s$ a- d3 S' n   show p
& u0 q3 I8 U# {3 V9 H; d8 u   end
5 b4 O( @& C6 s; f. M- l我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
( D, b4 m8 q; u7 z+ X# Q+ l  [  T' b" X
2 s3 j2 _6 I7 {' B[ 本帖最后由 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 ]% M3 g6 {$ Y1 P/ h/ J) b' L; ~) f( w
to setup
/ Z* W# [  k$ i9 N" J/ L0 L7 o! vset ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
8 H( [. E' }( eset ml filter [ ? = 1] ml
1 v$ ]. R* m- X& ^( A1 V) ^4 c9 P% i0 Rset p  16 a; ]1 \, h7 h8 E$ q" d
repeat length ml [ set p  p + 1]
! J! m4 |* \! v, }# Q: R* nif p > 100[stop]
2 a/ G  `* z4 `" g% L6 M6 `# Sshow p
0 d1 z" N* N! A: Z9 y! P4 Jend
6 S& N: C$ r9 s
  }3 f7 W( |& [. O像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?1 I& g* ^. m: E. r; s' C: h
8 z4 U9 r, U9 b+ g( I& Z/ M
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
6 M0 v1 \) e  u) Z+ F6 i" b6 a2 rreduce [ ? 1 + ? 2 ][1 2 3 4]2 N% h- [1 L- e' m/ B
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-22 04:59 , Processed in 0.016444 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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