设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11909|回复: 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有吧
$ V) |- a7 ?# @( ^4 n. x0 aloop
( z2 n' y$ |# t( y) j% @loop [ commands ]
  g! v3 B& B5 h3 ?$ L0 vRuns the list of commands forever, or until the current procedure exits through use of the stop
) e/ l) K. D2 `3 s' Kcommand or the report command.1 g( j3 D( f& {3 _8 T0 P- J3 J
Note: In most circumstances, you should use a forever button in order to repeat something forever.
( P: \# V& d5 i! mThe advantage of using a forever button is that the user can click the button to stop the loop8 i4 Q: F: a: n3 z. Y4 q
! U" y8 g( ~$ {0 R# j+ S/ f
(version 3.1.3)' t+ k) r5 L: Z# B4 ~" O
不过好像不大推荐
 楼主| 发表于 2008-4-10 23:51:54 | 显示全部楼层

补充

globals[p ]/ X3 T, S% h. d) q! e+ j, u/ ^+ ~
to setup
6 f; V, _9 ?% m   set p  1
4 E  G, ?7 ~( \. y: J4 _   set p  p + 1
$ Z$ S  ^- k$ _" J$ W4 M/ b( B9 o   show p
2 v6 L) J% X# U. }) D! y; V; r) D   end
0 n, }" _6 }4 P7 E我想表达的是让这个循环一直下去,直到p=100时才停止,logo语言该怎么写呢?除了repeat,可否用其它原语表示。
  k; \, b& h. v. R# a" [, N/ I3 f; L* p* y: b- U# R
[ 本帖最后由 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 ]
" @5 z5 m- O- l! H8 x/ hto setup3 E9 {2 [2 P, P2 E* q. ~) X
set ml n-values 200 [ifelse-value (random-float 1 < 0.3 ) [0] [1] ]0 W2 S9 u: a3 S7 X! Y& r
set ml filter [ ? = 1] ml
  n4 {+ c8 d9 p& {% z+ z* c* ?: cset p  1
" i# B- a" P# f. N3 xrepeat length ml [ set p  p + 1]# i; |! A. N% e( Q0 n
if p > 100[stop]
7 t4 O2 Z( Z6 {2 ?2 j5 C. W) kshow p
1 T- n# C3 E, ?! Z/ n! J. Tend
3 Z6 z$ H; Q1 o& M$ E7 _0 u% O. {/ f- t1 a2 k6 h: N1 [
像这种简单的迭代加和还可以,但如果牵涉到多变量的迭代加和,不知道该怎么表达。还有,如果想取出运行中每个阶段的值而不仅仅是终值,该怎么取呢?/ n# X8 i" U& y2 @
3 Z# E5 _/ n3 R7 Y" E$ x% z9 |
[ 本帖最后由 wjcpcahu 于 2008-4-11 11:25 编辑 ]
 楼主| 发表于 2008-4-11 13:37:42 | 显示全部楼层

感激!!

什么都不说了,都在程序里了。
发表于 2008-4-11 15:21:00 | 显示全部楼层
reduce也可以做累加
  p( i0 U, h: Kreduce [ ? 1 + ? 2 ][1 2 3 4]9 @5 H. X' g: [9 \+ l5 U4 W9 f& n: X
相当于(((1+2)+3)+4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-1 05:30 , Processed in 0.017718 second(s), 13 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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