当前位置:文档之家› COBOL

COBOL

COBOL
COBOL

COBOL简易教程

主要内容

1.COBOL语言的基本概念及程序的结构

?关于COBOL的初步知识

?COBOL程序的结构

?COBOL源程序的书写格式

2.COBOL数据表示

?常量

?层次的概念

?PICTURE语句

?数据在内存中的各种形式

3.算术运算

?变量赋值 (MOVE, MOVE CORR)

?算术运算(ADD, SUB, MUL, DIV, COMPUTE等) ?内部函数

4.字符串处理

?合并、分离、取子串、替换等

5.程序逻辑控制

?条件的分类

?IF、EVALUATE

?PERFORM

6.表处理

定义、赋值、引用、查询

7.读、写多格式记录文件

8.常用语句小结

9.子程序

1.COBOL语言的基本概念及程序的结构

1.1关于COBOL的初步知识

◆COBOL是Common Business Oriented Language (通用商业语言,或称管理语言)

的缩写

◆最适用于数据处理

◆比较接近于自然语言(英语)

◆COBOL的结构严谨,层次性强

◆COBOL的缺点是比较烦琐。

1.2 COBOL 程序的结构

部(Division) 一部可包括若干节

节(Section) 一节可包含若干段

段(Paragraph) 一段可包含若干句子

句子(Sentence) 一个句子可包含若干语句

语句(Statement) 制定计算机完成一定的操作

子句(Clause) 制定完成某一方面的功能

每个程序应包含四个部

IDENTIFICATION DIVISION (标识部)

主要用来指定源程序名字,也可以写入其他用作备忘的某些信息(如日期、作者等)。

ENVIROMENT DIVISION(环境部)

主要用于指出程序中用到的数据文件名与计算机系统的设备的对应关系,即把某一文件名与一个外部设备联系起来。

