跳转到主要内容
模块 3 · 第 1 课(共 2)课程中的5/10~12 min
模块课程(1/2)

段落和执行

在 COBOL 中,PROCEDURE DIVISION 内部代码的模块化和逻辑结构不是通过函数或方法发生的,而是通过 Paragraphs 和 PERFORM 语句发生的。

定义段落

段落是带有标签的代码部分,以第 8 列(A 区)的名称开始,以句点 . 结尾,后跟第 12 列(B 区)的一系列指令。

COBOL
DISPLAY-MESSAGE.
    DISPLAY "This is a paragraph!".

段落允许将可能很长的程序分割成可重用和自记录的块。

使用 PERFORM 执行段落

PERFORM 语句调用并执行一个段落,然后将控制返回到紧随 PERFORM 语句之后的指令。

COBOL
PROCEDURE DIVISION.
MAIN-PROCEDURE.
    DISPLAY "Starting program...".
    PERFORM PROCESS-DATA.
    DISPLAY "Ending program.".
    STOP RUN.

PROCESS-DATA.
    DISPLAY "Processing data in memory...".

在上面的清单中:

1.执行MAIN-PROCEDURE里面的DISPLAY。2. PERFORM PROCESS-DATA 将执行分支到 PROCESS-DATA 段落。3. 一旦 PROCESS-DATA 段落结束,执行将返回到 MAIN-PROCEDURE 以打印“正在结束程序”。并停止使用 STOP RUN.。


自己尝试一下

锻炼#cobol.m3.l1.e1
尝试:0加载中...

定义一个名为 DISPLAY-TOTAL 的段落,使用 DISPLAY 打印“TOTAL IS DONE”,并在停止程序之前使用 PERFORM 在 MAIN-PROCEDURE 中调用它。

正在加载编辑器...
显示提示

写入执行显示总计。在第 12 列,在 MAIN-PROCEDURE 块下方声明 DISPLAY-TOTAL。第 8 栏段落。

3 次尝试后可用的解决方案

锻炼#cobol.m3.l1.e2
尝试:0加载中...

在 MAIN-PROCEDURE 块中按顺序调用两个段落,首先是 INITIALIZE-DATA,然后是 PROCESS-DATA。

正在加载编辑器...
显示提示

按顺序在第 12 列插入两个 PERFORM 语句。

3 次尝试后可用的解决方案