当前位置:文档之家› COBOL学习笔记_20121231

COBOL学习笔记_20121231

COBOL学习笔记_20121231
COBOL学习笔记_20121231

cobol 语言.修订版.(上册+下册).pdf

2012-12-14(1~22 )

COBOL 语言特点:

(1) 适合数据处理( 算术计算量小而逻辑处理多;输入输出数据量大;数据间有一定逻辑关系,

即层次关系;大量分类排序;对报表要求高、多样化等)

(2) 接近自然语言英语,易于理解

(3) 通用性强,易于移植

(4) 结构严谨,层次分明,每个程序分为 4 部分(division :标示部Identification division 、环境部envroNment division 、数据部data division 、过程部procedure division) 、每部

分分为若干节(section 有节头标示,类似部头) 、节下面分为若干段(paragraph 有段头标示) 。每一部分都有固定格式。

(5) 缺点是比较繁琐。不乱程序逻辑如何,都必须按照四大部分生成,对每部分都必须定义和

说明,即使该部分实际上没有内容,也要写出头部,导致源程序冗长。

=================

一个简单的COBOL 程序:

Code:

IDENTIFICATION DIVISION.

PROGRAM-ID. EXAM1.

ENVIRONMENT DIVISION.

DATA DIVISION.

PROCEDURE DIVISION.

S. DISPLAY 'THIS IS A COBOL PROGRAM.'

STOP RUN.

=================

IDENTIFICATION DIVISION: 用来指定源程序名称,也可写入其他信息( 如作者、日期、保

密等) 。

ENVIRONMENT DIVISION: 程序中用到的数据文件名和计算机的设备的对应关系,即把某一数据文件和一外部设备关联起来。此外,还可以指定目标程序中使用的专门控制方法和程序所用

内存区的大小。

DATA DIVISION: 程序用到的所有数据的类型和占用内存的情况。

PROCEDURE DIVISION: 用来给出程序要执行的命令,是计算机产生相应的操作。

部下面可以有节,节下面有段;或者部下面直接是段。

=================

以上四个部分,只有过程部是执行部分,是核心部分。

过程部中,每段由若干句(Sentence) 组成,每句以句号加一个以上的空格来结束的。

一个句子只能由一个语句组成,一个语句加一个句号后跟一个或多个空格形成一个句子。

一个句子可以包含多个子句(Clause) ,每个子句也有一个动词,指定某一方面的功能。

除了过程部外,环境部和数据部也可以包含子句,如SELECT 子句、文件描述子句等。

=================

COBOL 每行80 列,每行分为几个区:

(1) 1~6 列为“标号区”,一般前 3 列表示页号,后 3 列表示本页行号。标号应当按照从小到大

顺序填写,但可以不连续。可以填标号,也可以不填写,对程序没有影响。

(2) 第7 列:“续行标志区”,写上续行符"-" ,表示本行是续上一行后面的。一般只有拆分字符

需要两行紧连或者一个长的字符串需要拆成两行时才使用,否则可以空着。不推荐使用续行符,

容易导致错误。

(3) 第8~11 列,称为"A 区" ,程序的某些部分,如部头、节头、段头、层号01 、层号77 以及文件标示符FD 等应从 A 区开始书写。可以从第8 列开始,也可以不从,但必须在8~11 列的任何一列开始。

(4) 第12~72 列,称为"B 区",是程序的正文部分,过程部的句子必须从 B 区开始写,不能写入A 区中。

(5) 第73~80 列,为“注释区”,一般是简单说明,程序编译和执行时都不会理会该区内容。

80 列的划分区,只是对程序有以上限制,对于数据而言没有以上分区限制,即输入数据可以从

第1 列用到第80 列。

所有字母应大写;相邻两个字之间应该留一个或以上空格;运算符和等号两边必须各留一个空格;

过程部中左括号的左侧和右括号的右侧都要留一个空格,内侧不必留空格;逗号、句号、分号的

左边不能留空格,右边必须留空格;一个空格和多个空格作用相同,但引号中的除外;允许一行

写几个语句,也可以一个语句写在多行上。

=================

COBOL 字符集:COBOL 程序中允许出现的字符( 引号内的除外) 。

数字:0~9

大写字母:A~Z

专用字符15 个:

加号+

减号或连接号-

乘号或星号*

除号/

等号=

