COBOL算术运算:ADD、SUBTRACT、MULTIPLY、DIVIDE与COMPUTE详解

需积分: 15 2 下载量 173 浏览量 更新于2024-08-16 收藏 335KB PPT 举报
"这篇文档介绍了COBOL编程语言中的算术运算语句,包括ADD、SUBTRACT、MULTIPLY、DIVIDE以及COMPUTE等基本操作。文档内容详细讲解了每种运算语句的语法和使用示例,尤其重点讨论了ADD语句的不同用法和在处理精度时的ROUNDING选项,以及如何处理SIZE ERROR的情况。" 在COBOL编程中,算术运算语句是执行基本数学计算的关键部分。这些语句允许程序员对变量进行加、减、乘、除和复合运算,从而实现数据处理和计算任务。以下是每个算术运算语句的详细说明: 1. **ADD** 语句:用于将一个或多个数值相加,并将结果存储到指定的位置。它有三种语法形式: - **语法1**:ADD 后跟一系列的标识符(或常量)和TO关键字,然后是目标标识符。例如,`ADD NUM1 TO NUM2.` 将NUM1的值加到NUM2上。 - **语法2**:在语法1的基础上添加了GIVING关键字,使得可以指定一个新的标识符来接收结果,如 `ADD NUM1, NUM2 GIVING NUM3.` 结果存储在NUM3中。 - **语法3**:`ADD CORR` 用于将源和目标标识符之间的对应项相加。例如,`ADDCORRCURRENT-MONTHTOYTD.` 将CURRENT-MONTH的各分量与YTD的相应分量相加。 2. **SUBTRACT** 语句:类似于ADD,但执行减法操作,如 `SUBTRACT NUM1 FROM NUM2.` 3. **MULTIPLY** 语句:执行乘法操作,如 `MULTIPLY NUM1 BY NUM2 GIVING NUM3.` 结果存储在NUM3中。 4. **DIVIDE** 语句:执行除法操作,可以有多种选项处理余数和除法异常。例如,`DIVIDE NUM1 BY NUM2 GIVING NUM3` 会将NUM1除以NUM2,结果放在NUM3中。 5. **COMPUTE** 语句:更复杂的运算,可以包含多个操作符和表达式,如 `COMPUTE TOTAL = NUM1 + (NUM2 * NUM3)`。 在进行算术运算时,尤其是涉及浮点数或者可能溢出的情况下,COBOL提供了 `ROUNDED` 关键字来处理精度问题。当结果需要四舍五入时,可以使用这个选项。例如,如果一个 PIC9(3)V9(2) 的字段(表示最多3位整数,2位小数)接收到123.45,根据ROUNDING规则,结果会被四舍五入为123.5。 同时,COBOL提供了处理 `SIZE ERROR` 的机制,当运算结果超出接收字段的容量时,可以使用 `ON SIZE ERROR` 和 `NOT ON SIZE ERROR` 语句来定义错误处理流程。例如,`ON SIZE ERROR PERFORM 100-ERROR.` 表示当发生溢出错误时执行100-ERROR的程序段。 COBOL的算术运算语句为程序员提供了强大而灵活的工具,用于执行各种数学运算,同时考虑了精度控制和错误处理,确保了程序的健壮性和准确性。在编写COBOL程序时,熟练掌握这些语句对于数据处理至关重要。