当前位置:文档之家› cobol考前知识点 (1)

cobol考前知识点 (1)

cobol考前知识点 (1)
cobol考前知识点 (1)

U1

1.COBOL是Common Business Oriented Language (通用商业语言)

2. COBOL的组成部分:

(1)标识部(IDENTIFICATION DIVISION):用于标识程序名(一般不超过8位)。在标识部下面不设节.直接设段

(2)环境部(ENVIRONMENT DIVISION):用于说明程序运行的环境。

(3)数据部(DATA DIVISION):用于说明程序中涉及的所有数据。数据部下设节,节下面是描述体

(4)过程部(PROCEDURE DIVISION):是程序的核心部分,它决定计算机应进行什么操作。过程部可以设节,下面再设段,也可以直接设段(部-节-段-句子-语句-子句)

3.COBOL 源程序的书写格式:

第1 至6 列为―标号区‖。

第7列为―续行标志区‖。

第8至此11列,称为―A区‖。程序中有些内容如部头,节头,段头,层号01,层号77 及文件描述符FD等应从A区开始写。

第12至此72列,称为―B区‖。写程序中的正文部分。如过程部中的句子只能从B 区开始写。

第73至80列,称为―注释区‖。

书写注意事项:运算符(如加、减、乘、除、乘方)和等号左右两边必须各留一个空格。在过程部中左括号的左侧和右括号的右侧要留一空格,而内侧不必留空格。逗号、句号、分号的左边不能留空格,而右边应有空格。

4.COBOL语言的元素

―#‖―!‖―?‖―%‖只能在COBOL程序中的字符串中出现。

每一个COBOL字不能超过30个字符。

5.数据名的定名规则

(1)每个数据名的长度为1-30个字符之间。

(2)只能由字母数字和连接符―-‖组成,而且其中至少应有一个字母。连接符只能出现在数据名的中间。

(3)数据名中不能出现空格。

(4)不应选择COBOL的保留字作为数据名。

(5)并不要求数据名是有意义的英文字。

6.COBOL程序的运行

JCL

U2

1.标识部

(1)必写部分

IDENTIFICATION DIVISION. (标识部)

PROGRAM-ID. 程序名. (程序标识段)

程序名不超过30个字符。

(2)任选部分

[AUTHOR. 作者姓名.]

[INSTALLATION. 计算机设置的场所.]

[DATE-WRITTEN. 源程序编写的日期.]

[DATE-COMPILED. 源程序编译的日期.]

[SECURITY. 保密程度.]

2.环境部

(1)配置节(CONFIGURATION SECTION)

包括三段:源计算机段(编译源程序时使用的计算机)、目标计算机段(经过编译后所得到的目标程序运行时所使用的计算机)、专用名段

格式:

CONFIGURATION SECTION. (配置节)

SOURCE-COMPUTER. 源计算机名

OBJECT-COMPUTER. 目标计算机名

[MEMORY SIZE IS 整数{WORDS/CHARACTERS/MODULES}]

SPECIAL-NAMES. 专用名描述项

[专用名IS 助记名.]

(2)输入输出节

分为输入输出控制段与文件控制段。输入输出控制段作用是可以指定目标程序运行时,几个文件共用一个内存区。文件控制段是为内部文件分配外部文件。

文件控制段

格式:INPUT-OUTPUT SECTION. (输入输出节)

FILE-CONTROL. (文件控制段)

SELECT 内部文件名ASSIGN TO 外部文件名.

3.说明:SELECT的三种用法

(1)在SELECT子句的―ASSIGN TO‖的后面写上磁盘上实际的文件名。

Select file1 assign to c:cob.file1.dat

(2)在SELECT子句中只指出外部设备名,在数据部的文件节中FD描述体中用V ALUE OF子句来指出实际文件名。

Select file1 assign to disk.

value of file-id ―c:cob.file1.dat‖.( 数据部的文件节中)

(3)在大型计算机系统,在SELECT子句中用该系统指定的逻辑名作为外部文件名,然后用作业控制语句将该逻辑名与实际的设备和文件相联系。

U3

1.数据部层次

(1)用来描述数据层次结构的层号从01开始,到49。记录的最高层次定为01号。

(2)数据的层次结构:记录- 组合项- 初等项

(3)层号小的组合项包含层号大的数据项(组合项或初等项)。

(4)层号:从01~49层用列描述具有层次机构的数据项,77层用来描述独立的数据项,66和88是特殊层

2.数据部的结构

(1)文件节(FILE SECTION)

用来描述程序中用到的输入文件和输出文件及其记录中各数据项的属性。

(2)工作单元节(WORKING-STORAGE SECTION)

用来描述程序中用到的中间数据项。

(3)联接节(LINKAGE SECTION)

用来描述与调用程序间发生数据传递的数据项。

(4)报表节(REPORT SECTION)

为了完成报表编制功能,此节用来规定欲输出的报表的―体裁―,设计各报表栏的打印形式和方法等

3.文件节

(1)文件描述

格式:

FD 文件名LABLE RECORD IS STANDARD

RECORDS ARE OMITTED

DATA RECORD IS 记录名

RECORDS ARE 记录名1,记录名2.

(2)记录描述

记录描述体由01层号开头,后跟记录名。

如果记录下面不再分项,即记录本身就是一个初等项,则这种描述体最简单。

(3)文件节的书写格式:FD从A区开始书写,01层号也从A区开始,其它层号可以从A区也可以从B区开始。为了看起来层次分明,最好从B区开始。

4.数据描述符―9‖―V‖―S‖

编辑型描述符―.‖―,‖―B‖(空格)―Z‖ ―*‖(在高位零的位置上代以空格或?*‘)― +‖―–‖(描述符?+‘,一律加符号。描述符?-‘只对负值加负号)― $‖

5.工作单元节(WORKING-STORAGE SECTION)

(1)非输入输出的数据就应在工作单元节中描述。

(2)在工作单元节中描述的数据项也有有两种形式:一种是孤立的数据项,它们是初等项。一种是组合项。COBOL规定,孤立的数据项的描述体以层号77开头,组合项描述体以01到49之间的一个数作层号。在次序上常先写77层,再写01-49层。

6.V ALUE子句:用于给变量赋初值。如:

02 A PIC 9(3)V ALUE 123。

注意:

(1)只有对工作单元节中的数据项才能赋初值,不能对文件节中输入输出文件中的数据项赋初值。

(2)如果在组合项的描述体中使用V ALUE,初值只能是表意常量或非数值型常量。对组合项整体而言,一律按字符型数据项处理。

02 A V ALUE ?123456‘.

03 A1 PIC 99. (12)

03 A2 PIC 99. (34)

03 A3 PIC 99. (56)

是可以的,并且A1,A2,A3可以进行运算。

但如果02 A V ALUE 123456. 则是错误的。

(3)当用一个带符号的数值作初值时,相应的PIC子句中应有?S‘描述符,否则符号无效。

77 D PIC S99 V ALUE -21.

(4)赋初值时应该注意类型的一致性。

77 D PIC X(4) V ALUE 1.22 (错误)

(5)V ALUE子句给出的值应适合PIC子句的描述范围,否则会出现截断或产生错误。

7.用法子句(USAGE子句)

作用:可以使程序设计者自由选择数据在内存中的存放形式。

格式:

[USAGE IS] DISPLAY/COMPUTATIONAL/COMP

说明:

DISPLAY (标准数据形式,一个字节放一个字符)

COMPUTATIONAL (定点二进制形式)

/COMP

COMPUTATIONAL-1 (内部短浮点形式)

/COMP-1

COMPUTATIONAL-2 (内部长浮点形式)

/COMP-2

COMPUTATIONAL-3 (内部十进制形式)

/COMP-3

如省略USAGE子句,则隐含表示为用DISPLAY形式。

注意:

(1)字符型、字母型、编辑型、外部十进制、外部浮点数形式的数据项必须为USAGE DISPLAY(一般均省略该子句)

(2)USAGE子句指定的数据存储形式不能和PIC子句指定的数据类型矛盾。

(3)长、短浮点数形式自然确定了内存长度,不应用PIC子句

?01 A1 COMP-1.

?01 B1 COMP-2.

8.符号子句(SIGN子句)

(1)SIGN子句用来指定数值型数据描述体中运算符号的状态和位置

(2)在没有SIGN子句时,数值的符号是存放在数据项最近最后一个字节

?02 A PIC S9(3) USAGE DISPLAY SIGN IS LEADING

. (缺省时默认)

(3)指定符号单多占一个字节,用―SEPARATE ‖可选项

(4)SIGN 子句的一般格式:

注意:

? 只能用于PIC 字符串中含有―S ‖的数值型描述体中 ? 使用SIGN 子句的数据项用法应当是USAGE DIPLAY 。而不能用于计算型

的数据项用SEPARATE 可选项时,内存中增加了一个字节,用来放符号标

? 如果一个数据项的描述体中包含SIGN 子句,则数据项的值应包括正或者负