逗号,

句号或小数点.

分号;

引号'或"

括号()

小于号<

大于号>

空格

货币符号$

#,!,?,% 等字符属于系统字符集但不属于COBOL 字符集,不能在程序中出现( 引号内除外) 。

=================

COBOL 字分为两类:保留字和用户字( 非保留)。

保留字指在COBOL 中已规定作专门用途的字,代表特定的含义,不能另作他用。

=================

数据名就是由程序设计者定义的一片内存区域,即用一个符号代表一个地址。

长度只能是1~30 个字符之间;只能由字母、数字和连接符"-" 组成,至少含一个字母,连接符

不能出现在名称的两端,不能出现空格;不能使用COBOL 保留字,一般使用连接符是避免使用

保留字的好方法,或者使用X 或数字开头的名称;最好使用望文生义的单词命名。

=================

常量包括数值常量(Numerical Literal) 、非数值常量(Nonnumerical Literal) 和表意常量(Figurative Constant) 三类。

数值常量不能超过18 位数字;至少要有一个数字,不能含有超过一个符号;数字之间不能有空

格。

非数值常量指用引号引起来的字符串;非数值含量不能参与运算;如果想把引号也放入常量,需要使用QUOTE 保留字实现,如DISPLAY QUOTE 'ABCD' QUOTE ,表示'ABCD' 六个字符,但QUOTE 本身不能替代引号;非数值常量不能超过120 个字符。

表意常量就是指用保留字表示的一些特殊常量,如用ZERO 表示0 ,SPACE 表示空格等。

=================

COBOL 的数据具有层次的特征,类似于一颗倒立的树或者是金字塔结构,一般将这样的一条数

据称之为一个记录(record) 。为了反映数据在一个层次结构中的层次,引入了层号的概念,使

用2 位数来表示。层号小表示较高的层次。

记录是具有一定层次关系的一组数据项的最大集合。是内存中具有独立逻辑含义的最大可存取

项,层号为01 。

记录下分为几项,不能继续分的称为初等项或基本项(Element item) 。初等项是数据的基本单位;如果还能继续分,称为组合项(Group Item) ,组合项下可以是组合项或者初等项。

多个记录可以组成一个文件。但文件一般存储在外部,不在内存中,内存中最大存取项是记录。

2012-12-19

23~28

过程部是COBOL 的核心部分,应当以过程部为主体,找出几部分之间的关系。

过程部的特点:

(1) 过程部是程序的第四部分

(2) 过程部都以一个动词开始,如MOVE 、READ 、WRITE 、IF 。表示计算机应当执行的操作。

(3) 动词后面一般都跟着一个操作的对象,可以是数据文件或者数据名。

(4) 过程部一律写在 B 区上,即第12 列开始,可以写在一行或者多行,续行也从 B 区开始。=========

输入输出

1、ACCEPT 语句

从键盘终端或者指定输入设备获取少量输入数据。

ACCEPT 标识符[FROM 助忆名]

这里的标识符必须是可以唯一的标识一个数据项的数据名。

如部-> 节-> 段-> 数据项的情况下,使用OF 关联上下关系,保证标识符的唯一性,如

01 A.

02 B1.

03 C ...

03 D ...

02 B2.

03 C ...

03 D ...

必须写成 C OF B1 和 C OF B2 区分两个不同的 C

以上[] 内的内容表示是可选项,{} 内的内容表示其中各项可多选一,... 表示之前的{} 或[] 的内容可以重复多次,有下划线的保留字表示必写,没有的表示可以省略。

以上的FROM 省略时表示从系统默认输入设备获取数据,如键盘,增加时,表示从指定设备获

取数据,助忆名表示从一个设备名,具体的名称可以在ENVIRONMENT DIVISION 中定义:ENVIRONMENT DIVISION.

CONFIGURATION SECTION. 配置节

SPECIAL-NAMES. 专用字段

CONSOLE IS ABC. 将输入设备定义为助忆名:ABC

ACCEPT T FROM ABC.

表示从输入设备获取数据并赋值给变量T。

ACCEPT 之后只能跟一个标识符,不能跟多个。

=========

2、DISPLAY 语句

用于少量数据输出到指定外设上。

DISPLAY { 标识符| 常量}[ 标识符| 常量]...[UPON 助忆名]

