COBOL - 动词

2025年3月17日 | 阅读 8 分钟

过程部包含用于执行数据部中描述的数据操作的代码。过程部使用 COBOL 动词进行数据处理。语句总是以 COBOL 动词开始。在 COBOL 中,有几个动词具有不同类型的动作。

  • 输入/输出动词
    • ACCEPT
    • DISPLAY
  • 数据操作/算术动词
    • INITIALIZE
    • MOVE
    • ADD
    • SUBTRACT
    • MULTIPLY
    • DIVIDE
    • COMPUTE
  • 字符串处理动词
    • 字符串
    • UNSTRING
    • INSPECT
  • 文件处理动词
    • 打开
    • 关闭
    • READ
    • WRITE
    • REWRITE
    • 开始
    • DELETE
  • 程序分支动词
    • CALL
    • EXIT
    • EXIT PROGRAM
    • GO TO
    • PERFORM
    • STOP
    • STOP RUN
让我们详细讨论这些动词

输入/输出动词

输入/输出动词用于获取用户数据并显示 COBOL 程序的输出。 对于此过程,使用以下两个动词

ACCEPT

Accept 动词从操作系统或用户获取数据。它获取诸如日期、时间和日期之类的数据。

如果程序接受用户数据,则需要由用户传递。 从操作系统提取数据时,我们可以使用 FROM 选项,如下例所示

DISPLAY

此动词显示 COBOL 程序的输出。

示例

编译并运行程序后,程序将提示您输入名称和日期。 输入科目名称和日期。

COBOL Verbs

然后按 Enter 键。 它将显示以下输出

输出

COBOL Verbs

数据操作/算术动词

这些动词用于数据处理和执行算术运算。

INITIALIZE

此动词用于初始化特定项目或组项目。 ZEROES 替换数字数据项。 不能使用 RENAME 子句初始化数据名称。

字母数字或字母数据对象被 SPACES 替换。 如果我们包含术语 REPLACING,则可以将数据项初始化为替换值。 如图所示

示例

输出

COBOL Verbs

MOVE

Move 动词用于将数据从源复制到目标数据。 我们可以将其用于组数据项和基本数据项。 对于组项目,使用 MOVE CORRESPONDING / CORR。

使用 MOVE(x: l),其中 x 是起始位置,l 是从字符串传输数据的长度。 如果目标数据项的 PIC 子句小于源数据项的 PIC 子句,则数据将被截断。 如果目标数据项的 PIC 子句高于源数据项的 PIC 子句,则附加字节将包括 ZEROS 或 SPACES。

示例

让我们看一个例子来弄清楚所有事情

输出

COBOL Verbs

以下是合法的移动

字母字母数字数字
字母可能可能不可能
字母数字可能可能可能
数字不可能可能可能

ADD

此动词将两个或多个数字相加,并将结果存储在目标操作数中。

语法

让我们看一些例子

示例 1

这里,假设 A 的值为 5; 在执行上述语句后,a 将为 15。意味着,(10 + A)。

示例 2

这里,A、B、C、D 相加,结果存储在 E 中 (E = A + B + C + D)。

示例 3

这里,A 和 B 中的子组项目相加,并将结果相加,结果存储在 B 中。

示例

现在,让我们通过 COBOL 中的程序来看一个例子

输出

COBOL Verbs

SUBTRACT

此动词用于执行减法运算。

语法

这里,ROUNDED 是可选的。 在使用 SUBTRACT 动词之前,有一些规则:FROM 单词之前的所有值都加起来,然后从 FROM 单词之后的每个数据项/常量中减去。

  • 使用 GIVING 选项时,结果将存储在单词 GIVING 后面的数据项中。
  • 未使用 GIVING 选项时,结果将存储在 FROM 后给出的数据项中。

示例 1

这里,从 A 中减去 10,结果将存储在 A 中,即(10 + A)。

示例 2

这里,A、B、C 相加并从 D 中减去。结果存储在 E 中 (E = D-(A+B+C))。

示例 3

这里,WS-GROUP1 和 WS-GROUP2 中的子组项目被减去,结果存储在 WS-GROUP2 中。

示例

现在,让我们通过 COBOL 中的程序来看一个例子

输出

COBOL Verbs

MULTIPLY

multiply 动词用于执行乘法运算。

语法

这里,ROUNDED 是可选的。

示例 1

这里,A 和 B 中的值将相乘,结果将存储在 B 中。 (B = A * B)。

示例 2

这里,A 和 B 中的值将相乘,结果存储在 B 中 (B = A * B)。 A 和 C 中的值相乘,结果存储在 C 中 (C = A * C)。

示例 3

这里,A 和 B 中的值相乘,结果存储在 E 中 (E=A * B)。

示例

现在,让我们通过 COBOL 中的程序来看一个例子

输出

COBOL Verbs

DIVIDE

DIVIDE 动词用于执行除法运算。

语法

示例 1

这里,B 的值除以 A 的值,结果存储在 B 中 (B = B/A)。

这里,A 的值除以 B 的值,结果存储在 C 中 (C = A/B),余数存储在 R 中。

示例

现在,让我们通过 COBOL 中的程序来看一个例子

输出

COBOL Verbs

COMPUTE

COBOL 中的 COMPUTE 动词写入算术表达式。 Compute 动词是 Add、subtract、multiply 和 divide 动词的替代品。

示例

输出

COBOL Verbs
下一个主题COBOL 数据布局