的符号,否则会出错

9.

重定义子句(REDEFINES 子句)

(1)共用内存中的同一段空间

02 A PIC X(5).

02 B REDEFINES A PIC 9(5).

? 层号 数据名1 REDEFINES 数据名2

(2)说明: 1.数据名2 与数据名1的层号必须相同。

2.用REDEFINES 子句的描述体应该紧跟在被重新定义的数据项的描述之后,中间不能插入其它项的描述说明。

3.可以多次重定义,但必须紧跟出现,而且要求使用最初定义的数据名。

4.REDEFINES 子句不能用于文件节的01层中。

5.用REDEFINES 子句可以改变数据结构,但数据名1、2的长度应该相等。

6.REDEFINES 子句应在其它子句之前。

7.重定义子句所在的数据描述体中不能使用初值子句赋初值。.

(3)组合项的重定义子句,如:

? 02 A.

? 03 A1 PIC 9(4).

? 03 A2 PIC X(6). 共14字节

? 03 A3 PIC X(4).

[][]CHARACTER SEPARATE TRAILING LEADING IS SIGN ??????

?02 B REDEFINES A.

?03 B1 PIC X(5).

?03 B2 PIC 9(6). 共14字节

?03 B3 PIC 99V9.

10.重命名子句(RENAMES子句)

(1)将原来已定义的数据项重新组合成为一个新项,并以一个新名字来代表它。

(2)格式:66 数据名1 RENAMES 数据名2 [THRU 数据名3]

01 A V ALUE '123456'.

02 A1 PIC 9.

02 A2 PIC 9.

02 A3 PIC XX.

02 A4 PIC 99.

66 B RENAMES A1 THRU A3.

结果A=123456

B=1234

(3)说明:

(一)层号只能用66,它必须紧跟在01层记录中最后一个数据描述体之后,因为它是对记录中有关部分重新组合和命名的。

(二)如无THRU部分,则数据名1和数据名2代表的是同一内容。

(三)用THRU时,数据名2在记录中的位置应在数据名3之前,而且数据名3不应包括在数据名2之中。

(四)RENAMES子句只能用于工作单元节,而不能用于文件节。

11.遇零置空子句(BLANK子句)

作用:当数据项的值为零时,使它的内容改变为空白(空格)。这个子句只能用于数值型或编辑型的初等项。

举例:03 A PIC 9999 BLANK WHEN ZERO.

注意:若同一个描述项中用了―*‖来代替高位0,又有BLANK WHEN ZERO子句,则BLANK WHEN ZERO子句不起作用

12.对齐子句(JUSTIFIED子句)

作用:字符或字母型数据传送的时候是按标准的对齐方式,即―左对齐‖,若想改为―右对齐‖,可以用JUSTIFIED子句。

格式:JUSTIFIED/JUST RIGHT

举例:77 B PIC X(5)JUSTIFIED RIGHT

13.同步安置子句(SYNCHRONIZED子句)

(1)一个机器字一般定为4个字节,从内存中取数据的时候是以机器字为单位的

(2)格式:SYNCHRONIZED/SYNC LEFT/RIGHT

(3)说明:1.用SYNC LEFT时,左对齐,右边补零或空格。

2.用SYNC RIGHT时,右对齐,左边补零或空格。

(4)举例:01 A.

02 A1 PIC 9(3) SYNC LEFT V ALUE 82.

02 A2 PIC X(3) SYNC RIGHT V ALUE ?ABC‘

13.复写语句(COPY语句)

(1)作用:把―源程序库‖中的某些记录描述和数据描述插入到自己的源程序中。

(2)格式:COPY 库名[REPLACING 标识符1/常量1/字1 BY 标识符2/常量2/字2]

(3)假设源程序库中有一个名为―LIB1‖的源程序体,内容如下

01 A.

02 A1 PIC 9(4).

02 A2 PIC 9(5).

COPY LIB1 REPLACING A1 BY B1 A2 BY B2.

U4

1.过程部

(1)部头从A区(第8—11列)开始书写

(2)过程部的语句一律从B区开始书写.即从12列以后开始书写。

2.输入输出语句

(1)ACCEPT语句:直接从终端键盘或系统指定的输入设备上输入数据。

ACCEPT 标识符[FROM 助忆名]

如:

– ENVIRONMENT DIVISION。(环境部)

– CONFIGRATION SECTION。(配置节)

– SPECIAL-NAMES.(专用名段)

– CONSOLE IS ABC

–如在过程部中有ACCEPT T FROM ABC。则表示要从控制台接收数据

(2)DISPLAY语句:从计算机内存中输出到某一指定的输出设备上。

DISPLAY { 标识符1,常量1}[标识符2,常量2]…[UPON 助忆名]

–ACCEPT语句和DISPLAY语句不必定义文件,适用于少量的数据输入输出。

(3)读语句READ

READ 文件名RECORD [INTO 标识符] [; AT END 执行语句]

其中文件名为内部文件名,它在环境部中和外部文件相关联

RECORD含义:每执行一次,只是读入一个记录,而非整个文件

(4)写语句WRITE

在用WRITE语句输出一个输出记录前,应当向该记录区传送数据。

–MOVE T1 TO OUTPUT-RECORD.

–WRITE OUTPUT-RECORD.

可以用一个WRITE语句先把内存区中另一数据项的内容送给要输出的记录区,然后再输出。

? WRITE OUTPUT-RECORD FROM T1 AFTER 3.

? 相当于

? MOVE T1 TO OUTPUT-RECORD.

? WRITE OUTPUT-RECORD AFTER 3.

(5)OPEN语句:程序中如果需要读写文件,则该文件必须先用OPEN语句打开

OPEN语句的一般格式为:

OPEN INPUT 文件名1 [,文件名2]…

OPEN OUTPUT 文件名3 [,文件名4]…

(6)CLOSE语句:当对一个文件的读或写的操作已完成,就应关闭该文件。

CLOSE语句的一般格式为:

CLOSE 文件名1 [,文件名2]…

3.算数运算语句

(1)ADD语句:

ADD A, 15 TO B A+15+B=>B

ADD A, B TO C, D A+B+C=>C和A+B+D=>D

ADD A, B GIVING C , D A+B=>C和A+B=>D

TO 和GIVING 后面只能跟数据名,不能跟常量。

(2)SUBTRACT语句:

SUBTRACT B, C FROM A A-B-C=>A

SUBTRACT B, C FROM A, T A-B-C=>A和T-B-C=>T

SUBTRACT B, C FROM A GIVING T A-B-C=>T

(3)DIVIDE语句:

DIVIDE A INTO B 是指B/A=>B

DIVIDE A INTO B GIVING C 是指B/A=>C

DIVIDE A BY B GIVING C 是指A/B=>C(有BY一定有GIVING)

(4)MULTIPLY语句:

格式1:MULTIPLY 标识符1/常量1 BY 标识符2 [,标识符3]…

格式2:MULTIPLY 标识符1 /常量1 BY 标识符2 /常量2 GIVING 标识符3 [,标识符4]…

加法和减法语句可以进行两个以上的数值计算,但乘法和除法语句只能在两个量之间进行。(5)COMPUTE 语句:

COMPUTE 标识符1 [,标识符2 ]…= 算术表达式

运算的优先级由高到低顺序为:(),正负号,** ,* 或/ ,+ 或-

如:A*B*C+D3=>T A*B*C+D3=>P 则:

COMPUT T,P = A * B * C + D ** 3

3.传送语句

(1)用MOVE语句实现同名替换。

02 OLD-DATE. 02 NEW-DATE.

03 X. 03 X.

04 X1… 04 X2…

04 X3… 04 X1…

03 Y1. 03 Y.

04 A1… 04 A1…

MOVE X1 OF X OF NEW-DATE TO X1 OF X OF OLD-DATE.

(2)用CORRESPONDING子句的传送——对应传送(同名传送)

对应传送的一般格式:

MOVE CORRESPONDING 标识符1 TO 标识符2 CORR

如果两个组合项中包括的项不同,则只传送同名的项。

4.转移语句(GO TO)

格式1:GO TO 过程名

格式2:GO TO 过程名1 [,过程名2]…过程名n DEPENDING ON 标识符

注意:段名或节名为过程名。只能转移到段或节的开头,不能转移到段或节的当中某一语句。

5.条件语句(IF)

(1)IF语句的两种形式

(1)IF 条件语句组

(2)IF 条件语句组1 ELSE 语句组2

注意:句点在IF 语句中的特殊作用。

(2)IF语句的较高技巧

条件名条件说明的一般格式:

88 条件名{ V ALUE IS} 常量1 [{THRU} 常量2] [常量3 [ [{THRU} 常量4]] …]

如:77 X PIC 9(6).

88 X1 V ALUE 0 THRU 99.

88 X2 V ALUE 100 THRU 999.

88 X3 V ALUE 1000 THRU 4999.

88 X4 V ALUE 5000 THRU 100000.

IF X1 MOVE 0.03 TO R.