DATA DIVISION(数据部〕

程序中所用到的全部数据(包括输入输出的数据和中间数据)都应在数据部中说明它们的类型和所占内存情况。

PROCEDURE DIVISION(过程部〕

用来给出程序要执行的指令,使计算机产生相应的操作,例如进行数学运算。1.3 COBOL源程序的书写格式

7 注释区(*)

8~11 A区

部头,节头,段头,层号01,层号77以及文件描述符FD应从A区开写。

12-72 B区,正文

过程部的句子只能从B区开始写,而不能写到A区去。

73-80 注释区(和C程序一样,编译时注释被舍弃)

2.COBOL数据表示

2.1 常量

?ZERO,ZEROS,ZEROES表示一个或多个零字符(16进制‘F0’)

?SPACE,SPACES表示一个或多个空格字符(16进制‘40’)

?HIGH-VALUE,HIGH-VALUES表示一个或多个字符具有最高值(16进制‘FF’, 2进制‘11’)

?LOW-VALUE,LOW-VALUES表示一个或多个字符具有最小值(16进制‘00’,2进制‘00’)

?QUOTE,QUOTES表示一个或多个引号字符(16进制‘7F’)

(MOVE QUOTE TO A)

?ALL常量表示一个或多个该常量组成的字符串

A PIC X(4) A内容

MOVE ALL ‘*’ TO A ****

MOVE ALL ‘AB’ TO A ABAB

MOVE ALL ‘ABC’ TO A ABCA

2.2 层次的概念

01 WORK-STORAGE.

05 WS-SYS-DATE PIC 9(6).

05 FILLER REDEFINES WS-SYS-DATE.

10 WS-SYS-YY PIC 9(2).

10 WS-SYS-MM PIC 9(2).

10 WS-SYS-DD PIC 9(2).

05 WS-SYS-TIME PIC X(6).

05 FILLER REDEFINES WS-SYS-TIME.

10 WS-SYS-HH PIC 9(2).

10 WS-SYS-MN PIC 9(2).

结构:记录→组合项→初等项

层次规定如下:从01开始,到49, 外层的层号小,里层的层号大。

66层一般用于重命名

77层一般用于定义无层次的变量

88层一般用于定义条件名

组合项类似于C语言中的结构变量

2.3 PIC子句

(1)?9?描述符。

01 X PIC 9999.

01 Y PIC 9(5).

●若 MOVE -1.25 TO Z, Z中的内容为 01,小数点后的舍弃,负号也

舍弃

(2)?V?描述符。

01 M PIC 999V99.

说明:

1.V隐含小数点的位置,占5个字节,

MOVE 215.63 TO M -> M=215.63

MOVE 1215.637 TO M -> M= 215.63

传送时按小数点对齐,向两边延伸

2. 只能出现一个V

3. 按隐含的小数点位置对准进行运算

A PIC 9(3)V9. A=10.1

B PI

C 9(2)V9(2). B=2.02

C PIC 9(2)V9(2).

COMPUTE C = A + B => C=12.12

4. 显示时,不显示小数点(用编辑型显示小数点)

(3)?P?描述符。

1. 01 A PIC 9PPPPPPPPP.

用9999999999来描述,占10个字节。为了节省内存,低位上有若干个0的数,可以用?P?来描述。也可以写成:01 A PIC 9P(9).

2. 01 A PIC PPPP99.

表示0.000099

(4)?S?描述符。

01 A PIC S99. (S不计数据项长度,表示符号,只能在9最前面)

(5)字母型数据的描述?A?

01 T PIC AAAA.

01T PIC A(4).

MOVE ?ABCD? TO T

要存放包含字母和空格的其他字符,可以用X描述(6)字符型数据的描述?X?

(7)编辑型数据的描述

编辑型数据项仅仅是为了输出的需要,不能用来运算

a. 插入小数点?.?,用?.?描述符

77 T PIC 99V99

77 N PIC 99.99

若T的原值为12. 56, MOVE T TO N

77 T PIC 999V99

77 N PIC 9.9

若T的原值为112. 56, MOVE T TO N

b. 插入小数点?,?, 用?,?描述符

77 A PIC 9(6)V9(2).

77 B PIC 9(3),9(3).9(2).

若A的原值为123456.78, MOVE A TO B

c.插入?0?,用?0?描述符

77 R PIC 999

77 T PIC 9990000 (或9(3)0000,或9(3)0(4))

当R的值为678时, MOVE R TO T

d.插入空格用?B?描述符

77 A PIC 9(3).

77 B PIC B9(3)B.

当A的值为812,MOVE A TO B.

e.插入正负号,用?+?或?-?描述符

在如下情况下, MOVE B1 TO B2

f. 插入?$?

77 A PIC 9(3)V99

77 B PIC $999.99

当A的值为186.78,MOVE A TO B

g.浮动插入正负号和$

浮动插入$,MOVE A TO B 的情况

浮动插入正负号,01 A PIC S9(2)V9(2). MOVE A TO B.的情况

h.取消高位0,用?Z?和?*?描述符

MOVE A TO B

2.4 数据在内存中的各种形式

1.单位

bit : 位,二进制的0或1

Byte: 字节,8个二进位

半字: 2个字节,16个二进位

Word: 4个字节,32个二进位

双字: 8个字节,64个二进位

2.数值型数据的存放形式:

(1)外部十进制(扩张十进制)

按数值在机器外部的表现形式,一个数字在内存中占一个字节。

十进制数字 EBCDIC码 ASCII码

0 1111 0000 0011 0000

1 1111 0001 0011 0001

2 1111 0010 0011 0010

3 1111 0011 0011 0011

4 1111 0100 0011 0100

5 1111 0101 0011 0101

6 1111 0110 0011 0110

7 1111 0111 0011 0111

8 1111 1000 0011 1000

9 1111 1001 0011 1001 + 1111 1100 0011 1100 - 1111 1101 0011 1101 无符号 1111 1111 0011 1111

最后字节前四位,有符号时?C?(1100) 表示数为正,?C?(1101)表示数为负。

(2)外部浮点数形式:

以指数的形式表示一个数。?E?表示以10为底的指数。

+1.23876E+59,

77 A PIC +9.99999E+99, 共占12个字节

77 A PIC +9V99999E+99, 共占11个字节

(3)内部十进制(缩合十进制)

一个字节存放两个字符

(a)-14932在内存中为:0001 0100 1001 0011 0010 1101(3Bytes)

十六进制为:14932D

(b)+43856在内存中为:0100 0011 1000 0101 0110 1100(3Bytes)

十六进制为:43856C

(c)无符号数:3856,在内存中为:

0000 0011 1000 0101 0110 1111(3Bytes,前半个字节补0)

十六进制为:03856F

字节数都为:ROUND((n+1)/2) ROUND表示四舍五入, n表示数字的个数

(4)定点二进制:

不是一个数字对应一个字节或半个字节,而是先把十进制数转化为二进制数。十进制的10表示如下:

(5)内部浮点制:

以内部的指数形式(二进制的指数形式)表示一个数。

短浮点:

4个字节(32位)表示一个数,阶码(指数)为8位,尾数为24位。

长浮点:

8个字节(64位)表示一个数,阶码(指数)为8位,尾数为56位。

数值范围都为:

5.4 * 10 ** (- 79) ~ 7.2 * 10 ** 75

3.PIC的USAGE子句,数值型数据的存放形式的使用

1. USAGE子句一般格式为:

[USAGE IS] {DISPLAY, COMPUTATIONAL, COMP}

USAGE IS DISPLAY 是?显示型用法?,适用于显示、打印。

COMPUTATIONAL(COMP)是?计算型的用法?

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

COMPUTATIONAL

定点二进制形式COMP

COMPUTATIONAL-1

内部短浮点形式COMP-1

COMPUTATIONAL-2

内部长浮点形式COMP-2

COMPUTATIONAL-3 内部十进制形式

COMP-3

2. 01 A PIC 9(4) COMP-

3. 或:

01 A PIC 9(4) COMP.

用DISPLAY显示的结果仍同原样。

3. 01 B PIC 9(6) USAGE IS DISPLAY.

01 B PIC 9(6) DISPLAY.

01 B PIC 9(6).

如不写DISPLAY,则表示隐含。

01 T1 COMP.

03 X PIC S9(3).

03 Y PIC S9(3).

组合项的全部初等项为COMP.

4.符号子句(SIGN子句)

[SIGN IS]{LEADING,TRAILING} [SEPARATE CHARACTER]

02 A PIC 9(3) USAGE DISPLAY

01 A PIC S9(3) USAGE DISPLAY SIGN IS LEADING.

表示符号在第一个字节的前四位表示。

01 A PIC S9(3) USAGE DISPLAY SIGN IS TRAILING(尾部) .

表示符号在最后字节中表示。

符号单独占一个字节,用SEPARATE

03 A PIC S9(3) USAGE DISPLAY SIGN IS TRAILING SEPARATE

01 A PIC S9(3) SIGN IS LEADING SEPARATE

5. 重定义子句(REDEFINES子句)

1. 01 A PIC X(5).

01 B REDEFINES A PIC 9(5).

2. 01 A.

03 A1 PIC 9(4).

03 A2 PIC X(6).

03 A3 PIC X(4).

01 B REDEFINES A.

03 B1 PIC X(5).

03 B2 PIC 9(6).

03 B3 PIC 99V9.

层号数据名1 REDEFINES 数据名2

说明:(a)层号必须相同

(b)必须相邻

(c)可以多次重定义,但必须紧跟出现

(d)不能用于文件节01层,可用于工作单元节01层

(e)不可改变长度

(f)应放在其他子句之前

03 A REDEFINES T PIC X(6) JUST RIGHT .

(g)REDEFINES子句不能使用VALUE语句

01 W REDEFINES T PIC X(4) VALUE ‘ABCD’.是错的

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

用REDEFINES子句可以在不改变数据项长度的前提下,重新定义数据

区的名称和数据结构的形式(包括重新定义初等项的类型及长度〕。

用RENAMES子句可以把原来已定义的某些数据项重新组合成一个新项,并以一个新名字来代表它。但用重命名子句不能改变各初等项的长度等属性。

01 A.

02 B…

03 G…

03 H…

02 C.

03 I…

03 J…

02 D…

02 E…

02 F…

66 K RENAMES G THRU I.

66 M RENAMES B THRU C.

66 数据名1 RENAMES 数据2 [THRU 数据名3]

说明:

(a)层号只能用66,它必须紧跟在01层记录中最后一个数据描述体之后。

(b)数据名2,数据名3可为初等项或组合项,但不能是同一个数据名。

(c)数据名2在记录中的位置在数据名3之前,且数据名3不能包含在数据名2之中。

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

7.遇空置零语句(BLANK子句)

1.03 A PIC $(5).99 BLANK WHEN ZERO.

当MOVE 0 TO A时,A变为空格

8. 对齐子句(JUSTIFIED子句)

{JUSTIFIED, JUST} RIGHT

77 A PIC X(5).

77 B PIC X(5) JUSTIFIED RIGHT.

MOVE ‘ABCDEFG’ TO A, B

9. 同步安置语句(SYNCHRONIZED子句)

1紧凑存储节省空间,但在许多定字长的计算机中,一个机器字(Word)往往指定为四个字节,两个机器字之间为?自然边界?,为了提高效率,从内存读取数据时,通常一次将一个机器字一起取出来。

{SYNCHRONIZED,SYNC} [LEFT,RIGHT]

01 A.

05 A1 PIC 9(3) VALUE 82.

05 A2 PIC X(3) VALUE ‘ABC’.

05 A3 PIC 9 VALUE 7.

05 A4 PIC X(2) VALUE ‘XY’.

05 A5 PIC 9(2) VALUE 12.

01 A.

05 A1 PIC 9(3) SYNC LEFT VALUE 82.

05 A2 PIC X(3) SYNC RIGHT VALUE ‘ABC’.

05 A3 PIC 9 SYNC LEFT VALUE 7.

05 A4 PIC X(2) VALUE ‘XY’.

05 A5 PIC 9(2) VALUE 12.

数字补0,字符补空格

10. 多格式数据记录——记录区的重叠(类似于C语言中的联合)

FD CARDFILE LABEL RECORD IS STANDARD

DATA RECORDS ARE CARD-A, CARD-B.

01 CARD-A.

01 RECORD-CODE PIC X. (记录代码,为A, 为CARD-A)

01 FILLER PIC XX.

01 PART-NUMBER PIC 9(5).

01 FILLER XX.

01 QUANTITY PIC 9(6).

01 FILLER PIC XX.

01 PRICE PIC 99V99.

01 FILLER PIC X(58).

01 CARD-B.

01 FILLER PIC X. (记录代码,为A, 为CARD-A)

01 FILLER PIC XX.

01 CUSTOMER-NAME PIC 9(20).

01 FILLER XX.

01 CUSTOMER-NUMBER PIC 9(6).

01 FILLER PIC XX.

01 PART-NUM PIC 9(6).

……..

11.COPY语句(类似于C语言中的宏)

可以把COBOL程序常用的的数据、程序段

描述共享,而不必每次都重新做。

1. *01 A.

05 A1 PIC 9(4).

05 A2 PIC 9(6)V99.

05 A3 PIC X(10).

05 A4 PIC X(8).

将其文件命名为LIB1, 则:

01 B. COPY LIB1.

编译结果=>01 B.

05 A1 PIC 9(4).

…….

2.REPLACING取代原名:

01 B. COPY LIB1

REPLACING A1 BY B1

A2 BY B2

A3 BY B3

A4 BY B4.

一般格式:

COPY 库名(REPLACING {{标识符1,常量1,字1}BY{标识符1,常量1,字1}}…)

3.算术运算

3.1变量赋值(MOVE)

(1).同类型数据间的传送规则:

数值型数据之间的传送:传送时按小数点对齐,向两边延伸,如发送项长于接收项,则多余位截去;如短于接收项,接收项的空位补零。

^

字符型数据之间的传送:按左端对齐,如发送项长于接收项,

右端多余位截去;如短于接收项,接收项的空位补空格。

(2).编辑传送

发送项是数值型数据,而接收项是编辑数据型数据,则先将发送项中数据按接收项的描述要求进行编辑,然后再传送。

77 A PIC 9(4)V99

77 B PIC $(6).99

MOVE A TO B 是正确的

MOVE B TO A 是正确的

(3). 组合项的传送(类似于字符型数据之间的传送)

组合项的传送是将发送项的内容不加转换地一个字节一个字节地顺序传送到接收项。

若发送项与接收项长度不同,则:左对齐,右补空格,多余位截去。

结构和描述都相同时

01 A.

05 A1 PIC X(3).

05 A2 PIC 9(4)V99.

05 A3 PIC A(4).

01 B.

05 B1 PIC X(3).

05 B2 PIC 9(4)V99

05 B3 PIC A(4).

MOVE A TO B.

如果发送项和接收项长度相同,但结构形式不同,则将发送项的内容原样不变地自左向右传送到接收项

MOVE A TO B.

如果传送时,发送项与接收项长度不同,按:左对齐,右补空格,多余位截去

(4). 对应传送

1)数据名受限和受限名的传送(类似于C语言中结构变量成员的访问)

01 SUM. 01 TOTAL.

04 A1 PIC X(2). 04 A1 PIC X(4).

04 A2 PIC X(3). 04 A3 PIC 9(5).

04 A3 PIC 9(4). 04 B2 PIC 99V99.

MOVE A1 OF SUM TO T1.

MOVE A1 OF TOTAL TO T2.

01 SUM. 01 TOTAL.

03 A. 03 A.

04 A1 PIC X(2). 04 A1 PIC X(4).

04 A2 PIC X(3). 04 A3 PIC 9(5).

04 A3 PIC 9(4). 04 A2 PIC 99V99.

MOVE A1 OF A OF SUM TO T1.

MOVE A1 OF A OF TOTAL TO T2.

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

MOVE {CORRESPONDING, CORR} 标识符1 TO 标识符2

只传同名的项,对于RENAMES, REDEFINES, OCCURS的数据项不予传送。

01 PAY-RECORD. 01 EDITTED-RECORD.

04 A1 PIC 9(4)V99. 04 B3 PIC ZZZZ.99.

04 A2 PIC 9(4)V99. 04 A2 PIC ZZZ9.99.

04 A3 PIC 9(3)V99. 04 A1 PIC ZZZ9.99.

MOVE CORR PAY-RECORD TO EDITTED-RECORD.

相当于:

MOVE A1 OF PAY-RECORD TO A1 OF EDITED-RECORD.

MOVE A2 OF PAY-RECORD TO A2 OF EDITED-RECORD.

01 A. 01 B.

05 A1 PIC X(3) VALUE ‘111’. 05 A2 PIC X(4)

05 A2 PIC X(4) VALUE ‘2222’. 05 A1 PIC X(3).

MOVE A TO B. 与MOVE CORR A TO B. 不同

3.2 算术运算(ADD, SUB, MUL, DIV, COMPUTE)

1.ADD

ADD A, B TO C, D. (用C语言可描述为C += (A + B),D += (A + B))

A+B+C=>C, A+B+D=>D

ADD A, B, C GIVING D, E, F.(用C语言可描述为D = E = F = A + B + C)

2.SUBTRACT

SUBTRACT A, B FROM C. (用C语言可描述为C -= (A + B))

C-A-B=>C

SUBTRACT A, B FROM C, D.(用C语言可描述为C -= (A + B),D -= (A + B))

C-A-B=>C D-A-B=>D

SUBTRACT A, B, C FROM Z GIVING D, E, F. (用C语言可描述为D = E = F = Z –(A + B + C))

Z-A-B-C=>D , Z-A-B-C=>E ,Z-A-B-C=>F

注意:Z的位置只能有一个变量

3.MULTIPLY

MULTIPLY Y BY B, C, D. (用C语言可描述为B *= Y, C *= Y, D *= Y)

Y*B=>B , Y*C=>C , Y*D=>D

MULTIPLY Y BY Z GIVING B, C, D.(用C语言可描述为B = C = D = Y * Z) Y*Z=>B , Y*Z=>C , Y*Z=>D

注意:Y,Z的位置只能有一个变量

4.DIVIDE

DIVIDE Y INTO B, C, D. (用C语言可描述为B /= Y, C /= Y, D /= Y)

B/Y=>B , C/Y=>C , D/Y=>D

DIVIDE Y INTO Z GIVING B, C, D.(用C语言可描述为B = C = D = Z / Y) Z/Y=>B , Z/Y=>C , Z/Y=>D

DIVIDE Y BY Z GIVING C, D.(用C语言可描述为C = D = Y / Z)

Y/Z=>C , Y/Z=>D

注意: 有 BY时 ,必须还有GIVING

Y,Z的位置只能有一个变量

https://www.doczj.com/doc/d711383313.html,PUTE

COMPUTE T = (A + B) * C / D.

优先级的顺序:

1.括号

2.正负号

3.乘方

4.乘除

5.加减

- A ** 2 <=> - (A) ** 2 <=> ( - A) ** 2 6.带CORRESPONDING子句的算术运算子句

01 A.

05 A1 PIC 9(3).

05 A2 PIC 9(2)V99.

05 A3 PIC 9V9.

01 B.

05 A1 PIC 99V99.

05 A3 PIC 9V9.

05 A2 PIC 99V99.

ADD CORR A TO B

相当于:

ADD A1 OF A TO A1 OF B.

ADD A2 OF A TO A2 OF B.

ADD A3 OF A TO A3 OF B.

类似的:

SUBTRACT CORR A FROM B.

7.ROUNDED子句

ADD A, B TO C ROUNDED

有ROUNDED时,C的值四舍五入,

无ROUNDED时,C的值截断

8.ON SIZE ERROR子句

MULTIPLY A BY B GIVING C

ON SIZE ERROR DISPLAY ‘SIZE ERROR‘

STOP RUN.

如果:

77 A PIC 9V9 VALUE 1.2.

77 B PIC 9V9 VALUE 9.0.

77 C PIC 9V9.

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

DIVIDE A INTO B GIVING C [ROUNDED] REMAINDER D DIVIDE 7 INTO 13 GIVING C REMAINDER D

D为6

3.3 内部函数

COBOL提供了大量的内部函数供用户使用,主要有如下几类:

Number Handling

Date/Time

Finance(金融学)

Mathematics

Statistics(统计学)

下面是一个例子:

IDENTIFICATION DIVISION.

PROGRAM-ID. SAMPLE3.

AUTHOR. QXLU (WISTRON DALIAN).

DATE-WRITTEN. 04-06-21.

DATE-COMPILED. 04-06-21.

*

ENVIRONMENT DIVISION.

*

DATA DIVISION.

WORKING-STORAGE SECTION.

01 I PIC 9V9(2).

01 G PIC 9V9(5).

01 I2 PIC 9.9(2).

01 G2 PIC 9.9(5).

*

PROCEDURE DIVISION.

*

MOVE 1.57 TO I.

COMPUTE G = FUNCTION SIN(I).

MOVE I TO I2.

MOVE G TO G2.

DISPLAY 'I = ' I2.

DISPLAY 'G = ' G2.

*

STOP RUN.

I = 1.57

G = 1.00000

4.字符串处理

4.1 字符串连接(string语句 )

A,B,C 均为 PIC X(4), D 为PIC X(16),原值为空白。

A=FGH_, B=KLM_, C=XYZ_

1. DELIMITED(定界)

表示连接时源字符在什么位置结束,必须有 DELIMITED定界符

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)组成。一个句子是以英文句号来结束的。句子又由语

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

计算机基础知识知识点归纳: 1、世界上第一台电子计算机诞生于 1946年 世界第一台电子计算机的英文名称是。(答案O A.ENIAC B.IBM https://www.doczj.com/doc/d711383313.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. 电脑发展到现在,应用软件业涉及到社会的各个行业领域,几乎在 能用到电脑工作的地方,都能对应一种以上的应用软件。 电脑软件基础知识二: 电脑软件,是人们为了告诉电脑要做什么事而编写的,电脑能够理 解的一串指令,有时也叫代码、程序。 根据功能的不同,电脑软件可以粗略地分成四个层次。最贴近电脑 硬件的是一些小巧的软件。它们实现一些最基本的功能,通常固化 在只读存储器芯片中,因此称为固件。 系统软件包括操作系统和编译器软件等。系统软件和硬件一起提供 一个平台。它们管理和优化电脑硬件资源的使用。常见的中间件 包括数据库和万维网服务器等,它们在应用软件和平台之间建立一 种桥梁。 应用软件种类最多,包括办公软件、电子商务软件、通信软件、行 业软件,软件等等。

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

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):是程序的核心部分,它决定计算机应进行什么操作。

it基础知识

.net .NET是一个平台,一个抽象的平台的概念。它不是什么编程方法,更不是什么编程语言之类的。通常我们所说的.NET Framework(.net框架)主要包括:.net类库和CLR。 .net类库为我们提供了丰富的类,当然这些都是已经封装好的,我们可以直接使用,不同的类具有不同的功能。类库中广泛的类为我们程序功能的实现提供了足够的资源。 CLR(公共语言运行时)则是实现程序运行的基础,任何针对于CLR的语言,最终都在CLR的托管下有序运行。语言只要是针对CLR最终都会被编译成MSIL(一种中间语言),所以,这样可以实现不同语言之间的相互操作(当然前提是这种语言有针对CLR的编译器)。 vb,https://www.doczj.com/doc/d711383313.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/d711383313.html, .NET是一个平台,一个抽象的平台的概念。它不是什么编程方法,更不是什么编程语言之类的。通常我们所说的.NET Framework(.net框架)主要包括:.net类库和CLR。 .net类库为我们提供了丰富的类,当然这些都是已经封装好的,我们可以直接使用,不同的类具有不同的功能。类库中广泛的类为我们程序功能的实现提供了足够的资源。 CLR(公共语言运行时)则是实现程序运行的基础,任何针对于CLR的语言,最终都在CLR的托管下有序运行。语言只要是针对CLR最终都会被编译成MSIL(一种中间语言),所以,这样可以实现不同语言之间的相互操作(当然前提是这种语言有针对CLR的编译器)。 vb,https://www.doczj.com/doc/d711383313.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开发的,用户界面可能用其他语言。

COBOL语法和文法

COBOL语法和文法 REDEFINES 可以用不同的变量描述同一内存。 01 PART_RECODE USAGE DISPLAY 03 PART-TYPE PICTURE... 03 PART_TYPE_A. 05 PART_NUMBER PICTURE... 05 PART_COST PICTURE... 03 PART_TYPE_B REDEFINES PART_TYPE_A. 05 UPC_CODE PICTURE... 03 PART_TYPE_C REDEFINES PART_TYPE_A. 05 ISBN PICTURE... 根据PART_TYPE决定用PART_TYPE_A还是PART_TYPE_B还是PART_TYPE_C。 规则: PART_TYPE_B和PART_TYPE_C长度不能大于PART_TYPE_A。 数据项不能有VALUE。 01层不能用REDEFINES. PART_TYPE_B和PART_TYPE_C中不能有OCCURS. PICTURE 定义基本项目的具体长度,格式,数据类型。可以简写成PIC. 格式字符串最多30个字符,可以包含下列字符: A 字母A-Z,a-z,空格 B 插入空格 P 标量字符,代表字段中不显示的小数点位置 S 代数符号,实际显示取决于项目的USAGE V 小数点位置 X 任何字符 Z 抑制前头的0并转换成空字符 0 插入0 9 数字0~9 / 插入/ , 插入,(逗号不能作为字符串的最后一位,最后时逗号是分隔符) 。插入。 * 抑制前头的0并转换成* + 正值插入+,负值插入- - 正值插入空格,负值插入- $ 插入美元号 CR 正值插入两个空格,负值插入CR DB 正值插入两个空格,负值插入DB 例子: 03 VAR PIC AAAAA. STATE变量长度为5个字符,不能有数字,等价于03 STATE PIC A(5)。

COBOL试题答案

一、选择题(15分)(含多项选择) 1、不属于COBOL程序的部的是:(B ) A.过程部。 B.程序部。 C.数据部 D.环境部 2、COBOL程序中的数据在哪个部中定义?(C ) A.过程部。 B.环境部。 C.数据部 D.标识部 3、COBOL程序中如果有环境部的话,应置于:(C ) A.过程部之后标识部之前。 B.标识部之后过程部之前。 C.标识部之后数据部之前。 D.数据部之后过程部之前。 4、标识部中不可缺少的段名是:(A ) A.PROGRAM-ID B.AUTHOR C.FILE SECTION D.PROGRAM 5、COBOL程序中一般变量在哪里定义?(D ) A.标识部 B.环境部 C.数据部的FILE SECTION D.数据部的WORKING-STORAGE SECTION 6、下列关于过程部的说法正确的是:(C ) A.过程部中可以不定义节但是必须定义段 B.过程部中可以不定义段但是必须定义节 C.过程部中可以不定义节和段,节和段是根据需要定义的 D.所有程序都是在过程部中以STOP RUN来结束的 7、下面是COBOL合法数据名的是:(ABD ) A.W ANG B.TAN-1 C.12345 D.END-OF E.PROGRAM F.GROSS-$ G.SECTION 8、关系运算符的优先顺序正确的是(A ) A.NOT > AND > OR B.OR> NOT > AND C.AND > NOT > OR D.NOT > OR > AND 9、下记语句表示A/B=>C的是(B ) A.DIV A INTO B GIVING C. B.DIV A BY B GIVING C 10、下记哪些方法可以显示出…ABCD?六个字符(A,C ) A. PIC X(6) VALUE "'ABCD'". 说明:V ALUE后依次为空格双引号单引号ABCD单引号双引号 B. PIC X(6) V ALUE ''ABCD''.说明:V ALUE后依次为空格单引号单引号ABCD单引号单引号 C. QUOTE ?ABCD? QUOTE 11、COBOL对文件的操作以为单位的(B ) A.整个文件 B.记录 C.字段

Cobol基本语法总结

コボル基本語法 一、COBOL基本語法 compla項目使用的Cobol是Micro Focus 公司生产的Cobol,采用在HP-UNIX上运行。 一、cobol的书写格式(每行) 1、前6列为序号区(一般不编辑) 2、第7列为标示列,仅可以写如下几个标示符。 a. “*”注释符(注释当前行的代码) b “/“注释符(注释当前行的代码,程序编译时,强制程序清单另起一页,不建议使用) c “-“字符串连接符 d “D”DEBUG行标示符(程序为DEBUG模式时,标有该标示符的语句行代码执行,否则和注 释行效果一样) 3、第8列---11列为A区,包括以下内容。 a 部、节名。 b 层号01 4、第12列---72列为B区,过程部的程序必须写在B区中。 5、第72以后部分不能编辑。 二、cobol的语法结构(几大部分) 1、标示部(IDENTIFICATION DIVISION):提供程序的一般性文档说明,本项目只保留程序名 (PROGRAM-ID)一项。 2、环境部(ENVIRONMENT DIVISION): 提供程序外部有关的项目。 a.配置节(CONFIGURATION SECTION) ①.指定源计算机(SOURCE-COMPUTE). ②.目标计算机(OBJECT-COMPUTE). ③.设置debug模式(SOURCE-COMPUTE H9000V WITH DEBUGGING MODE) ④. 指定读环境变量设置. SPECIAL-NAMES. ENVIRONMENT-VALUE IS CNS-ENV-PARM ENVIRONMENT-NAME IS CNS-ENV-NAME. b. 输入输出节(INPUT-OUTPUT SECTION). 文件的物理路径的定义。 方法一:(写死文件路径) SELECT FILE-LOG ASSIGN "/usr3/WSI/commonlog/WSI1101.log" ORGANIZATION IS LINE SEQUENTIAL. 方法二:(过程部中动态指定文件) SELECT FILE-LOG ASSIGN TO SELECT-FILE ORGANIZATION IS LINE SEQUENTIAL. 在数据部定义字符串变量SELECT-FILE,在文件FILE-LOG打开前动态指定文件路径。 方法三:(环境变量中动态指定文件)

计算机基础知识讲解

计算机基础知识试讲教案 第一章计算机基础知识 【教学目的与要求】 了解计算机的发展进程及各个过程中的特点 【教学重点与难点】 本章重点:掌握计算机的发展进程、计算机的结构及基本工作原理 本章难点:掌握每个过程中计算机的特点 【教学内容】: 1.1 计算机的发展 1.2 计算机的分类及应用 1.3 计算机的结构及基本工作原理 1.4 计算机的发展趋势 1.5 信息的表示 计算机是信息化的基础。完全可以这样认为,计算机技术就是信息处理的技术。随着微电子技术、通信技术和软件技术的发展,计算机的运算速度、存储容量和信息处理能力不断提高。计算机应用领域覆盖了社会各个方面,从字表处理到数据库管理,从科学计算到多媒体应用,从工业控制到电子化、信息化的现代战争,从智能家电到航空航天,从娱乐消遣到大众化教育,从局域网到远距离通信,计算机无处不在。社会的信息化与计算机的普遍应用已经渗透到人类社会的各个领域,并导致从经济基础到上层建筑、从生产方式到生活方式的深刻变革,计算机技术的普及应用水平已经成为衡量一个国家或地区现代化程度的重要标志。 1.1 计算机的发展 早期计算机的发展 现在计算机的发展 微型计算机的发展 未来的新型计算机 1.1.2 早期计算机的发展 1946年2月,美国宾夕法尼亚大学研制成功了世界上第一台大型通用数字电子计算机ENIAC(爱尼亚克)。 18000个电子管、1500个继电器、重30吨、占地面积约170m2

通用数字电子计算机ENIAC(1946年2月) 1946年6月,冯·诺伊曼等人提出了完善的设计报告《电子计算机装置逻辑结构初探》。 电子计算机发展的萌芽时期遂告结束,开始了现代计算机的发展时期。 1.1.3 现在计算机的发展 表 1-1-1 电子计算机发展过程简表 第一代计算机(电子管) 从1946年到1958年这段时期我们称之为“电子管计算机时代”。第一代计算机的内部元件使用的是电子管。由于一部计算机需要几千个电子管,每个电子管都会散发大量的热量,因此,如何散热是一个令人头痛的问题。电子管的寿命最长只有3000小时,计算机运行时常常发生由于电子管被烧坏而使计算机死机的现象。第一代计算机主要用于科学研究和工程

cobol 知识点集锦

cobol 知识点集锦 COBOL数据类型 计息是银行的一项重要业务,包括日常代理客户收、付计算客户利息和年度计息等。目前,这些工作大多数是在IBM ES9000主机的SAFE应用系统平台上进行,该系统联 机程序和联机计息程序是用IBM 370汇编语言实现的。为方便汇编语言读写,在VSAM文 件存储的数据中,数据存放格式进行了特殊的定义。如日期存放采用X(3)型,01年03月15日,存入EBCD码为X‘010315’。在进行年度计息时,为了实现各种复杂的运算工作,一般采用COBOL语言来实现各种运算。而采用COBOL语言读取X(3)型数据时,读出的是字符型数据,不能直接进行运算,必须转换为COBOL数据类型的数据后才能进行相应处理。 如刚才的X‘010315’,需要转换为内部十进制数据X‘0010315C’。本文介绍一种用COBOL语言实现字符型X(3)与内部十进制数据相互转换的方法。 由X(3)型转换为内部十进制 由于日期数据总是大于零,在COBOL语言的工作单元节定义变量DATE-FIRST后,再追加 定义COBOL语言的最小数据单元X‘000C’,即十进制12。由于重定义DATE-CASE为DATE-CHANGE后,DATE-CHANGE是原日期数据的1000倍,于是要在过程部将DATE-CHANGE除以1000。 首先,在COBOL程序WORKING-STORAGE SECTION. 中定义如下内容: WORKING-STORAGE SECTION. 01 DATE-CASE. 02 DATE-FIRST PIC X(3). 02 DATE-SIGN PIC 9(4) COMP VALUE 12.;定点二进制数 01 DATE-CHANGE REDEFINES DATE-CASE PIC 9(9) COMP-3. ;内部十进制数据 01 DATE-HEX PIC X(3). ;转换前数据 01 DATE-DEC PIC S9(7)COMP-3 . ;转换后数据 然后,在过程部PROCEDURE DEVISION.中加入如下语句: PROCEDURE DEVISION. MOVE DATE-HEX TO DATE-FIRST . COMPUTE DATE-CHANGE = DATE- CHANGE / 1000.

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