COBOL常用操作

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

日期。设某一记录的具体数据 如下:0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 9 9 9 0 3 2 2 prodcode quantity price year mon day 如果我们希望读入该记录并对各数据项进行处理, 则需要在 ‘输入纪录区’中划分出各数 据项, 以便存放相应的数据。 定义输入纪录区以及划分记录区中各数据项的工作是由数据部 来完成的。下面我们简单介绍数据部定义记录区方法,针对上面输入数据的特点,我们可以 在数据部中对记录区作如下描述: DATA DIVISION。 FD 01 IN-FILE 02 02 02 02 LABLE RECORD IS 9(4)。 9(5)。 9(6)。 9(4)。 STANDARD。 IN-RECORD。 (定义记录区名为 IN-RECORD)
在用 WRITE 语句输出一个记录之前,应向输出记录区传送数据。 如已将数据传送到上述各 数据项中,则在执行 W RITE 印出来。 OUT-RECORD 语句后,则记录区中的数据通过打印机打
WRITE 语句的一般形式: BEFORE WRITE 名 PAGE
标识符 2 LINE 整数 LINES AFTER ADVANCING 助忆
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 列为 “标号区”。 77 及文件 描述符 FD 等应从 A 区开始写。 第 12 至此 72 列,称为“B 区”。写程序中的正文部分。如过程部中的句子只能从 B 区 开始写。 第 73 至 80 列,称为“注释区”。 第 7 列为“续行标志区” 第 8 至此 11 列,称为“A 区”。程序中有些内容如部头,节头,段头,层号 01,层号
PROD-CODE Βιβλιοθήκη BaiduIC PROD-PRICE PIC 05 05 05
PROD-QUANTITY PIC
MANU-DATE。(生产日期为一组合项) DATE-CCYY PIC DATE-MM PIC DATE-DD PIC 9(2)。 9(2)。
其中,FD 即 FILE DESCRIPTION,表示从该行起是‘文件描述体’。 LABLE RECORD IS STANDARD :所有的磁盘文件和磁带文件都必须写明此句。 01 层定义‘输入纪录区’ 的名字为 IN-RECORD,由于 01 层属于 FD 描述体,因此也就指 定了 IN-RECORD 和 IN-FILE 的关系。亦即从 IN-FILE 读入的数据存放在 IN-RECORD 记录区中。 这样,在执行一次 READ 语句后,文件中一个记录的数据便输入到内存记录区,按排列顺 序分别送到记录区中各数据项中。 注意文件的各记录中的数据是不分数据项的, 只是按一定 的顺序把数据存放在各字节中。 所以数据部对记录区中各数据项的描述应该与文件的记录中 各数据排列次序和长度相一致。 READ 语句的一般形式:READ 语句] , 例如: READ IN-FILE 程序结束运行。 4。WRITE 语句:将内存中的数据输出到外部设备,主要是由 WRITE 语句来完成的。WR ITE 语句的最简单的格式为: WRITE 件名’) 与输入文件相似输出文件也要在环境部中指定所对应的实际存在的外部文件: ENVIRONMENT DIVISION。 INPUT-OUTPUT SECTION。 FILE-CONTROL。 SELECT DATA DIVISION。 FD 01 OUT-FILE 02 02 02 02 LABLE RECORD IS 9(4)。 9(5)。 9(6)。 9(4)。 OMITTED。 OUT-RECORD。 PROD-CODE PIC PROD-PRICE PIC MANU-DATE 05 05 05 DATE-CCYY PIC DATE-MM PIC DATE-DD PIC 9(2)。 9(2)。 PROD-QUANTITY PIC OUT-FILLE ASSIGN TO 打印机名。 也要在数据部中定义输出记录区: 记录名 (注意 WRITE 语句的操作对象是记录,所以是‘记录名’而不是‘文 INTO TEMP-RECORD AT END STOP RUN 该语句除了将 读到的数据传送到 IN-RECORD 之外,还传送到 TEMP-RECORD 中。在遇到文件尾时, 文件名 RECORD [INTO 标识符] [AT END 执行
LABLE RECORD IS OMITTED :凡输出设备是打印机的都必须写明此句。如输出设备是
磁盘,则仍用 LABLE RECORD IS STANDARD。 01 层定义‘输出纪录区’ 的名字为 OUT-RECORD,由于 01 层属于 FD 描述体,因此也就 指定了 OUT-RECORD 和 OUT-FILE 的关系。
。。。GIVING 标识符 m [,标识符 n]。。。 2。SUBTRACT 语句: 格式 1:SUBTRACT 标识符 1 ,标识符 2 。。。 FROM 标识符 m [,标识符 n]。 。 。
常量 1 ,常量 2 格式 2:SUBTRACT 标识符 1 ,标识符 2 。。。 FROM 常量 标识符
五。COBOL 字符集包括: 数字 0 --- 9 ,字母 A--- Z ,a --- z , 专用字符:+ - * / = , . ; ‘ ( ) < > $ 及 空格。属于系统字符集而不属于 COBOL 字符集的字符只能出现 符串里。 在 COBOL 程序中的字
六。常量: COBOL 常量分为数值常量(如 100,-29),非数值常量(如 ‘ABC’ )和表意常量 (如 ZERO,SPACE,HIGH-VALUE,LOW-VALUE ,QUOTE ,ALL 常量)。 七。COBOL 所处理的数据的特点 层次的概念:数据间存在的从属关系。 文件的概念:多个记录可以组成一个文件。
( 标识符和助忆名的说明同上) ACCEPT 语句和 DISPLAY 语句不必定义文件适用于少量的数据输入输出。 3。READ 语句:COBOL 语言中数据的输入输出主要是通过对外部文件的读写进行的。RE AD 语句就是从外部文件上读入数据输 出到程序中的数据项中。在程序中用到的所有文件 都需要在环境部中指定程序中用到的文件名与实际外部文件的联系。 数据部也要对文件加以 描述。指定数据结构各数据项所占的内存单元长度以及数据形式。 COBOL 的存取是以文件为对象以记录为单位的。 READ 语句的最简单的格式为: READ 文件名 ENVIRONMENT DIVISION。 INPUT-OUTPUT SECTION。 FILE-CONTROL。 SELECT IN-FILLE ASSIGN TO 外部文件名。 为了存储读入的记录,必须在内存开辟一个与文件记录长度相等的存储区,即‘输入文件纪 录区’。每一个输入文件都有相应的‘输入文件纪录区’,与之一一对应。亦即在数据部中描述 文件的数据结构。 3。READ 语句: 假设 IN-FILE 文件每一记录中包含的内容为:产品代码,产品数量,产品单价,生产
DIVIDE
C GIVING C
5。COMPUTE 语句: COMPUTE 标识符 1 [,标识符 2 ]。。。= 算术表达式 ,+ 或 运算的优先级由高到低顺序为:(),正负号 ,** ,* 或 / 如:C = 3 ,D = 5 ,E = 2 , F = 1 则: COMPUT A,B = -(C + D)* 2 / E ** 3 - F = -3 三。传送语句 (MOVE) MOVE 语句用来实现内存中数据的传送(而不是内存和外设之间的传送)。 MOVE 语句的一般格式为: MOVE 标识符 1 常量 1 MOVE 语句的传送规则: 1,如果接收项和发送项在数据部中描述的类型和长度相同,则按字节一一对应传送。 2,如果接收项和发送项长度不相同,而二者都是数值数据项,则按小数点对齐处理。 3,对字母或字符数据(非数值型数据)的传送,按左对齐处理。 4,初等项和组合项之间可以相互传送。 关于各类数据之间的传送规则将在第五章中介绍。 四。转移语句(GO TO) 当需要使程序改变正常执行的顺序时,可以使用无条件转移语句 GO TO 。其一般 格式为: 格式 1: GO 格式 2: ON 标识符 GO TO 过程名 TO 过程名 1 [,过程名 2]。。过程名 n DEPENDING TO 标识符 2 [,标识符 3]。。。
COBOL 通过 2 位长度的文件状态字(FILE-STATUS)来表示文件的操作结果是否成功, 常见 的文件状态值及意义:
二。算数运算语句 1。ADD 语句: 格式 1:ADD 常量 1 ,常量 2 格式 2:ADD 常量 1 标识符 1 ,常量 2 ,标识符 2 ,常量 3 ,标识符 3 标识符 1 ,标识符 2。。。 TO 标识符 m [,标识符 n]。。。
记录名 [FROM 标识符 1 ]
5。OPEN 语句:程序中如果需要读写文件,则该文件必须先用 OPEN 语句打开,系统在执 行 READ,WRITE 以前先检查该文件是否已在规定的外部设备上准备就绪。 OPEN 语句的一般格式为: INPUT 文件名 1 [,文件名 2]。。。 OPEN OUTPUT 文件名 3 [,文件名 4]。。。 。。。 6。CLOSE 语句:当对一个文件的读或写的操作已完成,就应关闭该文件。 CLOSE 语句的一般格式为: CLOSE 文件名 1 [,文件名 2]。。。
常量 1 , 常量 2 4。DIVIDE 语句:
格式 1:DIVIDE 常量 1 格式 2:DIVIDE 4]。。。
标识符 1
INTO 标识符 2 [,标识符 3]。。。
标识符 1
INTO 标识符 2 GIVING 标识符 3 [,标识符
常量 1 BY 常量 2 B 注意: DIVIDE A INTO C B DIVIDE A BY A INTO B GIVING C B 是指 是指 B/A 是指 A/B B/A
常量 1
,常量 2
GIVING 标识符 n [,标识符 p]。。。 3。MULTIPLY 语句: 格式 1:MULTIPLY 常量 1, 格式 2: MULTIPLY 标识符 1 BY 标识符 2 GIVING 标识符 3 [, 标识符 4]。 。 。 标识符 1 BY 标识符 2 [,标识符 3]。。。
记录的概念:具有一定层次关系的一组数据项的最大集合,它是内存中具有独立逻辑 含义的最大存取项,具有最高层次。 CHAPTER 2 过程部初步-----最基本的过程部语句 一。输入输出语句。 1。ACCEPT 语句:直接从终端键盘或系统指定的输入设备上输入数据。 ACCEPT 标识符 [FROM 助忆名] 注:A。标识符(identifier)指的是能唯一地标识一个数据项的数据名,不能唯一地标识一个 数据项的数据名不是标识符。标识符可以是组合项。 B。在 ACCEPT 语句中如不写 FROM 部分,如 ACCEPT 定的 设备上读入一个数据给 A。 如果不想从指定的设 备上输入, 则要用 FROM 选项, 这时“助忆名”需要在环境部中事先说明和那种外部设备相联系。如: ENVIRONMENT DIVISION。(环境部) CONFIGRATION SECTION。(配置节) SPECIAL-NAMES。(专用名段) CONSOLE IS ABC 如在过程部中有 ACCEPT T FROM ABC。 则表示要从控制台接收数据 2。DISPLAY 语句:从计算机内存中输出到某一指定的输出设备上。 DISPLAY { 标识符 1,常量 1}[标识符 2,常量 2]。。。[UPON 助忆名] A ,则表示从系统隐含指
相关文档
最新文档