cobol语言基础培训教程

2009年04月23日  |  5:23 下午分类:大型机|Mainframe  |  标签:  |  821 views

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语句提供了一组过程的公共出口,即指出了被调用过程的逻辑终点。





点击查看下一页-Pages:

1 2 3 4 5

喜欢本文,那就收藏到: Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网

发表您的评论