cobol语言基础培训教程
CHAPTER 5 过程部之二
一。MOVE 语句的较高技巧
1。各种类型数据之间的传送规则见下表:(Y:表示合法传送。N:表示非法传送。空白:表示某些时候是合法的。)
| 接收项 | 数值型 | 数值型 | 数值编辑型 | 字母型 | 字符型 | 字符编辑型 | 组合项 |
| 发送项 | 整数 | 非整数 | |||||
| 数值型整数 | Y | Y | Y | N | Y | Y | Y |
| 数值型非整数 | Y | Y | Y | N | N | N | Y |
| 数值编辑型 | Y | Y | Y | N | Y | Y | Y |
| 字母型 | N | N | N | Y | Y | Y | Y |
| 字符型 | Y | Y | Y | ||||
| 字符编辑型 | N | N | N | N | Y | Y | Y |
| 数值常量 | Y | Y | Y | N | N | N | Y |
| 非数值常量 | N | N | N | Y | Y | Y | Y |
| ZERO | Y | Y | Y | N | Y | Y | Y |
| SPACE | N | N | N | Y | Y | Y | Y |
| 组合项 | Y | Y | Y |
2。用CORRESPONDING子句的传送 – 对应传送(同名传送)
对应传送的一般格式:
MOVE CORRESPONDING 标识符1 TO 标识符2
CORR
说明:(1)如果两个组合项中包括的项不同,则只传送同名的项。
(2)传送的两者间必须有成对的同名数据项,而且这一对中必须至少有一个项是
初等项。否则不能作为对应项传送。
(3)所谓同名,指的是它们有相同的全程受限,即全程同名。
假如T1和T2的描述分别为:
01 T1。 01 T2。
02 X。 02 X。
03 X1。。。 03 X2。。。
03 X3。。。 03 X1。。。
02 Y1。 02 Y。
03 A1。。。 03 A1。。。
则T1中的A1与T2中的A1就不是全程同名。
4。除法语句中的余数语句(REMAINDER 子句):DIVIDE 语句只能求商不能求余数。如想求余数,可用 REMAINDER 子句。
如: DIVIDE A INTO B GIVING C REMAINDER D
注意:(1)商和余数的值不仅取决于除数和被除数,还取决于数据部中对商和余数的描述。
(2)如用ROUNDED子句,它只对商起作用,余数不作四舍五入处理,在计算余
数时,仍按四舍五入前的值为准。
(3) 长度溢出也只检查商的值是否溢出,而不检查余数。
三。IF语句的较高技巧
1。符号条件:
数据名 IS [NOT] POSITIVE
算术表达式 NEGATIVE
ZERO
2。类型条件:
标识符 IS [NOT] NUMERIC
ALPHABETIC
3。条件名条件:用来表示条件变量当前值的名字叫条件名。条件名本身是一个条件,它有一个值(’真’或’假’),用它来检查条件变量的值是否落在条件名所代表的值的范围中,当条件变量的值落在条件名所代表的值的范围中,则此条件名所表示的条件为’真’,否则为’假’。
条件名条件的一般格式:
88 条件名 { VALUE IS} 常量1 [{THRU} 常量2]
[常量3 [ [{THRU} 常量4]] 。。。]
如: 02 WS-FILE-STATUS PIC 9(2)。
88 WS-FILE-NORMAL VALUE 0,93。
88 WS-FILE-EOF VALUE 10。
CHAPTER 6 过程部之三
一。执行语句的作用:在一个COBOL程序中,过程部中往往有一部分语句需要执行多次。为了让重复的部分在程序中只出现一次,可以把重复的部分单独写成一段或一节(有一个段名或节名),每次执行这部分语句时转去该段,执行完转回来。这时候就需要用到执行语句(PERFORM )。
二。执行语句的一般形式:
PERFORM 过程名1 [THRU] 过程名2
三。使用PERFORM语句实现循环:
1。 PERFORM 过程名1 [{THRU} 过程名2 ] 整数 TIMES
标识符
2。 PERFORM 过程名1 [{THRU} 过程名2 ] UNTIL 条件
3。 PERFORM 过程名1 [{THRU} 过程名2 ]
VARYING 标识符1 FROM 常数1 BY 常数2 UNTIL 条件
标识符2 标识符3
四。执行语句的多重循环形式:COBOL 允许三重循环,其一般格式可写为:
PERFORM 过程名1 [{THRU} 过程名2 ]
[VARYING 参数1 FROM 初值1 BY 步长1 UNTIL 条件1 ]
[AFTER 参数2 FROM 初值2 BY 步长2 UNTIL 条件2 ]
[AFTER 参数3 FROM 初值3 BY 步长3 UNTIL 条件3 ]
五。出口语句(EXIT):EXIT语句提供了一组过程的公共出口,即指出了被调用过程的逻辑终点。

















