设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13336|回复: 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有吧" q6 o7 u7 ~8 }0 O' R
loop
7 \# W; P. @2 l% _! Wloop [ commands ]- H( Z" H0 Y, O. R
Runs the list of commands forever, or until the current procedure exits through use of the stop3 _/ I0 `0 G( s0 y! R
command or the report command.
8 j/ {  n! n) a' INote: In most circumstances, you should use a forever button in order to repeat something forever.1 o4 v# {, e9 ?; |2 u  u
The advantage of using a forever button is that the user can click the button to stop the loop" L7 l0 q/ x1 o8 B, |: \; ~% C8 Z2 Y
# A( W# Z! w) w& s
(version 3.1.3)7 d: w7 s1 X0 d4 C
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
* Y, v  ?; Q9 Y3 l. R2 U% sto setup% b+ d7 S; h9 B0 r+ y; D
   set p  1
5 a  V+ W6 ?- C; f# q. W   set p  p + 1! K* w( @' J+ k* n6 _
   show p1 V; T7 X/ Q1 y3 C
   end
7 F; G+ A7 n: }( x5 m+ F+ E我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
7 ]( B. k$ M0 s+ V# M  k  F5 ?4 B+ u' Y2 G- \
[ 本帖最后由 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 ]' {' B- Q- I* }+ h0 K+ k7 U
to setup
) V: w- U) |1 z( _3 l% Xset ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]
6 Y$ n2 m' L3 F; a8 w  F# ?" ~set ml filter [ ? = 1] ml
3 n) U9 y7 s7 g9 F( `% xset p  1
  Y: P  L. X3 x2 w$ erepeat length ml [ set p  p + 1]
6 B5 E+ l1 a+ P& gif p > 100[stop]
+ P3 M5 c( J5 c8 A$ |show p
3 [' p5 m2 C7 B+ k- z# y6 Lend
% i3 v' `, e7 `4 F9 u! ^8 z
) r% C/ X" Q# @  k* H像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?
1 ?$ J$ S" Y* Y8 z4 m: ^- L* Q
" t$ r, |3 T' M  i[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
7 k9 t9 p' N, u+ {: R' L$ Ureduce [ ? 1 + ? 2 ][1 2 3 4]
8 p3 E+ B# z* l! q4 l! d6 O4 l相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-10 15:32 , Processed in 0.014909 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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