默认在屏幕上显示数据,使用UPON 指向指定的设备名输出

每执行一次DISPLAY ,总是从一个新行开始;如果一行显示不完,会自动换行显示。

正式程序中,一般都不使用ACCEPT 和DISPLAY ,以提高系统效率,减少手工干预。

=========

3、READ 语句

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

分号可以省略

例如READ IN-FILE ,表示从IN-FILE 文件中读取数据,IN-FILE 称为“内部文件名”,它与外部文件名之间的关系是通过ENVIRONMENT DIVISION 中指定的,如:

Code:

ENVIRONMENT DIVISION.

INPUT-OUTPUT SECTION. 输入输出节

FILE-CONTROL. 文件控制段SELECT IN-FILE ASSIGN TO 外部文件名.

2012-12-21 (29~38 )

内部文件名的长度不能超过30byte ,只能由数字、字母和连接符组成,必须至少包含一个字母。

每执行一次READ 语句,只读取文件中的一条记录,为避免误解,可以加上关键字RECORD ,如:

READ IN-FILE RECORD

其中,RECORD 是可选项,是否写,效果一样。

在计算机内存中专门开辟一片存储单元存放读入记录,所以大小应当等于一条记录的大小。

每次读取下一条记录,会冲掉前一条记录的内存区域,所以必须在处理下一条之前保存处理结果,

内存中不会保存前一条记录信息。

输入记录区样例:

Code:

DATA DIVISION.

FD IN-FILE LABEL RECORD IS STANDARD.

01 IN-RECORD.

02 DATE-IN.

03 YEAR PIC 99. ( 表示2 位整数)

03 MONTH PIC 99.

03 DAYy PIC 99.

02 PRODUCT-CODE PIC 9(4).

02 CUSTOMER-CODE PIC 9(4).

02 QUALITY PIC 9(6).

02 UNIT-PRICE PIC 9(6).

FD 是File Description (文件描述)的缩写,表示从该行起是“文件描述体”。

LABEL RECORD IS STANDARD 表示“标号记录是标准的”,所有磁盘和磁带文件都必须这样。

文件结尾有“文件结束标志”,READ 读到文件结束标志后,会给出一个“文件结束”信息,允许

程序进行处理,由"AT END" 子句来处理,如:

READ IN-FILE AT END STOP RUN.

以上STOP RUN 表示中止运行,也可以写其他语句。

=========

4、WRITE 语句

WRITE 记录名[FROM 标识符] [{BEFORE|AFTER} ADVANCING {{ 标识符2| 整数}[LINE|LINES]|{ 助忆名|PAGE}}]

将内存中的数据写入外部设备,输出文件也在内存区开辟一个“输出文件记录区”

输出设备的选择:

Code:

ENVIRONMENT DIVISION. ( 环境部)

INPUT-OUTPUT SECTION. ( 输入输出节)

FILE-CONTROL. ( 文件控制段) SELECT OUTPUT-FILE ASSIGN TO 输出设备名.

输出设备名可以用打印机,如PRINTER 或磁盘文件名等。

LABEL RECORD IS OMITTED .表示“标号记录是省略的”,凡输出是打印机的,一律这样写。如果输出是磁盘文件,则修改为LABEL RECORD IS STANDARD.

输出内存记录区样例:

Code:

DATA DIVISION.

FD OUTPUT-FILE LABEL RECORD IS OMITTED.

01 OUTPUT-RECORD.

02 DATE-OUTPUT.

03 YEAR PIC 99.

03 MONTH PIC 99.

03 DAYY PIC 99.

02 PRODUCT-CODE 9(4).

02 CUSTOMER-CODE PIC 9(4).

02 QUALITY PIC 9(6).

02 UNIT-PRICE PIC 999.

02 TOTAL PIC 9(4).

如果在ENVIRONMENT DIVISION 指定输出设备为PRINTER ,则执行WRITE

OUTPUT-RECORD ,自动会在打印机执行输出。

COBOL 提供了行距控制,如下:

Code:

MOVE T1 TO OUTPUT-RECORD.

WRITE OUTPUT-RECORD AFTER ADVANCING 2 LINES.

表示打印OUTPUT-RECORD 之前先空 2 行。

也可以用

Code:

WRITE OUTPUT-RECORD AFTER ADVANCING 2 LINES.

表示先打印OUTPUT-RECORD 再空 2 行。