IF X2 MOVE 0.04 TO R.

IF X3 MOVE 0.05 TO R.

IF X4 MOVE 0.06 TO R.

6.停止语句(STOP)

其一般格式为:

STOP RUN

常量

7.算术运算语句的较高技巧

(1)四舍五入处理(ROUNDED子句)对被截断的后一位进行四舍五入处理

ADD A,B GIVING C ROUNDED,E,F ROUNDED

COMPUTE A ROUNDED = B * C +D

(2)长度溢出处理(ON SIZE ERROR 子句)

MULTIPLY A BY B GIVING C ON SIZE ERROR DISPLAY ?SIZE ERROR‘ STOP RUN.

注意:当ROUNDED 与ON SIZE ERROR 一起使用时,先按ROUNDED作四舍五入处理,再判断是否溢出。

(3)除法语句中的余数语(REMAINDER 子句)

DIVIDE A INTO B GIVING C REMAINDER D

注意:(1)商和余数的值不仅取决于除数和被除数,还取决于数据部中对商和余数的描述。

(2)如用ROUNDED子句,它只对商起作用,余数不作四舍五入处理,在计算余数时,仍按四舍五入前的值为准。

(3)长度溢出也只检查商的值是否溢出,而不检查余数。

8.执行语句(PERFORM)

(1)执行语句的最简单形式:

PERFORM 过程名

执行语句的一般形式:

PERFORM 过程名1 [THRU] 过程名2

(2)PERFORM语句的嵌套:在一个执行语句所―调用‖的语句序列中,又包括另一个执行语句,这叫嵌套。

嵌套规则:嵌套不能交叉或有共同的终点。

(3)使用PERFORM语句实现循环:

1. PERFORM 过程名1 [{THRU} 过程名2 ] 整数TIMES

标识符

2. PERFORM 过程名1 [{THRU} 过程名2 ] UNTIL 条件

先判断UNTIL后面的条件是否满足,若不满足则执行执行语句。

3. PERFORM 过程名1 [{THRU} 过程名2 ] V ARYING 标识符1 FROM 常数1 BY 常数2 UNTIL 条件标识符2 标识符3

例:PERFORM T1 THRU T2 V ARYING (循环变量)X FROM 0(初值)BY 2 (步长)UNTIL (条件)X>5.

(4)COBOL 允许三重循环,其一般格式

可写为:

PERFORM 过程名1 [{THRU} 过程名2 ]

[V ARYING 参数1 FROM 初值1 BY 步长1

UNTIL 条件1 ]

[AFTER 参数2 FROM 初值2 BY 步长2

UNTIL 条件2 ]

[AFTER 参数3 FROM 初值3 BY 步长3

UNTIL 条件3 ]

U5

1.调用程序与被调用程序间的数据联系

(1)调用语句的一般格式:

CALL 子程序名[ USING 数据名1 [,数据名2]……]

被调用程序中过程部部头的一般格式为

PROCEDURE DIVISION [USING 数据名1[,数据名2]……]

主程序和子程序中USING子句中各参数是依照它们各自的次序确定关系的,而不是依照名

字相同来确定。

2.子程序的结构

1.标识部

说明子程序的名字,以供调用。

2.环境部

3.数据部

(1)文件节(FILE SECTION)

(2)工作单元节(WORKING-STORAGE SECTION)

(3)联接节(LINKAGE SECTION):如果子程序过程部部头的USING子句中有数据名,则此数据名应在此节中加以说明。

4.过程部

过程部的部头:PROCEDURE DIVISION USING 数据名1,数据名2,……

过程部中应该包括一个程序出口语句:

END PROGRAM 程序名.

例:

DATA DIVISION.

LINKAGE SECTION.

77 X PIC 99.

77 Y PIC 99.

77 Z PIC 99.

PROCEDURE DIVISION USING X, Y, Z.

S. COMPUTE Z=X-Y.

END PROGRAM SUB.

主程序:

PROCEDURE DIVISION.

S. CALL ?SUB‘ USING A, B, C.

DISPLAY ?C=?, C.

STOP RUN.

外部子程序?

主程序结束——STOP RUN.

子程序结束——EXIT PROGRAM.

3. IS INITIAL 子句

(1)缺省状况下,下次调用的时候,程序保留其上次调用后的状态,所有打开的文件仍然打开,所有数据项保留上次运行时决定的值

(2)可以将子程序强制设置为每次调用都从初始状态进行:方法是在PROGRAM-ID 中使用IS INITIAL子句

4. 全局数据和文件(GLOBAL子句)

(1)全局数据

01 DATA1 IS GLOBAL.

02 …

02 …

注意:

GLOBAL只能用于01层,其所有下层数据均具有全局特性,可以被任何子程序引用。

GLOBAL属性只适用于单个方向。程序不能引用其所包含的程序中定义的数据项

如果子程序局部数据名字和主程序中全局数据名字一样,则在该子程序内部屏蔽对全局数据的引用

子程序嵌套情况下,主程序A中的全局数据在其子程序B中被同名重新定义为全局数据,则在B的子程序C中引用该全局,但是数据是子程序B的,而不能引用A的

(2)全局文件

文件名和其相关记录也可以通过在FD项目中加上

GLOBAL子句从而具有全局属性

FD FILENAME IS GLOBAL.

01…

02….

5. 外部文件与数据

EXTERNAL子句和GLOBAL有相似性。具有外部属性的同名文件与数据,不管是在主程序还是子程序,不管是同时编译还是单独编译,都共享同一内存区域。

(1)外部文件

任何地方如下声明的文件都是同一文件

FD FILENAME IS EXTERNAL....

01 …

02…

(2)外部数据

和外部文件类似:

01 DATA1 IS EXTERNAL…

02…

6.编译联接包含调用子程序的源程序

//TANGFFAB JOB ACCT#,TANGFF,MSGLEVEL=(1,1),NOTIFY=TANGFF

//STEP1 EXEC PROC=IGYWCLG

//COBOL.SYSIN DD DSN=TANGFF.TEST.SOURCE(LAB5),DISP=SHR

// DD DSN=TANGFF.TEST.SOURCE(LAB5S),DISP=SHR

//LKED.SYSLMOD DD DSNAME=TANGFF.TEST.LOAD(LAB5)

U6

1.序号(即指出表中第几个元素)称为下标,相对地址(相对于表中第一个元素的字节地址)称为位标,下标和位标统称为―出现号‖。

2.表的建立(OCCURS子句)

(1)格式:OCCURS 整数TIMES (在数据部中说明)

举例:01 STUDENT-RECORD.

02 STUDENT OCCURS 100 TIMES.

03 MATH PIC 9(4).

03 ENG PIC 9(4).

进一步简化:03 COURSE OCCURS 2 TIMES.

这样又建立了一个表―COURSE‖,它的元素需要两个下标才能确定,因此是一个二维表。如果要找第三个学生的英语成绩,则:COURSE (3, 2) , 第一个下标是指第几个学生,第二个下标指出第几门成绩。

(2)说明:

1.OCCURS子句不能出现在77层,因为77层是独立的

数据项。

2.OCCURS子句不能用于01层。

3.只有当OCCURS所说明的数据是初等项时,才能在

该数据项的描述中使用PIC子句。

4.不能用V ALUE子句对表赋初值,不能同时用

OCCURS子句和V ALUE子句来描述同一数据项。

5.多维表的元素在内存中是以行排列的。如果A是一

个二维表,每一维中包含两个元素,在内存中按以下顺序

排列:A(1,1)=>A(1,2)=>A(2,1)=>A(2,2)。

3.表元素的引用

格式:表名(下标或位标)

说明:表必须先在数据部定义,才能在过程部引用。

01 TABLE.

02 B OCCURS 8.

03 C1 PIC X(2).

03 C2 PIC X.

1.如果B是一个表,不能直接引用表名B而不加下标。

MOVE B(1) TO A. MOVE TABLE TO A.

2.如果表元素是组合项,则引用它下属的项(可以是初等项或组合项),也必须用下标指明它是属于哪一个表元素的。

MOVE C1 (2) TO A. 是正确的,表示传送B(2)中的C1给A。

3.如果表元素是组合项,可以用它对下属的数据项进行限定,但带下标的数据名不能被限定。

MOVE SPACE TO C1 OF B(2).

4.下标只能是整常数或具有整型值的数据名,如A(I),A(3)为合法。不能是表达式,如:A(I+1),A(3+4)是不合法的。

5.下标不能是带下标的数据名,即不能是表元素。如A( A(1))是不合法的。

4.可变长表

格式:OCCURS 整数1 TO 整数2 TIMES DEPENDING ON 数据名1

说明:根据数据名1的值来确定数据项重复的次数,即表元素的个数。数据名1可以在表所在的记录中描述,也可以在工作单元节中描述,但不能是表中的一部分。

例:

01 STUDENT-RECORD.

02 STUDENT OCCURS 10 TO 100 TIMES

DEPENDING ON STUDENT-NUM .

