使用循环重复一组命令
要连续重复同一组命令,请使用一种循环结构。有几类循环可以使用。每种类型都可让您根据条件测试,以不同方式退出循环。
循环以及与循环有关的命令位于 程序编辑器 的 控制 和 转移 菜单上。
当您插入其中一种循环结构时,其模板即会插入到光标位置。然后,您可以开始输入将在循环内执行的命令。
For...EndFor 循环
For...EndFor 循环使用计数器控制循环的重复次数。For 命令的语法为:
注意: 如果增量为负,结束值可以小于起始值。
For 变量, 下限, 上限 [, 步长]
|
|
À | Á | Â | Ã |
|
À |
变量 作为计数器 |
|
Á |
第一次执行 For 时使用的计数器值 |
|
 |
当 变量 超过此值时退出循环 |
|
à |
以后每执行一次 For,计数器的增量(如果忽略可选值,则 步长 为 1。) |
执行 For 时,会将 变量 值与 上限 值进行比较。如果 变量 没有超出 上限,即会执行循环;否则,控制语句将跳至 EndFor 后的命令。
注意: For 命令自动增加计数器变量的值,以便函数或程序在重复执行一定次数后退出循环。
在循环末尾 (EndFor),控制语句跳回 For 命令,其中的变量增加并与 上限 进行比较。
例如:
|
À |
显示 0、1、2、3、4 和 5。 |
|
Á |
显示 6。当 变量 增加到 6 时,就不执行循环。 |
注意: 您可以将计数器变量声明为局部变量,如果在函数或程序停止后不需要保存的话。
While...EndWhile 循环
只要指定的条件为真,While...EndWhile 循环就会重复命令块。While 命令的语法为:
While 条件
在执行 While 时,就会计算 条件。如果 条件 为真,就会执行循环;否则,控制语句将跳至 EndWhile 后的命令。
注意: While 命令不会自动改变条件。您必须包含允许函数或程序退出循环的命令。
在循环末尾 (EndWhile),控制语句将跳回 While 命令,在这里重新计算条件。
要开始执行循环,初始条件必须为真。
| • | 必须在 While 命令之前,设置条件中引用的任何变量。(您可以将值置于函数或程序中,也可以提示用户输入值。) |
| • | 循环必须包含改变条件中值的命令,最终导致条件为假。否则,条件始终为真,函数或程序就不能退出循环(称为无限循环)。 |
例如:
|
À |
初始设置 x。 |
|
Á |
显示 0、1、2、3 和 4。 |
|
 |
增加 x。 |
|
à |
显示 5。当 x 增加到 5 时,就停止执行循环。 |
Loop...EndLoop loops
Loop...EndLoop 构成无限循环,这将无穷无尽地执行。Loop 命令不含任何自变量。
通常,您要在循环中插入可让程序退出循环的命令。常用命令有:If、Exit、Goto 和 Lbl (标签)。例如:
|
À |
If 命令会检查条件。 |
|
Á |
当 x 增加到 6 时,退出循环并跳转到此处。 |
注意: Exit 命令从当前循环退出。
在本例中,If 命令可出现在循环的任何位置。
|
当 If 命令为: |
循环为: |
|
循环的开头 |
仅在条件为真时执行。 |
|
循环的末尾 |
已执行至少一次,并且在条件为真时重复执行。 |
If 命令可能也使用 Goto 命令将程序控制语句转移至指定的 Lbl(标签)命令。
立即重复循环
Cycle 命令立即将程序控制语句转至循环的下一次迭代(当前迭代完成之前)。此命令与 For...EndFor、While...EndWhile 和 Loop...EndLoop 一起使用。
Lbl 和 Goto 循环
虽然 Lbl(标签)和 Goto 命令不是严格的循环命令,但他们可以形成无限循环。例如:
至于 Loop...EndLoop,该循环应该包含可让函数或程序退出循环的命令。