本文概述
- 直通
- 直到执行
- 执行时间
- 执行变化
- 转到声明
对于迭代编程, 在COBOL中使用PERFORM语句。这些循环语句是:
- 直通
- 直到执行
- 执行时间
- 执行变化
【COBOL-循环语句】根据语句的编码方式, PERFORM主要分为两种类型:
- 内联执行
- 大纲执行
排队 | 大纲 |
---|---|
INLINE在PERFORM和END-PERFORM之间执行一系列语句或语句块。 | OUTLINE Perform用于执行一系列在单独的部分或段落中编码的语句或语句块, 这些语句或语句块未与PERFORM语句一起编码。 |
这不需要执行任何需要编码的单独的PARAGRAPH或SECTION。 | 它需要一个单独的PARAGRAPH或SECTION, 需要对要执行的语句进行编码。 |
在这种情况下, 必须使用范围终止符(END-PERFORM)。 | 在这种情况下, 不需要范围终止符(END-PERFORM)。 |
语法:-以下是INLINE PERFORM的语法:PERFORM DISPLAY’ HELLO WORLD’ END-PERFORM。 | 语法:-以下是OUTLINE PERFORM的语法:PERFORM PARAGRAPH1 THRU PARAGRAPH2 |
让我们看一个PERFORM THRU语句的例子:
IDENTIFICATION DIVISION.PROGRAM-ID. HELLO.PROCEDURE DIVISION.A-PARA.PERFORM DISPLAY 'IN A-PARA'END-PERFORM.PERFORM C-PARA THRU E-PARA.B-PARA.DISPLAY 'IN B-PARA'.STOP RUN.C-PARA.DISPLAY 'IN C-PARA'.D-PARA.DISPLAY 'IN D-PARA'.E-PARA.DISPLAY 'IN E-PARA'.
输出如下:
当你编译并执行上述程序时, 它将显示以下输出:
文章图片
直到执行 语句块或段落/节将在PERFORM UNTIL语句中执行, 直到指定条件成立。
默认条件为” WITH TEST BEFORE” , 它指定在执行段落中的语句之前测试条件。
语法如下:
以下是PERFORM UNTIL的语法:
PERFORM A-PARA UNTIL COUNT=5PERFORM A-PARA WITH TEST BEFORE UNTIL COUNT=5PERFORM A-PARA WITH TEST AFTER UNTIL COUNT=5
例子:
让我们看一个PERFORM UNTIL语句的例子:
IDENTIFICATION DIVISION.PROGRAM-ID. HELLO.DATA DIVISION.WORKING-STORAGE SECTION.01 WS-CNT PIC 9(1) VALUE 0. PROCEDURE DIVISION.A-PARA.PERFORM B-PARA WITH TEST AFTER UNTIL WS-CNT>
3.STOP RUN.B-PARA.DISPLAY 'WS-CNT : 'WS-CNT.ADD 1 TO WS-CNT.
输出如下:
当你编译并执行上述程序时, 它将显示以下输出:
文章图片
执行时间 PERFORM TIMES主要用于以指定的次数重复执行语句或段落/节的块。
语法如下:
以下是PERFORM TIMES的语法:
PERFORM A-PARA 5 TIMES.
例子:
让我们看一个PERFORM TIMES的例子:
IDENTIFICATION DIVISION.PROGRAM-ID. HELLO.PROCEDURE DIVISION.A-PARA.PERFORM B-PARA 3 TIMES.STOP RUN.B-PARA.DISPLAY 'IN B-PARA'.
输出如下:
当你编译并执行上述程序时, 它将显示以下输出:
文章图片
执行变化 语句或段落/节的块将在PERFORM VARYING中执行, 直到条件在UNTIL短语中变为真。
语法如下:
以下是PERFORM VARYING的语法:
PERFORM A-PARA VARYING A FROM 1 BY 1 UNTIL A = 5.
例子:
让我们看一个PERFORM VARYING的例子:
IDENTIFICATION DIVISION.PROGRAM-ID. HELLO.DATA DIVISION.WORKING-STORAGE SECTION.01 WS-A PIC 9(2) VALUE 0.PROCEDURE DIVISION.A-PARA.PERFORM B-PARA VARYING WS-A FROM 2 BY 2 UNTIL WS-A=12STOP RUN.B-PARA.DISPLAY 'IN B-PARA ' WS-A.
输出如下:
当你编译并执行上述程序时, 它将显示以下输出:
文章图片
转到声明 在程序中, GO TO语句更改执行流程。在此语句中, 控制仅在向前方向上转移。它用于退出程序。各种类型的GO TO语句如下:
无条件转到
以下是无条件转到的语法:
GO TO para-name.
有条件转到
以下是有条件转到的语法:
GO TO para-1 para-2 para-3 DEPENDING ON x.
在这里, 如果x = 1, 则控件将转移到第一段, 如果x = 2, 则控件将转移到第二段, 依此类推。
例子:
让我们来看一个GO To语句的示例:
IDENTIFICATION DIVISION.PROGRAM-ID. HELLO.DATA DIVISION.WORKING-STORAGE SECTION.01 WS-A PIC 9 VALUE 2.PROCEDURE DIVISION.A-PARA.DISPLAY 'IN A-PARA'GO TO B-PARA.B-PARA.DISPLAY 'IN B-PARA '.GO TO C-PARA D-PARA DEPENDING ON WS-A.C-PARA.DISPLAY 'IN C-PARA '.D-PARA.DISPLAY 'IN D-PARA '.STOP RUN.
输出如下:
当你编译并执行上述程序时, 它将显示以下输出:
文章图片
推荐阅读
- COBOL-程序结构
- COBOL-简介
- COBOL-内部排序
- COBOL-文件处理动词
- COBOL-部门
- COBOL-文件处理
- COBOL-文件访问模式
- COBOL-条件语句用法图解
- COBOL-数据库接口