C ENDDO
C* 在X大于数组元素个数之前,重复Loop操作。
C*
C
C DOU X >; %elem(Array)
C EVAL Total = Total + Array(x)
C EVAL X = X + 1
C ENDDO
C
C*
图131 DOU举例
4.4.25 DOUxx(Do Until)
操作码 因子1 因子2 结果字段 指示器
DOUxx 比较数 比较数
DOUxx执行一组至少执行一次也可能执行多次的操作。相应的ENDDO语句标出该组操作的结束。关于DO组更详细的资料和xx的含义,请参阅4.3.19“结构程序设计操作”。
因子1和因子2必须是一个文字、一个命名常量、一个字段名、一个表名、一个数组元素、一个象征常数或是一个数据结构名。因子1和因子2的数据类型必须相同。
在DOUxx语句上指明一个关系xx。为了规定一个更复杂的条件可以在DOUxx语句之后跟有ANDxx或ORxx的语句。DO组中的操作执行一次,然后重复执行DO组直至因子1和因子2之间关系存在为止,或者是由DOUxx、ANDxx或ORxx操作组合的特定条件存在为止。即使该组的起始条件就不为真,DO组中至少执行一次。
另外,对DOUxx操作本身,在DOUxx和ENDDO语句上的条件指示器控制该DO组。DOUxx语句上的条件指示器控制是否开始DOUxx操作。相应的ENDDO语句上的条件指示器可使得DOU循环提前结束。
DOUxx操作的执行步骤如下:
1、如果DOUxx上的条件指示器满足,执行DOU操作(第2步)。如果不满足,执行相应的ENDDO语句后的下一个操作(第6步)。
2、通过把控制传给下一个可执行操作执行DOUxx操作(第3步)。DOUxx操作不比较因子1和因子2也不在这点上检测规定的条件。
3、执行DO组中的每个操作。
4、如果ENDDO语句上的条件指示器不满足,执行相应ENDDO语句之后的计算操作(第6步)。否则执行ENDDO操作(第5 步)。
5、通过比较DOUxx 操作的因子1和因子2或者检测组合操作的条件来执行ENDDO操作。如果因子1和因子2之间的关系xx存在或者说明的条件存在,则DO组操作完成并执行ENDDO语句后面的计算操作(第6步)。如果因子1和因子2之间关系xx不存在或者说明的条件不存在,则重复组中的操作(第3步)。
6、当DOUxx或ENDDO语句上的条件指示器不满足时(第1步或第4步),或者当因子1和因子2之间的关系xx存在,或第5步上规定的条件存在,执行ENDDO后面的语句。
关于这些操作如何影响一个DOUxx的信息请参阅“LEAVE(离开DO组)”和“ITER(重复)”。
上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2122 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 下一页
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 笔记 字母 顺序 学习 操作 常用 因子 文件 记录 一个 |
注册
个人空间
