当前位置:文档之家› cobol学习笔记_1231培训资料

cobol学习笔记_1231培训资料

cobol学习笔记_1231培训资料
cobol学习笔记_1231培训资料

C O B O L学习笔记

_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之后不能跟常量。

如果不带GIVING,则FROM部分后面也不能带常量。

3、MULTIPLY语句

MULTIPLY {标识符1|变量1} BY 标识符2[, 标识符3]… [|常量2[, 常量3]…GIVING 标识符m[, 标识符n]…]

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之后不能跟常量。

如果不带GIVING,则BY部分后面也不能带常量。

4、DIVIDE语句

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

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.

表示I=1,转到过程A,I=2, 转到过程B, I=3,转到过程C,否则执行下一个语句。

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码大小比较,或者EBCDIC1码大小比较,但共同的归类就是字母顺序,当长度不同时,补足空格后从左到右的顺序比较每一位(注意,空格比任何字母都小)。

1 Extended Binary Coded Decimal Interchange Code

(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. 设置的场所.]

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

[DATE-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是可选的,但只有最简单的程序才不需要,一般只要使用文件输入输出时,都应该进行定义。

配置节CONFIGURATION 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.]

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.

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).

宏病毒文档修复前备份

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开发

浅谈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语言基础培训教程 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字符集包括:

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分)

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的参数中指定索引,所以即使其有很多限制还是得用它)

大型机COBOL程序之简易报表打印

COBOL实验报告2 一,实验目的 1,能够利用cobol程序实现一个报表的编辑和制作。 2,能够对文件进行操作,比如说:打开,关闭,读和写3,了解COBOL的常用语句和一些常用的数据类型, 能够利用编辑型数据实现数据的友好输出。 4,能够运用sdsf修改程序中的错误 5,学会编写稍微复杂的COBOL程序。 二,实验原理和内容 1,修改UTE20.COBOL.MURACH.EXERCISE(RPT1000X) 使之正常运行。 2,在RPT1000原有基础上改进成增强的报表打印程序。 3,利用给定的数据和格式独立的制作一个报表 三,实验环境 PC机和TSO下的ISPF环境 四,实验步骤

1,步骤1和步骤2:修改 UTE20.COBOL.MURACH.EXERCISE(RPT1000X) 使之正常运行,并在此基础上改进成增强型的报表打印程序。 1.1 代码: 000100 IDENTIFICATION DIVISION. 000200 000300 PROGRAM-ID. RPT1000. 000400 000500 ENVIRONMENT DIVISION. 000600 000700 INPUT-OUTPUT SECTION. 000800 000900 FILE-CONTROL. 001000 001100 SELECT CUSTMAST ASSIGN TO CUSTMAST. 001200 SELECT SALESRPT ASSIGN TO SALESRPT. 001300 001400 DATA DIVISION. 001500 001600 FILE SECTION. 001700

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程序的编译与运行 实验所属系列:操作系统高级试验 实验对象:本科 相关课程及专业:大型机系统管理,计算机专业 实验类型:课程设计 实验时数: 2 ●实验目的 熟悉PCOM及ISPF环境;熟悉在大机系统编译连接与运行基本COBOL 程序的方法。 ●实验内容与要求 1.首先使用由老师分配的IBM的主机用户名和密码登陆大型机 2.建立相应数据集: 1)建立分区数据集<用户名>.E,根据下图初始化数据集的参数,该参 数只是参考,需要根据系统实际或者指导老师要求进行调整。 2)用同样方法建立分区数据集<用户名>.

3)建立名为<用户名>.的数据集,参数Record format改为U。 3.在数据集<用户名>.E中建立一个member,并输入一下COBOL程序: 4.输入编译JCL程序,并编译源程序为目标文件 1)在<用户名>.中建立名为CTEST1的MEMBER,然后在其中输入如 下JCL程序: 注意,程序中的斜体部分应该换成实验者的用户名。 2)然后输入SUB提交该JCL程序,返回值如果不是0,请检查JCL程 序是否有错。若有错,修改后重新提交。输出结果可以在SDSF的H 里面看见。 5.输入运行的JCL程序,并运行编译结果 1)在<用户名>.中建立名为CTEST1的MEMBER,然后在其中输入如 下JCL程序:

注意,程序中的斜体部分应该换成实验者的用户名。 2)然后输入SUB提交该JCL程序,返回值如果不是0,请检查JCL程 序是否有错。若有错,修改后重新提交。输出结果可以在SDSF的H 里面看见。如果输出不是想要的结果,请检查COBOL源程序。 6.控制台方式运行编译程序 1)在ISPF首页选6,输入如下命令: allocate fi(sysout) fi(sysin) da('*') 并运行。该命令的目的是定义标准输出和输入。 2)进入<用户名>.数据集,在名为TEST1的MEMBER前输入CALL后 回车。即可以在屏幕上看见运行结果。 实验思考 1.为什么数据集<用户名>.的参数Record format要设为U?

VSAM文件笔记

要在COBOL中使用文件,要在3个不同的部中放上信息。 环境部,要有程序使用的每个文件的文件控制项目(FILE-CONTROL)。这个项目将程序中使用的文件名与程序外的实际文件联系起来。这些项目还定义文件的组织和访问方式。 数据部,要有每个文件的文件描述符(FD)项目,就是数据定义。 过程部,放上处理语句,OPEN,READ,WRITE,DELETE等。 环境部中主要是FILE-CONTROL和I-O-CONTROL.I-O-CONTROL很少使用。 SELECT[OPTIONAL]file-name ASSIGN TO DEV/FILE [RESERVE N[AREA/AREAS]] [FILE STATUS IS VAR] SELECT必须是第一句,其他顺序无关。file-name是程序中传递使用的文件名,相当于实际文件的一个别名。OPTIONAL用于执行可能不存在的文件。 ASSIGN将file-name连接到实际的外部设备或文件。(TO好像可以省略。)RESERVE指定文件缓冲区。 FILE STATUS指定一个变量存放文件状态,这个变量应该已在WORKING-STORAGE SECTION中定义。 对于顺序文件,还有声明如下: [ORGANIZATION IS SEQUENTIAL]可选,缺省为顺序组织文件 [ACCESS MODE IS SEQUENTIAL]可选。顺序文件只允许顺序访问[PADDING CHARACTER IS char]指定文件在固定块长设备上时键块所用的字符,char为一个字符的数据项。 [RECORD DELIMITER IS STANDARD/usr-define]指定如何确定变长纪录的长度。 顺序文件例子: SELECT file-name ASSIGN TO"/usr/file1" FILE STATUS IS file-status 对于相对文件,还有声明如下: [ORGANIZATION IS RELATIVE]是相对文件必须的 [ACCESS MODE IS SEQUENTIAL[RELATIVE KEY IS data]]或者 [ACCESS MODE IS RANDOM/DYNAMIC RELATIVE KEY IS data] 访问方式有3种,缺省是SEQUENTIAL。 RELATIVE KEY可选。如果存在,则文件读取操作顺利完成后,data用所读取纪录的关键字更新。data应为文件的纪录区中没有的整数数据项。 相对文件的例子: SELECT file-name ASSIGN TO"/usr/file2" ORGANIZATION IS RELATIVE ACCESS MODE IS DYNAMIC RELATIVE KEY IS DAY-NUMBER FILE STATUS IS file-status 对于索引文件,还有声明如下: [ORGANIZATION IS INDEXED]是索引文件必须的 [ACCESS MODE IS SEQUENTIAL/RANDOM/DYNAMIC]RECORD KEY IS data1

CL基本命令系统操作

