设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12534|回复: 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有吧
( g* ?. E- @0 e, cloop( b! H8 k- y8 g
loop [ commands ]
" e4 O4 @. d& h% f" nRuns the list of commands forever, or until the current procedure exits through use of the stop. ~( K% b5 ~0 F& o( i- x  w
command or the report command.
3 Y* N5 K; n8 f/ ], S8 v- o8 ^* hNote: In most circumstances, you should use a forever button in order to repeat something forever.
  n9 p# X8 ]7 Y9 iThe advantage of using a forever button is that the user can click the button to stop the loop& ?7 m. `; H3 T( U# J6 z* n
! e" U; A, ~, m' y
(version 3.1.3)# ?" K! o5 N5 O
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]7 M: X. ^! ~- }! F- t
to setup
7 g; G: V+ O7 h+ t   set p  1- n/ H7 i! M9 s5 M" K9 _2 G
   set p  p + 1
8 R5 }) T9 R8 L3 ^   show p5 `# {" d7 k/ a% @
   end
$ v, V7 }. |$ v1 q0 z我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
: p. L" J: r4 I6 w$ g4 `
* [+ L2 w& C2 x[ 本帖最后由 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 ]* A( @' D; v  H9 `( J
to setup
/ X$ @0 L/ \" Kset ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]; u1 {8 t2 e4 o! s/ u- Q$ \
set ml filter [ ? = 1] ml) S' R4 b4 C2 [, n# j- V
set p  16 T' F8 B! p# ^6 b! c4 a; @/ X0 L! G
repeat length ml [ set p  p + 1]
/ _( P1 R* T8 q/ P: N9 d! Tif p > 100[stop]0 E/ s$ [, Q# N( }* ^# p# {
show p
1 O9 k! i" l4 _+ D# ~" I( pend
6 g; v6 |1 E! p$ i4 @8 X
: e' M& P! ?6 C4 |像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?
; l; \, s( |& p8 b; K  D$ _  b1 D2 a  _2 G6 Z8 Y5 W) F1 q3 o: X" J
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
' Q3 H: e+ t8 ~7 dreduce [ ? 1 + ? 2 ][1 2 3 4]1 F- k+ c$ ~  G
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-2 23:49 , Processed in 0.013320 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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