设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10147|回复: 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有吧
5 w9 T" F# ^  B$ s- xloop/ R' P9 l. a  {: q7 g) a
loop [ commands ]. a$ C0 R% e% V! @7 p2 L
Runs the list of commands forever, or until the current procedure exits through use of the stop6 d; Z# ~) D% V7 y( [4 I$ T
command or the report command.9 S4 K/ b( a6 K  p; a4 R3 ~$ u
Note: In most circumstances, you should use a forever button in order to repeat something forever.' ?, c- O! W: |6 g" Z1 Z
The advantage of using a forever button is that the user can click the button to stop the loop
& j" o6 ^# M/ T8 L
: Z% r/ D/ D5 R. K0 I(version 3.1.3)! k5 u; H5 v9 ]2 n
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
8 C; z3 c) ^5 L% Jto setup
3 _4 V& m. [+ L: H/ {+ o! z   set p  1
! @+ l5 t( g0 P5 H" K. L   set p  p + 11 o# e/ ], s) J$ g0 w% n9 ^
   show p5 z$ P' n* K" F; J* S4 z: f( C7 F
   end$ ?1 U+ X1 \% D. Q
我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。3 i9 F% R1 C/ o5 L# C* s( x: x

4 t8 I5 w3 [+ n( `, K3 @[ 本帖最后由 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 ]1 b0 B) {1 x+ G" H2 f- v/ h
to setup
, z6 \- U# ~# yset ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
' G  ]! M# ^2 ?# Vset ml filter [ ? = 1] ml
5 X9 l$ @8 M" n/ D1 wset p  1
. q0 G; j: }" }repeat length ml [ set p  p + 1]
* B2 d8 s" {3 S$ ^) mif p > 100[stop]
0 t. I8 C9 y% ?2 Q6 E; S! F: _$ ]show p 9 z1 m( @# d! k3 S) ]! W! \: E
end
+ u5 Q$ v5 n* k4 Q5 w4 b$ ~
( T- x, l# d0 A2 ?& M像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?+ s8 V* q8 M, E
& L$ {) m/ m& F8 c/ l1 m# G7 p
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
4 g# ?$ C1 u; H: ^4 T7 f& Dreduce [ ? 1 + ? 2 ][1 2 3 4]
3 c# a" e2 z. e  H; q8 k相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-5 10:03 , Processed in 0.019887 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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