400操作入门 CL基本命令系统操作 常使用的指令(AS/400 指令均是从英文单字取 3 个字, 如 Work with Active Job ==> WRKACTJOB) 1. WRKACTJOB(整个系统) WRKJOB(单一工作) 检示系统目前的使用状态有那些 Jobs 正在运行 , CPU 使用情形及更改 Jobs 属性(运行等级先后次序), 回操作或程序错误讯息, 检示单一Job 的运行状态,亦可终止 JOB运行(End Job). 2. WRKWTR STRPRTWTR ENDWTR 打印机管理 (Wrok with Writer) 打印机激活 (Start Printer Writer) 打印机终止 (End Writer) 3. WRKSYSSTS (Work with System Status) 检示系统资源 RAM 目前的使用状态.可动态调整资源的分配以取得系统运行最佳化. 4. WRKSPLF (Work with Spooled File) 报表指定打印印表机, ⒋? 删除. 5. WRKJOBSCDE (Work with Job Schedule Entery) 设定工作排程时间 6. Go Power 设定开关机时间 7. SAVLIB (Save Library) SAVOBJ(Save Object) 储存程序馆 --> RSTLIB : 回复程序馆 储存对象 --> RSTOBJ : 回复对象 8. WRKCFGSTS *LIN (线路) (Work with Configuration Status)

WRKCFGSTS *CTL (控制器) WRKCFGSTS *DEV (工作站) 检示及管理激活或终止通信线路使用情形 , 且会自动带出远程控制器及工作站使用情形. Status 状态 Vary on pending 等待联机 Varied On 已联机系统处理中 Active 正常作业中 Varied Off 切断联机 , 此时无法联机 , 需要将线路(Line),控制器(Controller),工作站(Device)设定至 Vary on pending 才可以联机. 在将显示(Display)工作站 Varied Off 前 , 先从画面检视该工作站是否仍有 残存 Job 挂在该工作站 , 若有则需将 Job 强迫结束 (ENDJOB) ,否则无法将 工作站 (Device) 及及控制器 (Controller) Varied Off. 显示(Display)工作站在被 Varied on 后 , 状态会由 Varied off --> Vary on pending , 此时若该显示(Display)工作站有开机, 状态会由 Vary on pending --> Signondisplay, 若 User 输入 ID 及 Password , 系统会以该显示(Display)工作站名称产生Job, 状态会由 Signondisplay--> Active. 在将印表机(Printer)工作站 Varied Off 前 , 先从画面检视该工作站是否仍 有 Writer 挂在该工作站 , 若有则需将 Writer 强迫结束(ENDWTR) ,否则无法将工作站 (Device) 及控制器 (Controller) Varied Off.印表机(Printer)工作站被 Varied on 后 , 状态会由 Varied off --> Vary on pending ,此时若该印表机(Printer)工作站有开机, 状态会由 Vary on pending --> Varied On , 待激活印表机(STRPRTWTR)后 ,系统会以该印表机(Printer)工作站名称于 QSPL 子系统下产生印表机(Printer)工作站 Job , 状态会由 Varied on --> Active. 9. STRPDM 激活 AS/400 程序开发工具 WRKLIBPDM 针对整个链接库所有对象 WRKOBJPDM 针对链接库之单一对象 WRKMBRPDM 针对档案数据成员 以上功能均可对对象(档案)作建立, 复制, 搬移, 删除 10. CPYF(Copy File) 拷贝档案数据成员, 可新增或取代记录 11. WRKMSGQ (*QSYSOPR) (Work with Message Queue)

cobol学习笔记

