
01-Cobol-基础知识讲义.docx
10页第一章关于COBO的初步知识一 . COBOL 语言的特点COBOUl Common Business-Oriented Language (公用面向商业的语言)的缩写,主要供数据处理、数 据收集及分析之用COBOL自60年代初开始广泛应用于计算机应用领域(商业和其他领域) 事实上,除了商业之外,各种管理工作都广泛使用 COBOL如各种统计工作,财会工作,企业计划编制,作业制度,情报检 索,人事管理等COBOI#对商业世界的使用,是真正商用应用程序开发的首选语言适于数据处理领域 . 1采用英语语法的高级语言,可读性、可维护性、可移植性较强 . 2通用性强,标准化程度较高 . 3结构严谨,层次分明 . 4缺点是比较繁琐 . 5最简单的COBO程序介绍 .二例1 :IDENTIFICATION DIVISION.(标识部)PROGRAM-ID. EXAM 1(.程序标识段)ENVIRONMENT DIVISION.设备部)DATA DIVISION.(数据部)PROCEDURE DIVISIO N过程部)A. DISPLAY ‘THIS IS A COBOL PROGRAM’ ..STOP RUN.例2 :IDENTIFICATION DIVISION.(标识部)PROGRAM-ID. EXAM (程序标识段)ENVIRONMENT DIVISION.设备部)DATA DIVISION.(数据部)WORKING-STORAGE SECTION^单元节)77 A PICTURE IS 9(3).(对 A 进行描述)78 B PICTURE IS 9(3). (对 B 进行描述)PROCEDURE DIVISIO N过程部)S. ACCEPT A.(输入A值)ACCEPT B.(输入 B 值)ADD A TO B.(A+B->B)DISPLAY A,B.(显示 A和 B 值) STOP RUN.三. COBO程序的结构1 . 部 每个程序都包括四个部: IDENTIFICATION DIVISION (标识部)提供程序的一般性文档说明,主要用来指定源程序名。
ENVIRONMENT DIVISION(环境部) 列出程序中所用到的文件 程序中不需要外部文件时, 环境部为空, 也可以省略部标题 DATA DIVISION(数据部)程序中所用到的全部数据(包括:文件数据— -用于输入输出、静态数据、参数等)都应在数据部中说明它们的类型和所占内存的情况 PROCEDURE DIVISION(过程部)包含构成程序的过程性语句,用来给出程序要执行的指令,使计算机产生相应的操作2 . 节和段标识部下只有各个段除标识部以外,每个部下可以有若干个节( SECTION) ,每个节以“节头”作标识每个节下又可包括若干段( PARAGRAPH每个段用“段名”标识各个段内有各种 COBO沅素3 . 句子,语句和子句在过程部中,每一段由若干个句子( Sentence )组成一个句子是以英文句号来结束的句子又由语句( Statement )组成一个语句中又可以包含若干个子句( Clause ) 注意:部标题、节标题、段名、数据项目描述及句子后必须用英文句号结束,否则程序无法编译4 . 描述体(描述款目) 在数据部中有若干个节,每个节中有若干个描述体,每个描述体又有若干个子句构成。
四. 源程序的书写格式1 . 1~6 列,为“序号区” ,为 6 位整数序号,不是程序本身的内容序号不是必须的,但其所占区域要保留2 . 第 7 列,为“指示符区(续行标志区) ” 连接符“ - ”表示本行是紧接在上一行的后面 “* ”或“ / 表示本行为注释行D”表示本行为调试行3 . 8~11歹U,为“ A区”,部头,节头,段头,层号 01,层号77以及文件描述符 FD,程序结束标题等应从 A 区开始书写,但不一定从第 8 列开始写4 . 12~72列(现在有时厂家规定可到 80列),为“ B”区,过程部中白^句子只能从 B区开始书写5 . 73~80 列,为“注释区” 在写程序时,应注意以下几点:1 .大写或小写字母均可,习惯用大写字母2.相邻的两个字之间必须留一个以上的空格3.运算符和等号左右两边必须各留一个空格4.逗号,句号,分号的左边不能留空格,而右边应有空格L. COBOL符和 COBOL字COBOL 字符集包括以下字符:( ) < > $ 空格0~9, a~z, A~Z, + - * / = , . ;COBOL 单字分三种:保留字、用户自定义字及系统名称COBO单字的规则如下:1 . 字长为 1~30 个字符之间。
2 . 只能由字母,数字和连字符“ - ”组成,第一个和最后一个字符不能用连字符3 . 字中不能出现空格4 . 小写字母与大写字母等价5 . 不能用保留字作为用户定义字和系统名称,但用户定义字和系统名称可以用同一个单词用户自定义字:文件、数据、标号、程序等所取的名称系统名称:COBO保留字,用于与操作环境通信, 又COBOUT家定义分为:Computer name Implementers name、 Language name 保留字:有 300 多个如: +、 ACCEP、T ADD、 BEFOR、E DATA六. 常量1 . 数值常量(数字直接数)例: 123, +45.67, -89.652 . 非数值常量(非数字直接数) : 字符串内的引号用两个连续引号表示 例:’ abcd ’ , ’ Expired ’ ,3 . 象征常量:用保留字表示某些常用常量 ( 直接数 ) 例: ZERO ZEROS ZEROESSPACE SPACESHIGH-VALUE HIGH-VALUES LOW-VALUE LOW-VALUES QUOTE QUOTES ALL 常量七. COB O L处理数据的特点: 层次的概念;记录和文件的概念。
八. 程序文本的复制与替换操作1. COPm句COPm句用COBO源文本text-name替换从COPY^开始到终止句号之前的内容2. REPLACE^!REPLACE语句将COBO源程序某个段中的文本进行替换替换从REPLAC晤句的第一个格式开始,至ij REPLACE OF赠句结束第二章 标识部和环境部一. 标识部( IDENTIFICATION DIVISION)(一)必写部分IDENTIFICATION DIVISION.PROGRAM-ID. 程序名 .(二)任选部分 一般格式:[AUTHOR. 作者姓名 ][INSTALLATION. 设计这个程序的公司或部门 ][DATE-WRITTEN. 编写日期,可记入修订史,修改日期、原因及人员 ][DATE-COMPILED. 编译日期 ][SECURITY. 保密程度的描述 ]注:标识部中的段标题只能按部描述中指定的顺序出现3. 环境部( ENVIRONMENT DIVISIO)N环境部指定程序中与特定计算机或操作系统相关的方面,指明用到哪些设备,哪些文件,将程序中用到的内部文件名与外部文件(或外部设备)联系起来如果程序不需要任何环境部提供的项目,则可以省略 环境部。
一般格式: ENVIRONMENT DIVISION.CONFIGURATION SECTION. 配置节SOURCE-COMPUTER. OBJECT-COMPUTER. SPECIAL-NAMES.INPUT-OUTPUT SECTION. 输入 / 输出节.I-O-CONTROL.1. 配置节包括 SOURCE-COMPUTER, OBJECT-COMPUTESPECIAL-NAMES专用名段)SOURCE-COMPUTERS识编译程序的计算机若该段省略,则编译程序的计算机是源计算机如果指 定WITH DEBUGGING MODE句,则编译所有源调试行,否则把调试行作为说明语句OBJECT-COMPUTERS识编译程序运行的计算机SPECIAL-NAME皱用于把系统中原规定的一些设备名或功能名或符号改为用户自己指定的名字或符 号SPECIAL-NAMES.CLASS REAL-NUMBER IS " 0123456789+-. " 可用于类条件测试DECIMAL-POINT IS COMMA. 逗号用作小数点,句号用作编辑符CURRENCY SIGN IS “Y”. 表示货币符号的字符, DEFAULT$2. 输入输出节输入输出节只用于文件,它把内部文件与外部文件(包括外部设备)联系起来。
它有两个段:文件控制段:段是给文件命名,指出存放该文件的外部设备及其他有关文件控制信息对每个文件包含一个项目SELECT FILE- 1 ASSIGN TO “T”.SELECT FILE-2 ASSIGN TO DISK.SELECT FILE-3 ASSIGN TO PRINTER.输入输出控制段:I-O-CONTROL 段包含定义程序返回点,不同文件共享的内存区和多文件卷中文件位置的项目数据部的节 .COBOL将数据部分成节,每第三章 数据部数据部包含程序引用的所有数据的定义,如文件记录、变量、表格和报表个节是可选的,但程序中的节应按指定顺序定义DATA DIVISION.FILE SECTION. 文件节WORKING-STORAGE SECTION. 工作存储节LINKAGE SECTION . 连接节COMMUNICATION SECTION. 通信节REPORT SECTION. 报表节1. . 文件节程序中每一个输入或输出文件都要在文件节中定义包括:( 1 ) 文件名和文件属性 2 ) 文件中包括的记录名 3 ) 每个记录中数据的层次关系 4 ) 记录中各数据项的数据形式和占内存的大小。
DATA DIVISION. ( 数据部 )FILE SECTION. ( 文件节 )FD FILE-1. (文件名)LABEL RECORD IS OMITTEDDATA RECORD IS STUDENT-SCORE.( 1 STUDENT-SCORE. ( 记录名 )03 NAME PIC X(10).03 NUM PIC 9(06).03 CORUSE-SCORE.05 CORUSE-1 PIC 9(03).05 CORUSE-2 PIC 9(03).05 CORUSE-3 PIC 9(03).2. 工作存储节包含程序所需的临时结果和初始化静态数据的数据定义WORKING-STORAGE SECTION.77 X PIC S99 VALUE -21.01 A PIC 9(08).01 B.03 B1 PIC X(04).03 B2 PIC X(02).03 B3 PIC X(02).3. 连接节本节只用于子程序,包含调用程序传递的数据(即参数) LINKAGE SECTION.01 LCMIN.COPY RCI001.01 LCMOT.COPY RCJ001.4. 通信节通信节描述作为程序间接口的数据和消息控制系统, 用以实现与通信设备相关的消息分析的 CO。