上面的 2 行,可以用数据名来表示,如

Code:

WRITE OUTPUT-RECORD AFTER ADVANCING A LINES.

这里,A 为DATA DIVISION 定义的一个整数变量。

如果需要一些特殊控制,如要移动到页末或者不换行,可以使用专用名控制,具体可查询COBOL 编译器ENVIRONMENT DIVISION 专用字段描述。

WRITER 语句的记录的第一个字符称为“纵向走纸控制”,即第一个字符不会被打印出来,这个

问题和系统有关。

可以从内存区另一个数据项的内容获取内容输出给要输出的记录区,然后再输出,如:

Code:

WRITE OUTPUT-RECORD FROM T1 AFTER 3.

相当于:

Code:

MOVE T1 TO OUTPUT-RECORD.

WRITER OUTPUT-RECORD AFTER 3.

=========

5、OPEN 语句

OPEN {INPUT|OUTPUT 文件名 1 [, 文件名2]...}... 读写文件前,必须先执行OPEN 语句打开文件。

可以一次打开多个文件,如:

OPEN INPUT x1,x2,x3

OUTPUT x4,x5,x6.

=========

6、CLOSE 语句

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

对文件操作完毕后,应关闭文件。

有一个OPEN ,应该对应有一个CLOSE 。

2012-12-25 (39~50)

1、ADD语句

ADD {标识符1|常量1} [,标识符2|常量2]?TO|GIVING标识符m[,标识符n]?

ADD A TO B => A + B = B

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

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

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

2、SUBTRACT语句

SUBTRACT {标识符1|常量1} [,标识符2|常量2]?FROM标识符m[,标识符n]?[|常量

m[, 常量n]?GIVING标识符k[,标识符p]?]

SUBTRACT B FROM A => A –B = A

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 X => A –B –C = X

注意:

GIVING 之后不能跟常量。

常量。

如果不带

G IVING ,则F ROM 部分后面也不能带

3、MULTIPLY语句

MULTIPL Y {标识符1|变量1} BY标识符2[,标识符3]?[|常量2[, 常量3]?GIVING标识符n]?]

符m[,标

MULTIPLY A BY B => A*B=B

MULTIPLY A BY B GIVING C => A*B=C

MULTIPLY A BY B, C => A*B=B; A*C=C

注意:

GIVING 之后不能跟常量。

常量。

如果不带

G IVING ,则B Y 部分后面也不能带

4、DIVIDE语句

DIVIDE { 常量1|标识符1} {INTO|BY} {标识符2[,标识符3]?} [| 常量2[, 常量3]?GIVING 识

符5]?]

符4[,标

标识

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

注意:

如果除不尽,多余的位数被截掉,即小数会被截去。

总结:

一个语句只能进行单一运算,不能在一个语句进行两种不同的运算。

加法和减法可以一次进行多个值的计算,但乘法和除法不可以。

5、计算语句COMPUTE

用于复杂的四则运算

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

优先级:(从高到低)

括号>单目运算符(正负号)>乘方(**)> 乘除>加减

同等级运算法按从左往右优先级

所有运算符两侧应留一个空格

括号外侧留一个空格、内侧可以不要留空格

COMPUTE 语句计算速度较慢,由于COBOL 很少用于科学计算,不常使用COMPUTE 语句。

2012-12-29 (50~77)

MOVE语句

MOVE {标识符1|常量1} TO标识符2[,标识符3]?

MOVE语句用来实现数据的传送,将数据从一个内存域送到另一个内存域。仅指内存中的

的传

送。

备间

传送,不是内存和外部设

另一数据项

内容传送给

常量、表意常量)或一数据项

常量、非数值

