设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12465|回复: 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有吧9 ^; S& W0 E9 H8 r  [
loop
5 @- @' ~1 R0 nloop [ commands ]
, T, @' {; i5 T, D/ M# Q+ c7 ^$ _Runs the list of commands forever, or until the current procedure exits through use of the stop
: W4 l! M$ S  i* H% v) Ncommand or the report command.( V  j1 C, T' j* B+ b' g$ k8 H
Note: In most circumstances, you should use a forever button in order to repeat something forever.
! l1 U* Y! d" Z5 kThe advantage of using a forever button is that the user can click the button to stop the loop
( f5 K" p* G& O6 w, r/ Q) _% O- i
2 U; n: L5 I& D/ n(version 3.1.3)$ R, e6 h; d; g% ]$ H+ z6 ^
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]" V; R1 N. }! B  y( L
to setup" h8 _  ?8 r# ?% D+ J& T: n
   set p  16 J" _. S. l) M3 u) S/ ^; r
   set p  p + 1
% {* N) _* W9 P   show p. U3 V, Z* J- |6 q$ Y( p3 t7 S
   end
# M5 m3 k4 R+ [% E$ @我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。# e2 Z/ j* }9 j" H9 A

" `: Y! Y$ ]/ E( e% x. A- [( W[ 本帖最后由 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 ]
0 L4 e. @1 T$ M/ Tto setup) ^! U" {2 c: o( S9 i' m
set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]" |0 }8 t" b6 a/ ]6 R, a  z
set ml filter [ ? = 1] ml" I' u: @6 g) C# l' ?3 o
set p  1
3 R% A6 z4 E9 j  xrepeat length ml [ set p  p + 1]
6 f/ v& }' K- F2 [: f3 o+ mif p > 100[stop]
# C) N3 @& a1 b, A" Y2 Jshow p
6 B9 q% O! ?. |  Yend
; ~! m0 a& ^( g  z( |/ J; m; a/ A
1 V) \8 P" ^  w7 Y像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?
. f( n) `; `4 F3 w/ h( L0 c4 q! O4 p+ s7 V& a' ^
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加: F& M$ j, e4 [1 r$ y7 U; }: l
reduce [ ? 1 + ? 2 ][1 2 3 4]5 g) y$ Z2 k, z
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-20 00:22 , Processed in 0.022641 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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