cobol学习笔记(1) COBOL入門 COBOLとは? 2010/06/29 16:35 COBOL面向商业的通用语言 (Common business Oriented Language) コボル ? 1960.04 CODASYL-60 ? 1968. ANSI COBOL(COBOL68)第1次規格 ? COBOL74 第2次規格 ? COBOL85 第3次規格 ? COBOL2002 第4次規格 COBOL是Common Business-Oriented Language(公用面向商业的语言)的缩写,主要供数据处理、数据收集及分析之用。COBOL自60年代初开始广泛应用于计算机应用领域(商业和其他领域)。事实上,除了商业之外,各种管理工作都广泛使用COBOL,如各种统计工作,财会工作,企业计划编制,作业制度,情报检索,人事管理等。COBOL针对商业世界的使用,是真正商用应用程序开发的首选语言。 1.适于数据处理领域。 2.采用英语语法的高级语言,可读性、可维护性、可移植性较强。 3.通用性强,标准化程度较高。 4.结构严谨,层次分明。 5.缺点是比较繁琐。 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学习笔记(2)COBOL的程序结构 IDENTIFICATION DIVISION 标识部見出し部 2010/06/29 20:44 COBOL程序由4部(DIVISION)组成:IDENTIFICATION DIVISION.(标识部)、ENVIRONMENT DIVISION.(环境部)、DATA DIVISION.(数据部)、PROCEDURE DIVISION.(过程部),而每个部又由若干节 (SECTION)组成。

8.2.7 包含有输入输出处理过程的SORT语句排序[共3页]

142 第8章 数据的排序与合并COBOL * PROCEDURE DIVISION. SORT SORT-PROC-FILE ON ASCENDING KEY S-KEY USING IN-FILE OUTPUT PROCEDURE IS SORT-OUTPUT-PROC. /*此处指明输出处理过程*/ STOP RUN. * SORT-OUTPUT-PROC. RETURN SORT-PROC-FILE AT END SET END-OF-RECORDS TO TRUE. PERFORM UNTIL END-OF-RECORDS DISPLAY 'SORTED-REC :' SORT-PROC-REC RETURN SORT-PROC-FILE AT END SET END-OF-RECORDS TO TRUE END-PERFORM. 关于排序中的输出处理过程,还有以下几点需要注意。 在排序输出处理过程中,至少需要包含一条RETURN 语句。RETURN 语句使每一条排序后的记录能够被输出处理过程所使用。RETURN 语句作用于排序中间文件,就好比READ 语句作用于输入文件。 可以使用RETURN INTO 语句替代RETURN 语句。当使用RETURN INTO 语句时,记录将返回到工作存储节或一块用于输出的区域。 在RETURN 语句中,可以使用A T END 或者END-RETURN 短语指明返回结束后的操作。其中A T END 短语表示在所有记录RETURN 完毕后执行其后的操作。END-RETURN 短语则相当于一个强制终止符,此处直接结束RETURN ,并执行其后的操作。 8.2.7 包含有输入输出处理过程的SORT 语句排序 前面分别介绍了排序中的输入输出处理是如何编写的。此处将把这两种处理过程综合应用到使用SORT 语句进行的排序之中。通过综合应用,加深对以上两种处理过程的掌握,同时巩固并扩充应用数据排序的能力。 下面结合一个具体实例进行讲解。仍然以此前的员工信息文件为例,此处在原由的基础上,新增一个员工状态的数据项。假设新的员工信息文件内容如下。 1235 ZHU BO WU HAN 430074 A 1024 WU GUO JUN BEI JING 100085 A 1346 ZHANG XIANG S HEN ZHEN 518057 N 1005 XIE FEI WU HAN 430023 A 1253 XIE FEI WU HAN 430022 A 1028 ZHENG GANG BEI JING 100085 N 1204 ZOU LI QIANG SHANG HAI 201620 A 1536 LING CHEN BEI JING 100080 N 1791 TIAN BO SHANG HAI 201821 N 本例要求仅对员工状态信息为“A ”的员工记录数据进行排序。同时,在排序完成后,要求将所有的员工姓名转换为用小写字母表示,最后再写入排序输出文件中。排序要求以员工姓名作为第一关键字,员工工号作为第二关键字,全部用升序排列。实现以上功能的完整

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打开前动态指定文件路径。 方法三:(环境变量中动态指定文件)

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.

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