03 MATH PIC 9(4).

03 ENG PIC 9(4).

02 STUDENT-NUM PIC 9(3).

5.给表元素赋初值(三种方法)

1.对包括所有表元素的整个表赋给一个初值,这时可以对表的描述体上面一层的数据项赋一个初值即可。

例1:01 TABLE V ALUE IS ZERO.

03 Q OCCURS 20 PIC 9(3).

例2:01 T V ALUE ‘ABCDEFHIJ‘.

03 Q OCCURS 3 PIC X(3).

这样,Q(1),Q(2),Q(3)的内容分别是ABC,DEF,HIJ。

2.联合使用OCCURS子句和REDEFINES子句来给各个表元素

赋值。

步骤:

(1)先在工作单元节中定义一个组合项,它占的内存的大小和需赋值的表一样,在该组合项中定义若干个数据项,数据项的描述和表的元素相同。

(2)然后对这些数据项分别用V ALUE子句赋以初值,由于在这些数据项的描述中没有出现OCCURS子句,因此用V ALUE赋初值是合法的(V ALUE子句和OCCURS子句不能同时用来描述一个数据项)。这些值就是要赋给表元素的初值。

(3)把这个组合项重定义为一个表。

例:

01 PRICE-TABLE.

02 FILLER P IC X(10) V ALUE ?0010000200‘.

02 FILLER PIC X(10) V ALUE ?0020000500‘.

02 FILLER PIC X(10) V ALUE ?0030000400‘.

02 FILLER PIC X(10) V ALUE ?0040000300‘.

02 FILLER PIC X(10) V ALUE ?0050000300‘.

01 PRICE-TABLE-R REDEFINES PRICE-TABLE.

02 TABLE OCCURS 5.

03 PROD-CODE PIC 9(4).

03 PROD-PRICE PIC 9(6).

3. 用MOVE语句赋值。

6.用位标法引用表元素

? 下标——元素在表中的序号

? 位标——元素在表中的相对位置

1.位标的概念:位标的值表示表元素在该表中的相对位置(以

字节数表示)。以表的第一个元素的第一个字节作为相对地址0,

位标就是所指定的元素的第一个字节的相对地址,即它对表的

起始位置的位移量。相对地址的计算公式是:

(表元素的序号-1)×表元素长度

2.位标名的指定方法:用位标法引用元素可以写成T(I)形式,其

中I是位标名。在数据部中定义一个表时所用的OCCURS子句中

要加上―INDEXED BY 位标名‖短语来指定。

01 A.

03 T OCCURS 5 PIC X(2) INDEXED BY I.

注意:位标不能用来进行算术运算不能在数据部中定义。

有时需要把位标的值转存到另一个数据项中,但由于位标是特殊类型的数据项,因此,需要另外定义一种特殊的数据项叫位标数据项,用来专门存储位标的值。位标数据项在数据部中定义。描述位标数据项用USAGE子句。例如:77 K USAGE IS INDEX.

7.SET(设置)语句

1.作用:将一表元素的相对地址放到指定的位标去。

如:SET I TO 10.

表示将位标I置位到第10个元素的第一个字节的相对地址上去。

2.格式一

SET 标识符1[,标识符2]…… TO 标识符3/位标3/整数

位标1[,位标2]……

3.格式二

SET 位标1 [,位标2]…… UP/DOWN BY 标识符/整数

作用:给位标所代表的序号增减一个量。

8.表的检索

1.用于顺序检索的SEARCH语句

格式:SEARCH 表名[V ARYING 位标名1/标识符2][AT

END 强制语句1]

WHEN 条件1 强制语句2/NEXT SENTENCE

[WHEN 条件2 强制语句3/NEXT SENTENCE]……

SEARCH语句是这样执行的:从指定的表元素开始,检查是否满足WHEN后面指定的条件。如不满足,就使N(位标)增值,自动执行一个SET N UP BY 1。使N指向下一个元素的地址,如果查到某一个元素满足指定的条件时,查表工作立即停止,执行WHEN字句中条件后面的语句。

举例:SET N TO 1.

SEARCH WORKER-TABLE

AT END DISPLAY?CANNOT FIND NAME‘

WHEN NAME(N)=?ZHANG SHENG‘

DISPLAY NAME(N),PAY(N).

其中N必须是位标。

01-Cobol-基础知识讲义

第一章关于COBOL的初步知识 一. COBOL语言的特点 COBOL是Common Business-Oriented Language(公用面向商业的语言)的缩写,主要供数据处理、数据收集及分析之用。COBOL自60年代初开始广泛应用于计算机应用领域(商业和其他领域)。事实上,除了商业之外,各种管理工作都广泛使用COBOL,如各种统计工作,财会工作,企业计划编制,作业制度,情报检索,人事管理等。COBOL针对商业世界的使用,是真正商用应用程序开发的首选语言。 . 1 适于数据处理领域。 . 2 采用英语语法的高级语言,可读性、可维护性、可移植性较强。 3 . 通用性强,标准化程度较高。 . 4 结构严谨,层次分明。 . 5 缺点是比较繁琐。 . 最简单的COBOL程序介绍 二例1: IDENTIFICATION DIVISION.(标识部) PROGRAM-ID. EXAM1.(程序标识段) ENVIRONMENT DIVISION.(设备部) DATA DIVISION.(数据部) PROCEDURE DIVISION.(过程部) A. DISPLAY ‘THIS IS A COBOL PROGRAM.’. STOP RUN. 例2: IDENTIFICATION DIVISION.(标识部) PROGRAM-ID. EXAM2.(程序标识段) ENVIRONMENT DIVISION.(设备部) DATA DIVISION.(数据部) WORKING-STORAGE SECTION.(工作单元节) 77 A PICTURE IS 9(3).(对A进行描述) 77 B PICTURE IS 9(3).(对B进行描述) PROCEDURE DIVISION.(过程部) S. ACCEPT A.(输入A值) ACCEPT B.(输入B值) ADD A TO B.(A+B->B) DISPLAY A,B.(显示A和B值) STOP RUN. 三.COBOL程序的结构 1.部 每个程序都包括四个部: IDENTIFICATION DIVISION (标识部)提供程序的一般性文档说明,主要用来指定源程序名。 ENVIRONMENT DIVISION (环境部)列出程序中所用到的文件。程序中不需要外部文件时,环境部为空,也可以省略部标题。 DATA DIVISION (数据部)程序中所用到的全部数据(包括:文件数据—-用于输入输出、静态数据、参数等)都应在数据部中说明它们的类型和所占内存的情况。 PROCEDURE DIVISION (过程部)包含构成程序的过程性语句,用来给出程序要执行的指令,使计算机产生相应的操作。 2.节和段 标识部下只有各个段。除标识部以外,每个部下可以有若干个节(SECTION),每个节以“节头”作标识。每个节下又可包括若干段(PARAGRAPH),每个段用“段名”标识。各个段内有各种COBOL元素。 3.句子,语句和子句 在过程部中,每一段由若干个句子(Sentence)组成。一个句子是以英文句号来结束的。句子又由语

COBOL+CICS文件操作

COBOL+CICS文件操作 1.输入输出数据 非CICS: ACCEPT数据来源:终端输入和系统接收。 一般系统接收数据为日期或者时间。 DA TE--YYMMDD. DAY---YYDDD. DAY-OF-WEEK--- PIC 9. 范围1-7. TIME---HHMMSSHH,最后HH表示hundredths from midnigth. 如:DA TA DIVISION. WORKING-STORAGE SECTION. 01 INPUT-DATE. 05 INPUT-YEAR PIC 99. 05 INPUT-MONTH PIC 99. 05 INPUT-DAY PIC 99. * PROCEDURE DIVISION. ... ACCEPT TEST-DA TE. DISPLAY TEST-DATE. ---终端输入的数据 ACCEPT TEST-DA TE FROM DA TE. --系统产生的数据 DISPLAY TEST-DATE. --输出 CICS下: 如:DA TA DIVISION. WORKING-STORAGE SECTION. 01 INFLDS. 05 INLEN PIC 9(4) COMP. 01 INPUT-NAME. 05 INPUT-FIRST PIC X(10). 05 INPUT-MIDDLE PIC X(10). 05 INPUT-LAST PIC X(10). *PROCEDURE DIVISION. ... MOVE 15 TO INLEN. EXEC CICS RECEIVE INTO(INPUT-NAME) LENGTH(INLEN) --所接收的最大长度,小于为实际,大于为异常END-EXEC. EXEC CICS SEND FROM(INPUT-NAME) LENGTH(20) --为实际长度,并非变量。输出位置为当前光标位置END-EXEC. ... GOBACK.

计算机基础知识知识点归纳

