设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12992|回复: 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 n7 U8 p) S, w: ], y2 Yloop
7 g3 u% l1 c# t9 t& @loop [ commands ]
1 K3 a8 \1 F+ I) P- N9 LRuns the list of commands forever, or until the current procedure exits through use of the stop2 X2 s% T# H! N* s- s
command or the report command.
  W, `8 [1 u, uNote: In most circumstances, you should use a forever button in order to repeat something forever.
4 b8 A3 ?2 a2 a0 s/ N* WThe advantage of using a forever button is that the user can click the button to stop the loop
# S7 {) ]# E4 v/ Z1 s1 z5 g
2 T/ R% ]8 V6 T3 p2 C0 y(version 3.1.3)
6 x5 w1 W7 i8 L& D: I6 L" ~不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]5 i5 ?( \. l- N- U1 b% Q
to setup
% J# \  K) Z' \$ J5 c   set p  1
7 \/ h: A5 W" Y1 d) C% ]2 B/ r' R   set p  p + 1
+ c) \, H; ?* u+ {6 a# u$ }* L   show p
2 [) g5 Z- [$ U0 s. E! [& g8 j   end
; U# O& @3 d) V我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
8 e( H& ^  W. H  {, [
) W( n. b% T6 z" k[ 本帖最后由 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 ]8 T7 ~6 k0 g8 q# |, [; {
to setup5 I6 R9 p9 v5 k, y! F
set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
4 Q% T3 h9 M$ S0 L9 t' ~% {! D8 m( O0 jset ml filter [ ? = 1] ml
% b/ n0 x2 ~* m  fset p  1$ _( Z/ X1 l% }/ b8 v: m# E
repeat length ml [ set p  p + 1]
) f) M% x% Z+ a. c7 ^# Tif p > 100[stop]6 V+ P! [  w- w
show p . f( ~% q( N% A$ o2 v5 k
end) g" Y  s2 Z" v
( J% ^% s! ]# B
像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?
/ s. D. [$ o* q. q
: C, ^4 y6 M8 O[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
% U- X- _( ]% t: `1 G* creduce [ ? 1 + ? 2 ][1 2 3 4]
3 ]% z% x1 f" O& x. ]4 m相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-1 07:29 , Processed in 0.015659 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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