设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9644|回复: 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有吧
: E0 H7 d, P1 t' K; ]% t9 i7 o% qloop+ k* D5 V. }/ N! g) a- E! z
loop [ commands ]$ t& N5 e( Y! j' U& A  M  H6 L
Runs the list of commands forever, or until the current procedure exits through use of the stop
4 `) q5 K# _0 ncommand or the report command.
2 B+ O1 L- h6 X' P7 v: k+ v' }Note: In most circumstances, you should use a forever button in order to repeat something forever.
1 o3 T: E( e$ xThe advantage of using a forever button is that the user can click the button to stop the loop
5 c- z* A) q+ @, w: z
: g0 @9 L: Y% C(version 3.1.3)
* D! s, T) u5 F7 v  j不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
5 J3 o- b; V9 J2 |& Lto setup
% Z) s8 B. l; b2 r) ~   set p  1- g9 v5 @4 h7 G% b0 L& f
   set p  p + 1) z$ z4 w1 ]0 i' P+ x. L, l6 u+ F% o
   show p$ l6 T$ E# A, o( ^- ^
   end
8 ~% p4 k* f6 A* M  v0 f: f1 w7 g# v我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。* _7 l5 X( a9 Y/ z: k

) k, i. ~  l3 s2 L' W6 w2 E; E[ 本帖最后由 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 ]5 t& m8 u2 D' M" G( t- s% m
to setup
  H" q0 C0 o7 Z4 }5 @3 r& |set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
" E+ H$ M9 D; b$ k7 M2 f" B  c' Cset ml filter [ ? = 1] ml
) J; R1 ]* \8 [& _2 p# Z+ }: u! ~set p  10 L+ G/ m. ?5 t* F
repeat length ml [ set p  p + 1]
7 b1 L9 F2 l' }; Sif p > 100[stop]
* q) e6 d& D8 u! b2 r# c& u1 ishow p
- O4 H+ j1 i. M# I; z" ^end6 V# u4 j! }8 ]4 W8 s& y

' {9 p  X  m( \7 {$ t" B1 g像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?
3 d. c/ i, r' {8 Q0 w7 j# a' E4 Z+ c) R+ F* H
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
/ ]2 {7 q& P/ N6 r- creduce [ ? 1 + ? 2 ][1 2 3 4]
9 [9 V2 B1 v0 @" v& l# d相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-7-11 16:03 , Processed in 0.016492 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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