计算机基础知识知识点归纳: 1、世界上第一台电子计算机诞生于 1946年 世界第一台电子计算机的英文名称是。(答案O A.ENIAC B.IBM https://www.doczj.com/doc/2214035100.html, D.PC ' 世界第一台电子计算机于 _____________ 年诞生。(答案:B ) A.1940 B.1946 C.1960 D.1980 .体系。(答案:B ) A.比尔?盖茨 B.冯?诺依曼 C.唐纳德?希斯 D.温?瑟夫 2、世界上首次提出存储程序计算机体系结构的是 B _ 型计算机。 B 冯?诺依曼 C 温?瑟夫 D 唐纳德?希斯 【计算机的特点】 1.处理速度快 '现代计算机的运算速度可以达到每秒钟数千亿次 (通常以每秒钟完成基本加法指令的数目来 '表示计算机的运算速度),这不仅使得许多大型数据处理工作时间大大缩短,促成了天气预 '报、数值模拟等技术的广泛应用,更使得许多实时控制、在线检测等处理速度要求较高的工 '作得以实现。同时,计算机具有很高的逻辑运算速度, 这使得计算机在非数值数据领域中得 '到了广泛的应用。 ' 2 .运算精度高 '计算机一般都有十几位甚至更多位的有效数字,加上先进的算法,可得到很高的计算精度。 '例如,对圆周率n 的计算,在没有计算机的情况下, 数学家要经过长期的努力才能算到小数 '点后500多位,而使用第一台计算机仅仅用了 40秒钟就打破了这一记录。 ' 3 .具有逻辑运算和记忆能力 :计算机的存储器具有存储数据和程序的功能, 它可以存储的信息量越来越大。计算机不仅可 '以进行算术运算,而且可以进行逻辑运算,可以对文字、符号等进行判断、比较,因而可解 '决各种不同类型的问题。 ' 4 .具有自动控制能力 '计算机内部的操作、 运算是在程序的控制下自动进行的, 它能够按照程序规定的步骤完成指 定的任务,而不需要人工干预。 ' 5 .通用性强 '计算机是靠存储程序控制进行工作的。 在不同的应用领域中, 只要编写和运行不同的应用软 :件,计算机就能在任一领域中很好地完成工作。针对不同的需要, 设计不同的程序,这就能 '使计算机具有很强的通用性。 'I 计算机的特点有 A.运算速度快 B.具有逻辑判断功能 C.存储容量大 D.计算精度高 【计算机的发展历程】 1.第一代:电子管计算机(1946年—1958年) 1946 年 2 月,世界上第一台电子数字计算机 ENIAC (Electronic Numerical Integrator And 现代的计算机系统都属于 冯?诺依曼 现代计算机时 A 比尔?盖茨 。(答案:ABCD )

cobol基本语法教学内容

c o b o l基本语法

基本語法 一、COBOL基本語法 一、cobol的书写格式(每行) 1、前6列为序号区(一般不编辑) 2、第7列为标示列,仅可以写如下几个标示符。 a. “*”注释符(注释当前行的代码) b “-“字符串连接符 3、第8列---11列为A区,包括以下内容。 a 部、节名。 b 层号01 4、第12列---72列为B区,过程部的程序必须写在B区中。 5、第72以后部分不能编辑。 二、cobol的语法结构 (几大部分) 1、标示部(IDENTIFICATION DIVISION):提供程序的一般性文档说明。 2、环境部(ENVIRONMENT DIVISION): 提供程序外部有关的项目。 a.配置节(CONFIGURATION SECTION) ①.指定源计算机(SOURCE-COMPUTE). ②.目标计算机(OBJECT-COMPUTE). b. 输入输出节(INPUT-OUTPUT SECTION). 文件的物理路径的定义。 方法二:(过程部中动态指定文件) SELECT FILE-LOG ASSIGN TO SELECT-FILE ORGANIZATION IS LINE SEQUENTIAL. 在数据部定义字符串变量SELECT-FILE,在文件FILE-LOG打开前动态指定文件路径。 3、数据部(DATA DIVISION)。 程序中的变量都在数据部中定义,Cobol中没有全局变量和局部之分。(变量的类型结构参照5.变量类型) a. 文件节(FILE SECTION) 给环境部定义的文件指定一个RECORD变量,读写文件用: FD FILE-LOG. 01 RECORD-LOG PIC X(2000). b. 工作存储节 定义程序中用到的临时变量。 a) COBOL变量定义需要加层号(表示层次关系), ·层号从01开始 如: 01 I PIC X(10). ·组合项 如: 01 WORK-AREA. 05 NUM-1 PIC 9(09).

计算机软件基础知识点

计算机软件基础知识点 【篇一:计算机软件基础知识点】 电脑软件基础知识一: 软件分为几类,我们一起了解下:硬件驱动程序 光有硬件,电脑是并不能工作的。必须要有能驱使硬件工作的软件 才能让硬件工作,这种软件就是我们平常说的驱动程序。 任何都必须要有对应的驱动程序才能正常工作。驱动程序是电脑软 件之中最基本的软件,也是保障电脑顺利工作的基础。 从winows98以后的中,都了很多常见设备的驱动程序。比如usb,显卡等。不过有些设备必须单独装对应的驱动。各个驱动程序之间 极有可能产生不兼容的情况。驱动版本也不是越新越好,稳定最重要。操作系统 操作系统是大家听的最多的一种软件,它为电脑中其他应用程序提 供的操作平台,就像我们吃饭的桌子一样,为我们提供一种可以操 作的平台。 目前最常见的系统为windows xp ,win7 ,linux,其中win7将逐 渐变成主流。应用软件 应用软件就是我们日常用到的软件程序,这些程序可以帮助我们完 成生活中的很多工作,也就是真正体现电脑用途的东西。如office. 电脑发展到现在,应用软件业涉及到社会的各个行业领域,几乎在 能用到电脑工作的地方,都能对应一种以上的应用软件。 电脑软件基础知识二: 电脑软件,是人们为了告诉电脑要做什么事而编写的,电脑能够理 解的一串指令,有时也叫代码、程序。 根据功能的不同,电脑软件可以粗略地分成四个层次。最贴近电脑 硬件的是一些小巧的软件。它们实现一些最基本的功能,通常固化 在只读存储器芯片中,因此称为固件。 系统软件包括操作系统和编译器软件等。系统软件和硬件一起提供 一个平台。它们管理和优化电脑硬件资源的使用。常见的中间件 包括数据库和万维网服务器等,它们在应用软件和平台之间建立一 种桥梁。 应用软件种类最多,包括办公软件、电子商务软件、通信软件、行 业软件,软件等等。

宏病毒文档修复前备份

2、数据库的特点是( ) A、与其他软件连接 B、描述数据性质 C、数据库的用户 D、用数据字段表示实体的属性 2 、 SQL 是 A 、结构化查询语言 B 、结构化疑问语言 C 、法定查询语言 D 、法定疑问语言 3 、操作系统的作用是 A 、一种程序语言 B 、使用户能与计算机交互的界面 C 、给用户提供一个应用平台 D 、是一个应用软件的例子 4 、下列哪一种是应用软件 A 、 Fortran B、PASCAL C、Word for Windows D、Windows XP 5 、用户接口软件是为了 A 、使得用户和系统交互更方便 B、替换DOS C 、使得编程工作更加容易 D、替换应用软件 6 、 DBMS 是用来 A 、开发电子数据表 B、管理数据库中的大量数据 C 、在数据库和电子数据表之间处理大量数据 D、使一个文字处理器连接到一个电子数据表 7 、下列哪一个不是数据的类型 A 、常量 B 、变量 C、字符 D、表格 8 、下列哪一个是计算机处理方法 A 、解释 B 、编译 C、汇编 D、批处理 9 、下列哪一个不是一种数据类型 A 、字符型 B 、数值型 C、实数型 D、列表 19 、程序设计语言是用于 A 、运行计算机 B 、运行计算机而不是DOS C 、编写应用软件 D 、控制硬件和软件 20 、下列哪一个是图像文件格式 A 、 JPEG B 、 MP3 C 、 ASII D 、二进制

1.最适合于建立通讯地址簿并具有查询功能的软件是:() A.CAD应用 B.数据库软件 C.文字处理软件 D.电子表格软件 3.UNIX是一种 A.第四代程序设计语言 B.编译程序 C.个人电脑 D.多用户操作系统 5.在数学计算和科学研究中常用的程序设计语言是 A.C++ B.COBOL C.FORTRAN D.PROLOG 11.第一代程序设计语言是 A.C语言 B.机器语言 C.javascript D.脚本语言 12.数据库管理员的主要职责是 A 管理数据库和设定用户访问权限 B负责每天更新数据库中在数据 C 维护数据库运行所需的硬件设备 D 为有权访问数据库的用户提供详细的查询 13.关系数据库是 A 一系列相关在二维表 B 一系列记录 C 一系列相关文档 D 基于大型机的大型数据库 19.信息的定义是 A 存储在计算机中的数据 B 存储在数据库中的数据 C 显示在计算机屏幕上或打印出来能看到的数据 D 经过处理后得到的有用数据 10、计算机的机器语言是( ) A、第五代计算机语言 B、第一代计算机语言 C、标记性语言 D、计算机高级程序语言 17、用于数值计算和科学研究的计算机语言是( ) A、C语言 B、COBOL语言 C、FORTRAN语言 D、PROLOG语言 4、通常将有用的数据称为( ) A、数据变换 B、高级编程 C、伪代码 D、信息 7、如果你想建立一个可查询的地址簿,选择的应用软件是( ) A、分页软件 B、数据库软件 C、字处理软件 D、多媒体编辑软件 8、宏是( ) A、一种报告错误的程序 B、一种软件报告 C、一种自动触发文件的方法 D、一种高级语言编写的程序 计算机中宏又称为宏命令,即通过特殊的控制语,将一系列动作简便化;即:一种批处理的程序 10、用于进行数学计算和计算机语言是( ) A、C语言 B、COBLL C、FORTRAN D、PROLOG A、C语言 B、机器语言 C、PROLOG D、汇编语言 12、第一代计算机语言是指( ) 15、UNIX是( ) A、第四代程序语言 B、解释程序 C、应用软件 D、多用户操作系统

