设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10290|回复: 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有吧# Y! c- L9 ~% E% J8 P0 M
loop% O* E: [) f5 `# w& z5 u; h. r% |
loop [ commands ]
( K5 Z" }, {$ X" T. ^Runs the list of commands forever, or until the current procedure exits through use of the stop
# p" l0 H8 {3 u& J) o0 d/ Ecommand or the report command.
! K/ r  Y. r( l# E( KNote: In most circumstances, you should use a forever button in order to repeat something forever.
* T( v* ?5 Q( ^2 zThe advantage of using a forever button is that the user can click the button to stop the loop  O( K& }+ A0 o1 B7 Y" \

2 D0 U3 k8 ?* A9 a5 F/ T(version 3.1.3)
5 t+ m. v/ N/ k! a8 r6 r不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
0 K$ o* Q( v6 V$ mto setup
7 Z9 y. _" M5 }' G' V* `/ {   set p  1. }9 ?, P! ?/ G. N# O
   set p  p + 1
! _' I0 n, [6 ?# Q   show p3 E* {  {1 [- R$ ]/ E7 L( \: w
   end( _2 O& C0 M- O( X
我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。5 {; G# m' x, V

7 X7 o+ V7 U7 d/ a- f* S[ 本帖最后由 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 ]
. x- T+ A! G  Mto setup6 v, N/ P: C, m- O
set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
& I2 h! |/ x+ g6 n& [% p* C# Kset ml filter [ ? = 1] ml
# \) V& m# d" z7 |* Z7 Qset p  1
" h3 l1 Z4 k' Crepeat length ml [ set p  p + 1]# o3 l! [1 j# S
if p > 100[stop]6 e- {& L2 ^% T4 M" p, n* p
show p ! `8 S- |+ C+ s& {5 \
end
! s, _9 Y9 X5 d7 \4 s' \$ u5 ~" d9 H. P4 s# D! A
像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?' A% T2 z$ q; k! x. f4 o' O" [2 s

9 ~0 m* I* W" s9 }3 J1 _/ H6 _[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
6 o- o# `. H7 e2 ]8 L/ rreduce [ ? 1 + ? 2 ][1 2 3 4]5 L/ g. |1 A+ m' `: q0 Y0 r
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-18 09:39 , Processed in 0.020024 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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