设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10268|回复: 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有吧$ R' U. l0 @* ~
loop
- v' |& e& ^$ I5 l  t. j* m. Ploop [ commands ]
( z' t% U5 V' ]; C7 z' o& ]0 yRuns the list of commands forever, or until the current procedure exits through use of the stop* p9 D8 p2 y, P- C) V; L$ d& b
command or the report command.
. x1 R, }/ U0 a" SNote: In most circumstances, you should use a forever button in order to repeat something forever.
$ q" Y; u$ e- H  ~The advantage of using a forever button is that the user can click the button to stop the loop
8 d$ ~& \% T9 Y) I6 q, B" P1 y: H) N% l8 i6 b+ u+ u$ U  {6 X
(version 3.1.3)4 s& o( n9 C$ M  I1 i; S* ]
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
$ [- ]7 k7 P, L4 s' n. `to setup- h9 b4 k. R3 f* V: a' d# h
   set p  1
! z9 H4 R8 x7 k' |   set p  p + 1: d7 C7 i: b# u, O6 r1 ~+ G
   show p
- i( v5 ^# e) n! [0 e& D! v   end
! o8 O, c+ M8 u) q( `% u- @我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
4 s0 C5 t/ q3 Z8 ~$ G
/ j2 ^" m% x2 I' A[ 本帖最后由 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 F0 l  n# M2 k$ t
to setup
1 j- E; {6 {! g3 }" c5 _set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]3 k( X3 \7 F) g9 ?) H
set ml filter [ ? = 1] ml
! g9 z1 ]1 W- L  x4 qset p  1
8 e, Y5 B6 c( o7 urepeat length ml [ set p  p + 1]' R- N  F. r4 C0 z3 f' t7 p. H
if p > 100[stop]
# L# e& u7 Z1 t" M/ S+ \show p
3 N$ b6 V4 x: D* k$ O1 cend
( h9 }' u7 j% U
* C; T0 J9 Q' i5 t像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?
( c/ A3 ?% M1 I  J$ r2 w, S/ E4 Y, E) l0 m
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
! q* t3 \. E8 T2 o6 R: W5 ureduce [ ? 1 + ? 2 ][1 2 3 4]
, S# t3 ^; N& m相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-15 18:22 , Processed in 0.017221 second(s), 13 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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