cobol考前知识点 (1)

U1 1.COBOL是Common Business Oriented Language (通用商业语言) 2. COBOL的组成部分: (1)标识部(IDENTIFICATION DIVISION):用于标识程序名(一般不超过8位)。在标识部下面不设节.直接设段 (2)环境部(ENVIRONMENT DIVISION):用于说明程序运行的环境。 (3)数据部(DATA DIVISION):用于说明程序中涉及的所有数据。数据部下设节,节下面是描述体 (4)过程部(PROCEDURE DIVISION):是程序的核心部分,它决定计算机应进行什么操作。过程部可以设节,下面再设段,也可以直接设段(部-节-段-句子-语句-子句) 3.COBOL 源程序的书写格式: 第1 至6 列为―标号区‖。 第7列为―续行标志区‖。 第8至此11列,称为―A区‖。程序中有些内容如部头,节头,段头,层号01,层号77 及文件描述符FD等应从A区开始写。 第12至此72列,称为―B区‖。写程序中的正文部分。如过程部中的句子只能从B 区开始写。 第73至80列,称为―注释区‖。 书写注意事项:运算符(如加、减、乘、除、乘方)和等号左右两边必须各留一个空格。在过程部中左括号的左侧和右括号的右侧要留一空格,而内侧不必留空格。逗号、句号、分号的左边不能留空格,而右边应有空格。 4.COBOL语言的元素 ―#‖―!‖―?‖―%‖只能在COBOL程序中的字符串中出现。 每一个COBOL字不能超过30个字符。 5.数据名的定名规则 (1)每个数据名的长度为1-30个字符之间。 (2)只能由字母数字和连接符―-‖组成,而且其中至少应有一个字母。连接符只能出现在数据名的中间。 (3)数据名中不能出现空格。 (4)不应选择COBOL的保留字作为数据名。 (5)并不要求数据名是有意义的英文字。 6.COBOL程序的运行 JCL

COBOL面试1—30题答案

COBOL面试1—30题答案 A1) IDENTIFICA TION DIVISION, ENVIRONMENT DIVISION, DA TA DIVISION, PROCEDURE DIVISION. Q:列举COBOL的DEVISION A:标识部,环境部,数据部,过程部 A2) Alpha-numeric (X), alphabetic (A) and numeric (9). Q:COBOL有哪些可用的数据类型 A:字符型(这里指的是包含字母和数字),字母型,数字型 A3) Alphabetic, Alphanumeric fields & alphanumeric edited items are set to SPACES. Numeric, Numeric edited items set to ZERO. FILLER , OCCURS DEPENDING ON items left untouched. Q:INITIALIZE这个词做了些什么 A:将字母,字符,数字区域都置成空格(置空),将数字区置0,FILLER和OCCURS DEPENDING ON项不处理 A4) Elementary level item. Cannot be subdivisions of other items (cannot be qualified), nor can they be subdivided themselves. Q:77层有什么作用 A:基本层数据项,不能用做细分别的层,也不能被细分 A5) For condition names. Q:88层有什么作用 A:条件逻辑层 A6) For RENAMES clause. Q:66层有什么作用 A:重命名层 A7) IS NUMERIC can be used on alphanumeric items, signed numeric & packed decimal items and unsigned numeric & packed decimal items. IS NUMERIC returns TRUE if the item only consists of 0-9. However, if the item being tested is a signed item, then it may contain 0-9, + and - . Q:IS NUMERIC这个子句怎么确定(也就是说确定句子的真值) A:IS NUMERIC用在字符项,带符号数字,浮点数,不带符号数。如果目标项只含0~9则返回TRUE。但是,如果待测项目是个带符号数,那么他就含有0-9还有+和- A8) ARRAYS. 05 ARRAY1 PIC X(9) OCCURS 10 TIMES. 05 ARRAY2 PIC X(6) OCCURS 20 TIMES INDEXED BY WS-INDEX Q:COBOL中怎么建表/数组 A:如上.

浅谈COBOL开发

浅谈COBOL开发 近几年,由于IBM和HITACHI等大型机力推COBOL,使COBOL在沉睡了几年以后又重新火了起来。因为本人从毕业以来,一直在做COBOL的项目,今天斗胆把毕业以来的一些经验写出来,不管对还是错拿出来大家一起讨论讨论。 COBOL语言常用的开发方式有以下几种: 1. PC机开发。这种开发方式比较灵活,可以与当今比较流行的语言进行对接。把数据库、及开发环境都可以集成到我们的PC机上。程序执行的LOG和文件都在PC机上指定目录。当今比较流行的语言如.net、 VB、 C++等编译生成的LIB文件,COBOL都可以直接调用。这种开发方式所使用的开发工具中首推日立推出的COBOL2002,还有一个比较低的版本COBOL85,COBOL2002的优势在于DB连接方面。当然由于COBOL85版本太老,本人无缘使用,但是曾经听过一位前辈说COBOL85不能进行DB连接,也就是说COBOL85的数据存储只能以文件的形式存储。COBOL2002可以设定断点(VB、.NET程序员应该比较熟悉),程序执行过程中可以单步调试,察看变量值。COBOL2002还可以记录测试路径的覆盖率,一些异常处理可以利用设定断点的方式跑到,所以这种开发方式可以出现路径覆盖率为100%的情况。但是这种开发形式的语法要求比较低,比如说代码中出现全角空格就能顺利通过编译,而相同的代码在大机上编译就会出错。 2.B/S形式大机开发。程序员在PC机上开发,代码编写完成以后,通过FTP上传工具,把代码上传到大机端。利用远程登录telnet登录大机,在命令行输入编译代码。本身程序员在编写代码过程中完全占用PC机资源,不占用大机内存资源。当程序被传到大机上以后,才占用大机资源。由于大机是多用户多线程作业,所以即使代码死循环,大机也不会停掉。而是在这个线程执行一段时间以后,压到堆栈中,执行其他线程。这种大机典型的是H9000(HITACHI9000,个别人可能误以为是HP的产品)。大机上常常把目录固定,主处理和子程序往往在不同的目录下存放。程序执行过程中无法设定断点。如果想要查看程序执行过程中的变量,只能在代码中追加DISPLAY语句,在LOG中把变量值打出来。一般来说,大机的语法要求高一些,代码里除了X型变量中和注释出现全角空格外,其他地方出现空格是绝对不能编译通过的。 3.HOST端大机开发。程序员通过个人计算机和网络和大机相连,在编写代码的过程中,占用大机资源。就是说如果你PC删除一行代码,对应大机上也要删除一行代码。编写的代码无法在PC机上进行编译,代码需要使用大机的操作系统命令进行编译和执行。代码编写操作远远没有ULTRAEDIT方便,删除、拷贝都需要系统命令。而且要进行用户登录和退出。开发担当常常用一个文本记下所有常用命令,以便开发过程使用。这种开发的典型就是IBM 的S/390

AS400 基本命令和操作