可以将常量(数值

规则

传输

MOVE A TO B

A 成为发送项,

B 称为接收项。

1、发送项和接收项类型和长度一致,则按字节一一传送。

2、发送项和接收项类型都是数值数据项,长度不一致,则按“小数点对齐”原则处理。接

送项

,则

截断(从左边算起)。

小于发

,则

收项

多余位补零。接收项

大于发

送项

3、对字母或字符数据(非数值型数据),按照“左对齐”原则处理。接收项大于发送项,则

,则

送项

从右端截断。

多余位补

空格。接收项小于发

4、可以将一个初等项内容传给另一个初等项,也可以将一个组合项内容传给另一个初等项,

合项

也可以将一个初等项内容传

给另一个组

GOTO语句

GO TO过程名1[[,过程名2]?DEPENDING ON标识符]

程。

过程名,代表一段过

节名或段名称为

DEPENDING 表示根据标识符的值转到哪一个过程名后面执行,如:

GO TO A, B, C DEPENDING ON I.

到过

句。

程C,否则执行下一个语

程B, I=3 ,转

表示I=1,转

到过

程A,I=2,转

到过

GOTO 是无条件转移语句。

句IF

条件语

1、关系运算符

型或字符型数据大小进行比较

两个数值

关系运算符的作用是对

大于IS GREATER THAN 或者>

小于IS LESS THAN 或者<

等于IS EQUAL TO 或者=

不大于NOT GREATER THAN 或者NOT >

不小于NOT LESS THAN 或者NOT <

不等于NOT EQUAL TO 或者NOT =

2、关系运算规则

(1) 数据量之间的比较,按照值进行比较

(2) 字母数据之间的比较,按照ASCII 码大小比较,或者EBCDIC 1 码大小比较,但共同的归类就是字母顺序,当长度不同时,补足空格后从左到右的顺序比较每一位(注意,空格比任何字母都小)。

(3) 字符型数据的比较,也是按照从左到右的顺序比较,但字符代码大小比较,和系统有关,或者按照ASCII 码大小比较,或者EBCDIC 码大小比较。

3、IF 语句的两种形式

IF 条件{语句组|NEXT SENTENCE} [ELSE { 语句组2|NEXT SENTENCE}]

(1) IF 条件语句组

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

NEXT SENTENCE 表示条件满足(或不满足时)执行IF 下面的语句

停止语句STOP

STOP {RUN| 常量}

说明:

(1) 执行后程序将中止

(2) STOP 常量,表示程序暂时挂起,并显示该变量的值,一般用于调试;暂停后,从键盘

输入适当的命令,可以使程序继续进行

结构化程序设计的三种结构:

顺序结构、选择结构和循环结构,并由这三种基本机构派生出其他基本结构,这些基本结构应当具备以下特征:

(1) 只有一个入口,一个出口

(2) 没有死循环

(3) 没有死语句(永远不会执行的语句)

程序=算法+数据结构+程序设计方法+程序环境

标识部IDENTIFICATION DIVISION

标识部的作用是标识一个COBOL 程序,以便识别。每个程序都必须有一个名字,系统按照

名字找程序。

必写部分:

IDENTIFICATION DIVISION.

PROGRAM-ID. 程序名.

程序名有一定的限制:不能超过 6 个字符,只限于字母和数字(不包括连接符)。

可选部分:

[AUTHOR. 作者姓名.]

[INSTALLATION. 设置的场所.]

1 Extended Binary Coded Decimal Interchange Code

[DA TE-WRITTEN. 源程序编写日期.]

[DA TE-COMPILED. 源程序编译日期.]

[SECURITY. 保密程度.]

====

环境部ENVIRONMENT DIVISION 的一般格式:

ENVIRONMENT DIVISION.环境部.

CONFIGURATION SECTION. 配置节.

SOURCE-COMPUTER. 源计算机名.

OBJECT-COMPUTER. 目的计算机名.

[SPECIAL NAMES.专用名描述.]

[INPUT-OUTPUT SECTION.输入输出节.

FILE-CONTROL. { 文件控制描述体} ?

[I-O-CONTROL.输入输出控制描述体.]]

(1)环境部主要包括配置节和输入输出节两部分。

(2) COBOL 要求,CONFIGURATION SECTION 是必须的,但不是系统允许省略。

(3) INPUT-OUTPUT SECTION 是可选的,但只有最简单的程序才不需要,一般只要使用文

,都应

行定义。

该进

件输

入输

出时

C ONFIGURATION SECTION .

配置节

用字段。如:

算机段、目的计算机段、专

包括三段:源计

CONFIGURATION SECITON.

SOURCE-COMPUTER. IBMPC-386.

OBJECT-COMPUTER. IBMPC-386.

MEMEORY SIZE IS 5000 WORDS.

SPECIAL-NAMES.

CONSOLE IS A1.

算机和目标

计算机的一般格式:

源计

SOURCE-COMPUTER. 源计算机名.

OBJECT-COMPUTER. 目的计算机名.

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

专用名段SPECIAL NAMES.

SPECIAL-NAMES.

[DECIMAL-POINT IS COMMA.]

[CURRENCY SIGN IS 非数值常量.]

[专用名IS 助忆名.]

备名或功能名或符号改成用户指定的名字或符号。

定的一些设

中原规

用来通知系统

把系统

用字段中如下描述:

惯用逗号表示小数点,在专

例如,欧洲人习

DECIMAL-POINT IS COMMA.

会统

一自动改成逗号。

,凡是程序中的所有数值出现的小数点,输

这样

出时

再如货币描述:

CURRENCY SIGN IS , L?.

在出现货币符号时,自动以’L’替代’$’。但不能用0~9,A,B,C,D,E,P,R,S,V,X,Z 作为货币号。

输入输出节INPUT-OUTPUT SECTION.

包括两个段:

1、文件控制段FILE-CONTROL.

INPUT-OUTPUT SECTION.

FILE-CONTROL.

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

SELECT 后面的文件名为内部文件名,COBOL 的READ ,OPEN 都用该名称操作文件。

在不同的计算机系统,如何表示“外部文件名”的方法不同,大体有三种:

(1) 写上磁盘的实际文件名,如VAX 上:

FILE-CONTORL.

SELECT FILE1 ASSIGN TO DUA1:COB.FILE1.DAT

(2) 只指出外部设备名,如在PC 上:

FILE-CONTORL.

SELECT IN-FILE ASSIGN TO DISK.

SELECT PRINT-FILE ASSIGN TO PRINTER.

这里,DISK 表示磁盘,PRINTER 表示打印机。

但这里DISK 具体表示哪个文件呢?需要在数据部中的“文件节”中的FD 描述体用VALUE OF 子句来指出该文件的实际文件名。如:

DATA DIVISION.

FILE SECTION.

FD IN-FILE LABEL RECORD STANDARD.

VALUE OF FILE-ID “C:INF .DAT”.

(2) 在一些大中型计算机上,用该系统指定的逻辑名为外部文件名,然后用作业控制语句将

该逻辑文件名和实际设备或文件联系,如在中型机M-150 上:

FILE-CONTROL.

SELECT IN-FILE ASSIGN TO SYS010-CR.

SELECT DA-FILE ASSIGN TO SYS012-DA-S-DISK.

SELECT PRINT-FILE ASSIGN TO SYS013-LP.

三个内部文件名IN-FILE 、DA-FILE 、PRINT-FILE 分别被分配给SYS010-CR( 读卡机)、SYS012-DA-S-DISK( 磁盘机)和SYS013-LP( 宽行打印机)。在程序外,用OS 提供的“作业控制语句”将上述逻辑文件名和实际设备关联,如:

ASSIGN SYS010-CR, SYSRDR (读卡机)

ASSIGN SYS012-DA-S-DISK, VOL=OS4F22,SHR (磁盘机,卷号为OS4F22,共享方式) ASSIGN SYS013-LP,SYSLST (宽行打印机)

为文件分配外部文件。只要用到INPUT-OUTPUT SECTION ,文件控制段是必写的。

2、输入输出控制段I-O-CONTROL.

可以指定目标程序运行时,几个文件共享一个内存区,以节省内存。

2012-12-31 (78~)

数据部(DATA DIVISION) 是四部中的第三部分,是唯一描述数据的部分。

合数据项

和组

数据有两种:孤立的数据项

明,包括

在数据部中说程部(PROCEDURE DIVISION) 中出现

的所有数据项都必须

程序过

(1) 每个数据项的属性(字符型、数值型?),在内存中的存储形式和长度

(2) 数据项之间的关系,如初等数据项还是组合项,哪些数据项属于文件,不从属于记录等。

(3) 描述记录和文件的关系,即内存中输入输出记录区是和哪一个文件有关

(4) 文件属性。由多个记录组成一个物理块,一个记录的长度,文件是否有标号记录等。

构。

属性,描述数据结

数据部的作用是定义

数据项

COBOL 中把有从属关系的数据用层次(Level) 关系来表示。层次结构:

->初等项

->组

记录

合项

分的项。

辑上不能再细

初等项

(Elementary Item) :逻

的项

(Group Item) :包含若干个初等项

2013-1- (~)

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

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