设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13290|回复: 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有吧
: H8 }# Z& p1 e7 q% d! Kloop6 o1 b7 l" B3 p/ s/ I1 U
loop [ commands ]) R, c$ F' r; C7 ~
Runs the list of commands forever, or until the current procedure exits through use of the stop& z6 T; g# U  e. K) p$ m; S
command or the report command.' h, c) q7 ^& c5 `" Y6 A) b/ W
Note: In most circumstances, you should use a forever button in order to repeat something forever.' F, d' U; v) g$ _3 }
The advantage of using a forever button is that the user can click the button to stop the loop7 {! e; E0 f6 d$ T$ I

5 T0 j# m, n( O* |$ e$ o(version 3.1.3)
6 x( u; ~! }* J7 d7 `' }) u+ F不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]
( p2 R7 N) q% L9 w* X* Xto setup8 `& o" d4 }" s
   set p  1. x$ [3 L: S7 G# a' n5 ?- W
   set p  p + 1
/ y6 g2 X0 J$ C7 ]' G   show p3 d, _: A3 x4 y2 p* v! \0 R
   end
- ]% h) S7 g8 u  ^( _- M  E我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
2 Q7 A' w- R" N# d2 R/ ?% J# I: T! K: Q% b
[ 本帖最后由 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 ], Z  q) q. t( m- Q' W
to setup
6 {( _6 d, c0 z6 o5 i- _  q2 P7 [set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]% Y! @4 H+ p: |+ c, M5 J9 ]- P
set ml filter [ ? = 1] ml+ A+ J9 T' Z" Y9 ]7 Y, {+ ?
set p  1; u. H1 j2 h( t' t4 e1 o7 \
repeat length ml [ set p  p + 1]7 v9 |# S; b( l4 e% ^. d
if p > 100[stop]. P! F5 `: m# b7 W0 g- j. V
show p
2 G( d% a% v( P+ m$ Wend, `2 E, F; A3 U8 m4 d6 X7 `
2 S( M1 ~' v$ t3 `3 n1 p" v1 I8 A
像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?
0 [; d( P# x& Y* K0 c8 G2 V" o$ p( O5 B( N3 P+ v6 t3 V
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加4 ?! Q$ f% i6 Y- C
reduce [ ? 1 + ? 2 ][1 2 3 4]
) D. C$ @( V* _; e* V相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-4 07:11 , Processed in 0.013005 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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