数据描述规范DDS通过文件的记录字段仅一次的说明,可定义多种访问路径,多个程序使用。 结构化查询语言SQL/400组成:(1)SQL运行支持程序(2)SQL预编译程序(3)SQL交互式接口(4)DB2 QUERY MANAGER FOR AS/400,提供菜单、填空式提示的交互式接口,允许建立、增加、维护数据,和运行报表 PDM(PROGRAMMING DEVELOPMENT MANAGER)处理源代码、对象和库 SEU(SOURCE ENTRY UTILITY)建立和编辑源文件成员STRSEU SDA(SCREEN DESIGN AID)交互式设计、创建和维护应用屏幕 RLU(REPORT LAYOUT UTILITY)交互式定义打印报表的格式分布 DFU(DA TA FILE UTILITY)快速定义、创建面向数据录入、查询或文件维护STRDFU QUERY/400获取外部描述数据库文件信息STRQRY CL(CONTROL LANGUAGE)调用AS/400的所有系统功能。简化操作,控制工作流程,设置作业运行环境等 AS/400三级存储结构 库(LIBRARY)——数据库文件(FILE)——成员(MEMBER) 一级目录——二级目录——三级目录 字段是用来描述某一属性的一组值;字段定义是对字段属性的说明 记录是把一组字段放在一起命名,用来说明某一事物;记录格式是对记录中所有字段的简单说明以及对各字段排序的说明 文件是已命名的一组记录,文件说明是对文件所有的记录格式和存取路径的说明,数据库文件分为数据文件和源文件,数据文件就是程序中使用的物理文件和逻辑文件。 物理文件(*FILE,PF-DTA):在SQL中称做表(TABLE),含有系统实际存储的数据,每个物理文件只有一个固定长度的记录格式。CRTPF 逻辑文件(*FILE,LF):在SQL中称做表(VIEW),它不含有实际数据,依附于物理文件,可以描述一个或多个物理文件的记录(JOIN逻辑文件)。CRTLF 源文件(*FILE,PF-SRC):是系统用来建立源程序(RPGLE、CLLE、C)或源物理文件(PF)等目标的源说明CRTSRCPF 库名:存放该应用系统的源程序库就命名为SGM SRC,存放该应用系统目标的库可命名为SGM OBJ CRTLIB 源文件名:存放程序的源文件叫R+PGM+SCF,存放物理文件和逻辑文件定义的源文件叫R+DTA+SCF 物理文件/逻辑文件名:学生成绩表命名为STGD+A其中一个逻辑名为STGD L1 程序名:SGM+0400+R‘R’:RPGLE,‘C’:C,C或CL,‘R’:报表等 DDS行中对物理文件有效的位置是: 6:A=DDS 17:R=RECORD NAME ,K=KEY FIELD NAME,BLANK=FIELD NAME)

Cobol基础

Cobol 语法基础 作成者审查者承认者 丁成远 变更履历 日期版本作成者备注 2005-03-01 1.0 丁成远初版

一.COBOL 语言的特点 最适于数据处理领域:算数计算量少而逻辑处理量多,输入输出量大,数据间存在着一定的逻辑关系,大量的分类排序;COBOL 比较接近英语,容易懂;通用性强,易植,COBOL结构严谨,层次分明。 二. COBOL的组成部分 1.标识部(IDENTIFICATION DIVISION):用于标识程序名。

IDENTIFICATION DIVISION. PROGRAM-ID. 程序名。 [AUTHOR。作者名。 ] [INSTALLATION。计算机设置场所。 ] [DATE-WRITTEN。源程序编写日期。 ] [DATE-COMPILED。源程序编译日期。 ] [SECURITY。保密程度。] 2.环境部(ENVIRONMENT DIVISION):用于说明程序运行的环境。ENVIRONMENT DIVISION. CONFIGRATION SECTION。 SOURCE-COMPUTER。源计算机名。 OBJECT-COMPUTER。目标计算机名。 [SPECIAL-NAMES。专用名描述项。 ] [INPUT-OUTPUT SECTION。 FILE-CONTROL。 {文件控制描述体} [I-O-CONTROL。输入输出控制描述体]] 3.数据部(DATA DIVISION):用于说明程序中涉及的所有数据。4.过程部(PROCEDURE DIVISION):是程序的核心部分,它决定计算机应进行什么操作。

COBOL语言基础教程

cobol语言基础培训教程 2009年04月23日 | 5:23 下午分类:大型机|Mainframe | 标签:cobol 数据类型、COBOL 程序举例、cobol入门、cobol教程、cobol语言、大型机培训 | CHAPTER 1 COBOL 概述 COBOL 是Common Business Oriented Language 的缩写。它不仅是商业数据处理的理想语言, 而且广泛用于数据管理领域,因此COBOL 语言也被称为”用于管理的语言”。 一。COBOL 语言的特点 最适于数据处理领域:算数计算量少而逻辑处理量多,输入输出量大,数据间存在着一定的逻辑关系,大量的分类排序;COBOL比较接近英语,容易懂;通用性强,易移植,COBOL结构严谨,层次分明。 二。COBOL的组成部分: 1。标识部(IDENTIFICATION DIVISION):用于标识程序名。 2。环境部(ENVIRONMENT DIVISION):用于说明程序运行的环境。 3。数据部(DATA DIVISION):用于说明程序中涉及的所有数据。 4。过程部(PROCEDURE DIVISION):是程序的核心部分,它决定计算机应进行什么操作。 三。最简单的COBOL 程序举例: COL 1 —6 7 8 12—72 73—80 IDENTIFICATION DIVISION。 PROGRAM-ID。 PSAMPLE1。 ENVIRONMENT DIVISION。 DATA DIVISION。 PROCEURE DIVISION。 DISPLAY ’THIS IS A COBOL PROGRAM.’ STOP RUN。 四。COBOL 源程序的书写格式: 第1 至 6 列为”标号区”。第7列为”续行标志区” 第8至此11列,称为”A区”。程序中有些内容如部头,节头,段头,层号 01,层号 77 及文件 描述符FD等应从A区开始写。 第12至此72列,称为”B区”。写程序中的正文部分。如过程部中的句子只能从B区开始写。 第73至80列,称为”注释区”。 五。COBOL字符集包括:

it基础知识

.net .NET是一个平台,一个抽象的平台的概念。它不是什么编程方法,更不是什么编程语言之类的。通常我们所说的.NET Framework(.net框架)主要包括:.net类库和CLR。 .net类库为我们提供了丰富的类,当然这些都是已经封装好的,我们可以直接使用,不同的类具有不同的功能。类库中广泛的类为我们程序功能的实现提供了足够的资源。 CLR(公共语言运行时)则是实现程序运行的基础,任何针对于CLR的语言,最终都在CLR的托管下有序运行。语言只要是针对CLR最终都会被编译成MSIL(一种中间语言),所以,这样可以实现不同语言之间的相互操作(当然前提是这种语言有针对CLR的编译器)。 vb,https://www.doczj.com/doc/2214035100.html,和C#都只是程序设计语言.程序设计语言仅仅是为了方便开发人员和计算机沟通的工具。 C#语言(微软开发的一种类Java的编程语言):C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。虽然C#语法相对C和C++要多一些,但是相对来看C#语法都比较固定,这样使用起来却都很容易。 各类主流编程语言 Java语言 1.企业级应用开发 大到全国联网的系统,小到中小企业的应用解决方案,JAVA都占有极为重要的地位 . 2.网站平台开发 JSP+Servlet+JavaBean,一直以来都相当流行模式. 3.移动领域 典型的应用是手机游戏(国内主要是这方面),大量使用到了J2ME 。 4.移动android APP开发 android 开发只用到了JAVA的语法和JAVA SE的一小部分API. javase是做电脑上的软件的,javaee是做网站的,javame是做手机软件的 虽然大多数用户很乐于将 Eclipse 当作 Java?集成开发环境(IDE)来使用,但 Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

cobol基本语法

基本語法 一、COBOL基本語法 一、cobol的书写格式(每行) 1、前6列为序号区(一般不编辑) 2、第7列为标示列,仅可以写如下几个标示符。 a. “*”注释符(注释当前行的代码) b “-“字符串连接符 3、第8列---11列为A区,包括以下内容。 a 部、节名。 b 层号01 4、第12列---72列为B区,过程部的程序必须写在B区中。 5、第72以后部分不能编辑。 二、cobol的语法结构 (几大部分) 1、标示部(IDENTIFICATION DIVISION):提供程序的一般性文档说明。 2、环境部(ENVIRONMENT DIVISION): 提供程序外部有关的项目。 a.配置节(CONFIGURATION SECTION) ①.指定源计算机(SOURCE-COMPUTE). ②.目标计算机(OBJECT-COMPUTE). b. 输入输出节(INPUT-OUTPUT SECTION). 文件的物理路径的定义。 方法二:(过程部中动态指定文件) SELECT FILE-LOG ASSIGN TO SELECT-FILE ORGANIZATION IS LINE SEQUENTIAL. 在数据部定义字符串变量SELECT-FILE,在文件FILE-LOG打开前动态指定文件路径。 3、数据部(DATA DIVISION)。 程序中的变量都在数据部中定义,Cobol中没有全局变量和局部之分。(变量的类型结构参照5.变量类型) a. 文件节(FILE SECTION) 给环境部定义的文件指定一个RECORD变量,读写文件用: FD FILE-LOG. 01 RECORD-LOG PIC X(2000). b. 工作存储节 定义程序中用到的临时变量。 a) COBOL变量定义需要加层号(表示层次关系), ·层号从01开始 如: 01 I PIC X(10). ·组合项 如: 01 WORK-AREA.

COBOL语言测试试卷(一)

