COBOL......6

                         COBOL语言之数组

数组子句(OCCURS 子句)

OCCURS 子句指定数据项为固定项目数或可变项目数的数组。OCCURS 子句不能
用于01 和77 层的项目,但可以用于基本或组合数据项目。如:
01  TIME-WORKED.
03  WEEK                PIC  9  OCCURS  7  (TIMES).

COBOL 允许在OCCURS 子句所在组的下属项目中使用OCCURS 子句,从而提供多
维数组。如:
   01  TIME-WORKED.
       03  MONTH OCCURS          12.            (12 个月)
           05  DAY OCCURS        31 TIMES.      (31 天)
               07  REGULAR       PIC 99.
引用多个OCCURS 子句的数据项时,第一个下标是最外边的OCCURS,后续下标
一直继续到最里层。

循环语句——PERFORM
PERFORM 过程名1 (THRU 过程名2)
        [VARYING 参数1 FROM 初值1 BY 步长1 UNTIL 条件1]
       

循环语句——PERFORM
例如:
PERFORM   T1   VARYING   X   FROM   A    BY   B   UNTIL   X  >  5.
它的作用是:
(一)先把初值A赋给变量X。
(二)判断条件(X > 5)是否符合,如果不满足条件,执行完一遍T1到T2,然
后X + B => X。
(三)再判断条件是否符合,如不满足,再执行一遍T1到T2,然后X + B => X。
如此反复执行(二)(三),直到条件(X > 5)符合为止。
(四)然后返回执行PERFORM语句的下一条语句。
当然,条件不一定要出现循环变量X,如:
A.     MOVE   0  TO  N.
       PERFORM   A1   VARYING   X   FROM   1    BY   5
                                       UNTIL   N >  10.
A1.   ADD   1   TO   N.


循环语句——PERFORM
多重循环形式(从内层开始向外层实行)
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]
COBOL 允许用到三重循环

例如:
    PERFORM   A   VARYING   I   FROM   1   BY   1   UNTIL   I  >  10
                  AFTER     J   FROM   2   BY   2   UNTIL   J  >  10.
         …
COMPUTE  Z  =  I * J
     DISPLAY  Z.
执行过程:
(一)先使I取初值1,再判断条件I > 10是否满足,如不满足,进行内循环。
(二)给J取初值2。
(三)判断J>10?如不满足,则执行一次A段。
(四)然后J+2=>J。
(五)重复执行(三)(四),再判断J>10?未满足,则执行一次A段,直到J>10为止。
(六)满足J>10,就使I+1=>I。
(七)判断I>10?如仍未满足,就给J重新取初值2。然后重复(三)~(五)。直到I>10为止。
(八)满足I>10后,就转去执行PERFORM语句的下一条语句。


执行语句(PERFORM 语句)
在一个COBOL 程序中,往往有一部分语句是需要多次执行的。我们希望重复的部分只出现一次,即把重复的部分单独写成一段或一节。每次需要执行这部分语句时转去该段,执行完后转回来。这时需要用到执行语句(PERFORM 语句)。另外,当程序很长时,也可以分成若干个节,这些节的调用也是通过这时执行语句(PERFORM 语句)。

PERFORM 语句的一般形式:
PERFORM 过程名1 [THRU 过程名2]


出口语句(EXIT 语句)
EXIT 语句提供了一组过程的公共出口,或者说它指出了被调用过程的逻辑终
点。EXIT 语句不使计算机产生任何动作,它好比一个“桥梁”,能将被调用
过程和调用过程的后续过程连接起来。一般用来作PERFORM语句调用的语句序
列的出口,使程序返回到PERFORM语句的下一个语句上去。
注意EXIT 语句必须是本段中唯一的语句,即该段中不允许有其它语句。
EXIT 语句前必须有一段名。
(1)       PERFORM  A  THRU  B.
           ...
       A.  MOVE  1  TO  X
           ADD   X  TO  Y.
       B.  EXIT.


(2)        PERFORM  A.
           ...
       A.  MOVE  1  TO  X
           ADD   X  TO  Y.

复写语句(COPY 语句)
利用COPY 语句可以可以使某些记录描述和数据描述为不同的程序共用。为此
   要建立一个源程序库,将上述这些共同使用的源程序中的某一部分事先存入库
  中。编码人员用COPY 语句就可以将这些源程序体插入到自己的源程序中。

COPY 语句一般格式:
COPY 库名 REPLACING 标识符1 BY 标识符2

标识符的含义为不超过30 个字符组成的字符序列。
  例如:
COPY IN-FILE REPLACING ==IN== BY ==A==.(用A 替换IN)
COPY 语句不仅可用于数据部,而且也可用于其它部分。使用COPY 语句可以减少写程序的工作量,便于程序的保存和修改。


计算语句(COMPUTE 语句)
COBOL 还提供了一种计算语句,可以进行比较复杂的四则运算。一般格式:
COMPUTE 标识符1 = 算术表达式
例如:COMPUTE Z = (B – A) * 2 + C * X – E / D.
说明:
所有运算符两侧均应留一空格。
括号的外侧应留空格,内侧可不要留空格。
COMPUTE 语句运算速度较单一的加减乘除慢。

你可能感兴趣的:(工作,J#,D语言,cobol)