COBOL语言测试试卷(一) 一、选择题(共10分) 1、关于COBOL语言,下述描述中正确的是:() A.COBOL可以用于开发操作系统。 B.COBOL还可以用于开发编译器。 C.COBOL主要用于编写面向商业的应用程序。 D.如今比较少用COBOL开发应用程序。 2、不属于COBOL程序的部的是:() A.过程部。 B.程序部。 C.数据部 D.环境部 3、COBOL代码中最小的单位是:() A. Division B. Section C. Sentence D. Statement 4、COBOL程序中的数据在哪个部中定义?() A.过程部。 B.环境部。 C.数据部 D.定义部 5、COBOL程序中如果有环境部的话,应置于:() A.过程部之后定义部之前。 B.定义部之后过程部之前。 C.定义部之后数据部之前。 D.数据部之后过程部之前。 6、定义部中不可缺少的段名是:() A.PROGRAM-ID B.AUTHOR C.FILE SECTION D.PROGRAM 7、COBOL程序中一般变量在哪里定义?() A.定义部 B.环境部 C.数据部的FILE SECTION D.数据部的WORKING-STORAGE SECTION 8、在过程部中,可以没有的是:() A.SECTION B.PARAGRAPH C.SENTENCE D.STATEMENT 9、当一个COBOL编译器区分A区和B区的时候,必须从B区开始的是:() A.段名 B.节名和01级数据 C.部名 D.过程部里的Sentences。 10、在COBOL程序中,下列用户自定义的名称有效的是:() A.This result B.-Grosspay C.Grosspay- D.Gross-pay 二、判断题(共20分)

软件工程基本知识总结

软件工程书上考点总结(选择、填空、判断、简答)大题没有 选择或判断或考点总结: 1、软件:在计算机系统中,与硬件相互依存的逻辑部件,它由程序、数据及相关文档组成。 2、软件工程:是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。 3、软件的特点: 3、可行性研究的目的:可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。 4、可行性研究的任务:一般都要从经济、技术、操作和法律四个方面来研究每种解法的可行性,做出明确结论来供用户参考,包括:经济可行性、技术可行性、操作可行性和法律可行性。 5、软件需求分析:软件需求分析是软件开发期的第一个阶段,是软件生存周期最重要的一步,是关系到软件开发成败的关键步骤 6、需求分析的任务:需求分析的任务还不是确定系统怎样完成它的工作。 需求分析的任务仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰而且具体的需求。 7、需求获取的常用方法 (1)客户访谈:分为正式的和非正式的两种基本形式(2)建立联合分析小组(3)问题分析与确认 8、需求分析的常用方法:(1)功能分解方法(2)结构化分析方法(3)信息建模方法(4)面向对象方法(目前最主流的方法) 9、软件总体设计的目标和任务:总体设计阶段的基本目标就是回答“概括地说,系统应该如何实现?”这个问题。总体设计的另一项任务是设计软件的总体结构,即确定系统中的每个程序是由哪些模块组成的,每个模块的功能以及模块和模块之间的接口、调用关系等。 10、详细设计的根本目的:确定应该怎样具体实现所要求的系统。经过这个阶段的设计工作,应该得出对目标系统的精确描述,具体的就是为软件结构图中每一个模块确定采用的算法和块内数据结构,用某种选定的详细设计工具更清晰地描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序. 11、人机界面设计原则:(1)让用户驾驭软件,而不是软件驾驭用户。(2)尽可能减少用户的记忆负担。 (3)保持界面的一致性。 12、从软件工程的角度,编程语言可分为基础语言、结构化语言和面向对象语言3 大类。 (1)基础语言:FORTRAN,COBOL,BASIC和ALGOL都属于这类语言。 (2)结构化语言:Pascal、C、 Ada等结构化语言。 (3)面向对象的语言:C++语言 Java语言 13、程序内部文档包括标识符的选取、增加注解和好的程序布局。 14、软件测试的目标:(1) 测试是为了发现程序中的错误而执行程序的过程;(2) 好的测 试方案是极可能发现迄今为止尚未发现的错误的测试方案;(3) 成功的测试是发现了至今为止尚未发现的错误的测试。 15、软件测试方法及分类:为了便于区分,一般把被测程序在机器上运行称为“动态测试”,不在机器上运行被测程序称为“静态分析”。广义地讲,它们都属于软件测试。因此,软件测试的方法一般分为动态测试和静态测试。动态测试方法中又根据测试用例的设计方法不同,分为黑盒测试法和白盒测试法两类。 16、黑盒测试:也称功能测试或数据驱动测试。它不考虑程序内部结构和处理过程。把被测程序看成一个黑盒子,只在软件接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。 17、白盒测试:也称结构测试或逻辑驱动测试。测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,要求对程序的结构特性做到一定程度的覆盖,对程序中的所有逻辑路径进行测试,并检验内部控制结构是否有错,确定实际的运行状态与预期的状态是否一致。

COBOL经典面试题库(中文)

COBOL经典面试题库 Q1:列举COBOL的DEVISION A1:标识部,环境部,数据部,过程部 Q2:COBOL有哪些可用的数据类型 A2:字符型(这里指的是包含字母和数字),字母型,数字型 Q3:INITIALIZE这个词做了些什么 A3:将字母,字符,数字区域都置成空格(置空),将数字区置0,FILLER和OCCURS DEPENDING ON项不处理 Q4:77层有什么作用 A4:基本层数据项,不能用做细分别的层,也不能被细分 (来源:) Q5:88层有什么作用 A5:条件逻辑层 Q6:66层有什么作用 A6:重命名层 Q7:IS NUMERIC这个子句怎么确定(也就是说确定句子的真值) A7:IS NUMERIC用在字符项,带符号数字,浮点数,不带符号数。如果目标项只含0~9则返回TRUE。但是,如果待测项目是个带符号数,那么他就含有0-9还有+和- 05 ARRAY1 PIC X(9) OCCURS 10 TIMES. 05 ARRAY2 PIC X(6) OCCURS 20 TIMES INDEXED BY WS-INDEX Q8:COBOL中怎么建表/数组 A8:如上. Q9:OCCURS 子句能用在第一层吗 A9:不能 Q10:索引和下标有什么区别 A10:下标可以指定数组中任意中位置的元素(只要知道其下标),下标只能是数字型常量或者数字型变量(但是不能在指定的时候修改,如:A(K+1)这样是不行的,要修改的话要在指定的外部改,如:ADD 1 TO K,而索引的话是从表头/数组头开始检索(以BY N的指定检索规律往后滚) 再者,索引只能通过PERFORM, SEARCH 和SET来修改,如果要在一个表中使用SEARCH, SEARCH ALL,那这个表就要有索引(因为SEARCH, SEARCH ALL的参数中指定索引,所以即使其有很多限制还是得用它)

IT基础知识

https://www.doczj.com/doc/2214035100.html, .NET是一个平台,一个抽象的平台的概念。它不是什么编程方法,更不是什么编程语言之类的。通常我们所说的.NET Framework(.net框架)主要包括:.net类库和CLR。 .net类库为我们提供了丰富的类,当然这些都是已经封装好的,我们可以直接使用,不同的类具有不同的功能。类库中广泛的类为我们程序功能的实现提供了足够的资源。 CLR(公共语言运行时)则是实现程序运行的基础,任何针对于CLR的语言,最终都在CLR的托管下有序运行。语言只要是针对CLR最终都会被编译成MSIL(一种中间语言),所以,这样可以实现不同语言之间的相互操作(当然前提是这种语言有针对CLR的编译器)。 vb,https://www.doczj.com/doc/2214035100.html,和C#都只是程序设计语言.程序设计语言仅仅是为了方便开发人员和计算机沟通的工具。 C#语言(微软开发的一种类Java的编程语言):C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。虽然C#语法相对C和C++要多一些,但是相对来看C#语法都比较固定,这样使用起来却都很容易。 2各类主流编程语言 2.1Java语言 1.企业级应用开发 大到全国联网的系统,小到中小企业的应用解决方案,JAVA都占有极为重要的地位 . 2.网站平台开发 JSP+Servlet+JavaBean,一直以来都相当流行模式. 3.移动领域

典型的应用是手机游戏(国内主要是这方面),大量使用到了J2ME 。 4.移动android APP开发 android 开发只用到了JAVA的语法和JAVA SE的一小部分API. javase是做电脑上的软件的,javaee是做网站的,javame是做手机软件的 虽然大多数用户很乐于将 Eclipse 当作 Java 集成开发环境(IDE)来使用,但Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。 这种平等和一致性并不仅限于Java 开发工具。尽管 Eclipse 是使用Java语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如C/C++、COBOL、PHP、Android等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。 2.2C语言 C语言是一门基础语言,是其他一些语言的基础,例如MATLAB,Object-C,Lua 等. C语言没有比较完善的开发框架,他是面前过程的一门语言,讲究算法跟逻辑的. 1.操作系统 类unix系统(linux/freebsd…)主要基于c开发的. 2.嵌入式领域 驱动开发大部分基于C的,嵌入式系统c开发的 3.服务器领域 大部分服务器程序也是c语言的网络核心设备(路由器,交换机,防火墙)大部分代码c开发的,用户界面可能用其他语言。

相关主题
文本预览
相关文档 最新文档