COBOL基础培训.ppt
《COBOL基础培训.ppt》由会员分享,可在线阅读,更多相关《COBOL基础培训.ppt(101页珍藏版)》请在三一办公上搜索。
1、COBOL基础培训,因特驰软件北京有限公司,课程设置,课程安排上课:3天,6节课,每节课50分钟练习:18天验收:作业+测试(笔试+上机)学习方法(理论学习+实际操作)1.上课要做好课堂笔记2.课下熟读PPT,掌握PPT上的所有要点知识3.结合练习,在实操中掌握COBOL的编程技巧4.学习重点在于PPT中涉及到的内容学习目标根据项目的程序式样书,编写出合格的COBOL程序。,培训内容,一COBOL概述二标识部三环境部四数据部五过程部六VSAM文件七各部之间的关系八程序举例九COBOL的编译、链接、执行十COBOL语言编程规范,一.COBOL概述,什么是COBOL语言COBOL语言的特点COBO
2、L程序的基本结构COBOL程序结构示意图COBOL程序的书写区域COBOL程序的书写格式COBOL的字符,一.COBOL概述,1.什么是COBOL语言COBOL是Common Business Oriented Language的缩写,是面向商业通用编程语言。它是专门为商业数据处理而设计的计算机高级程序语言。广泛用于数据管理领域。应用于多个行业如:银行,证券,金融,制造,等等。1960年4月正式发表COBOL 61。目前最新版COBOL 2002。2.COBOL语言的特点描述性好,能根据需要描述各种形式的数据。适合大批量数据处理,能对数据进行严密的组织(运算简单但运算量大,逻辑运算多)语法接近
3、自然语言(英语),成文自明。遵循ISO标准,通用性强,移植方便。格式固定,结构严谨,层次分明。缺点是比较繁琐。,一.COBOL概述,3.COBOL程序的基本结构标识部(IDENTIFICATION DIVISION)用来标识程序名称,记录程序的文档记录信息如作者和日期等。环境部(ENVIRONMENT DIVISION)用来描述程序运行和编译的计算机环境,内部数据文件与系统设备的对应关系。数据部(DATA DIVISION)定义程序中所有数据的类型和所占内存的大小。过程部:(PROCEDURE DIVISION)编写程序要执行的语句,是程序的核心。,一.COBOL概述,4.COBOL程序结构示
4、意图,cobol,标识部,过程部,数据部,环境部,段,节,段,句子,节,描述体,句子,节,段,句子,一.COBOL概述,COBOL程序结构示意图部下设置节,节下设置段或描述体,段下或节下包含句子。节是由一个或多个段组成的,节的定义从节名开始到下一个节名或文本结束为止。定义格式:节名 SECTION.(节名分为系统定义和用户自定义两种)段由一个或多个句子组成,段的定义从段名开始到下一个段名或文本结束为止。定义格式:段名.(段名+点号)(段名分为系统定义和用户自定义两种)文件描述体只能在数据部中定义,用于描述外部文件的属性及其记录的格式。定义格式:FD 文件名.(文件描述体用FD(File Des
5、cription)语句定义)句子是完整的指令,用相应的动词表示其操作,以一个句号加一个以上的空格来结束。,一.COBOL概述,5.COBOL程序的书写区域标准COBOL程序每行80列,被分为五个区域第0106列为“标号区”标号是6位数字,应从小到大,但不一定连续,标号只是方便查阅程序,可以省略。第07列为“注释区”,“DEBUG标识区”“*“:表示本行是注释行,用于注释程序说明。“D“:表示本行是DEBUG行,用于程序调试。第0811列为“A区”程序中下列语句必须从该区开始书写:部名、节名、段名,描述符(FD),01和77层。第1272列为“B区”程序正文部分,过程部语句必须从该区开始书写。第
6、7380列为“注释区”行注释区,写入此区的内容在编译时被忽略,(一般不推荐使用),一.COBOL概述,6.COBOL程序的书写格式大小写字母等价,但引号中的字符除外。如:MOVE A TO B=MOVE a TO b DISPLAY HELLO DISPLAY hello相邻的两个COBOL字之间有一个以上的空格。运算符和等号左右必须各有一个以上的空格;圆括号外侧必须有一个以上的空格,内侧不必。如:COMPUTE R=A(B+C)/D逗号,句号,分号左边不能有空格,而右边应有。如:DISPLAY A=,A,一.COBOL概述,7.COBOL的字符COBOL字符集包括:数字0-9,字母 A-Z,
7、a-z,15个专用符号:+-*/=,(逗号).(句号);(分号)(引号)$()空格。属于系统字符集而不属于COBOL字符集的字符,只能出现在COBOL程序的字符串或注释行中。如:DISPLAY#HELLO#COBOL字是由上述字符组成的最小单位。(保留字,用户字)保留字:规定五种类型专门用途的字(300多个)键字:如:MOVE,ADD 等可选字:如:USAGE IS 等专用字符:如运算符:+-*/等;比较符=等表意常量:如:ZERO/ZEROS/ZEROES;SPACE/SPACES;QUOTE/QUOTES;HIGH-VALUE/HIGH-VALUES;LOW-VALUE/LOW-VALUE
8、S;ALL;NULL/NULLS专用寄存器:如:LENGTH OF;RETURN-CODE等用户字:用户自定义的名字。如:程序名,文件名,节名,段名,数据名等,一.COBOL概述,7.COBOL的字符数据名:相当于其它语言中的变量名,它代表一个具体的数据项。只能由字母(至少一个),数字和连字符“-“组成,连字符不能出现在两端,不能包含空格数据名长度不能超过30个字符(length=30)尽量使用有意义的英文字或拼音,如:NAME,XING-MING不能用保留字作为数据名,多使用连字符,如:NAME-OF-STUDENT常量:COBOL常量分为数值常量,非数值常量,表意常量。数值常量:由数字 0
9、 9,正负号和小数点组成,如:123,45.67,-890非数值常量:用匹配的引号(单)括起来的字符串,如:$123,HELLO!。由纯数字组成的非数值常量不能用于数学运算,如:123和123不同。表意常量:QUOTE,QUOTES表示引号,如:QUOTE HENRY QUOTE ZERO,ZEROS,ZEROES:表示零字符;SPACE,SPACES:表示空格 HIGH-VALUE,HIGH-VALUES:表示具有最高值的字符(每个字符二进制为11111111)LOW-VALUE,LOW-VALUES:表示具有最低值的字符(每个字符二进制为00000000)ALL:表示由该量组成的字符串,二
10、.标识部(IDENTIFICATION DIVITION),标识部的作用书写格式PROGRAM-ID 命名规则,二.标识部(IDENTIFICATION DIVITION),标识部的作用标识部是COBOL程序的第一部分,用来为程序设定标志,以便识别,每个程序(包括主程序和子程序)都必须有一个名字,系统按名字对程序管理和调用。标识部下面不设置节,只设置段,部名和段名都从A区开始书写。书写格式IDENTIFICATIONDIVISION.PROGRAM-ID.程序名.AUTHOR.作者名.INSTALLATION.计算机设置场所.DATE-WRITTEN.源程序编写日期.DATE-COMPILED
11、.源程序编译日期.SECURITY.保密程度.,二.标识部(IDENTIFICATION DIVITION),3.PROGRAM-ID 命名规则只能使用字母,数字和连字符最少一个字母,不能以连字符开头或结尾最长30个字符,但通常工作中要求不超过8个字符书写格式:PROGRAM-ID.program-name.,三.环境部(ENVIRONMENT DIVITION),环境部的作用配置节输入输出节,三.环境部(ENVIRONMENT DIVITION),环境部的作用环境部用来说明程序运行的软硬件环境,是COBOL程序中唯一与设备相关的部分,将程序中用到的内部文件与外部设备建立起联系。环境部包括两个
12、节:配置节和输入输出节。(当无配置说明和文件应用时可省略)ENVIRONMENTDIVISION.CONFIGRATIONSECTION.SOURCE-COMPUTER.计算机名.OBJECT-COMPUTER.目标计算机名.SPECIAL-NAMES.专用名描述项.INPUT-OUTPUTSECTION.FILE-CONTROL.文件控制描述体.I-O-CONTROL.输入输出控制描述体.配置节:配置节包含三个段SOURCE-COMPUTER.computer-name.标识对该COBOL程序进行编译的计算机。OBJECT-COMPUTER.computer-name.标识运行该COBOL程
13、序的计算机。SPECIAL-NAMES.用来通知系统把原来规定的设备名或符号改为用户自己指定的名字或符号。例如:CURRENCY SIGN IS$($是默认货币符号,可换成其他非数值常量),三.环境部(ENVIRONMENT DIVITION),3.输入输出节程序中如果用到输入输出文件,就在该节把程序中的内部文件和外部文件(设备)联系起来。输入输出节包括两个段:文件控制段,输入输出控制段。FILE-CONTROL.为程序使用的文件命名,指出存放该文件的外部设备及文件控制信息。ENVIRONMENTDIVISION.INPUT-OUTPUTSECTION.FILE-CONTROL.SELECTF
14、ILE-1ASSIGNTOINPUTFILE ORGANIZAIONIS(SEQUENCIAL,INDEXED,RELATIVE)ACCESS MODEIS(SEQUENCIAL,RANDOM,DYNAMIC)FILESTATUSIS变量名FILE-1是内部文件名,用于COBOL程序内部。INPUTFILE是运行JCL中的DSN指定的数据集,用于指定待操作的数据集。ORGANIZATION指定文件的逻辑结构SEQUENTIAL:记录的次序由其在文件中的物理顺序决定INDEXED:记录的位置由索引来确定,每条记录都必须包含有一个作为主键的项目RELATIVE:记录根据其相对于文件开头的位置来决定
15、,文件中第1条记录的相对记录号为1,第10条记录的相对记录号为10,依次类推。,三.环境部(ENVIRONMENT DIVITION),3.输入输出节FILE-CONTROL.为程序使用的文件命名,指出存放该文件的外部设备及文件控制信息。ACCESS MODE指定文件中的记录以何种方式可用SEQUENTIAL:可用于上述任一ORGANIZATION的文件。对于SEQUENTIAL文件,记录按照物理顺序(即记录原先被写入文件的顺序)读写;对于INDEXED文件,记录按照键值的升序读写;对于RELATIVE文件,记录按其相对记录号的升序读写。如果省略ACCESS从句,将默认为本方式。RANDOM:
16、只能用于INDEXED和RELATIVE文件。由索引键值/相对键值指定所读写的记录,一次存取一条。DYNAMIC:只能用于INDEXED和RELATIVE文件。纪录可按上述两种方式读写,取决于所用输入输出语句的具体形式。FILE STATUS监视文件每一次操作的执行。系统会给由FILE STATUS指定的项目传送一个值。I-O-CONTROL.指定目标程序运行时,几个文件共用一个内存区,以省内存。在此暂不作介绍。,四.数据部(DATA DIVISION),数据部的作用数据部的结构数据定义文件节(FILE SECTION)工作单元节(WORKING-STORAGE SECTION)COBOL中的
17、数据类型联接节(LINKAGE SECTION),四.数据部(DATA DIVISION),数据部的作用程序中涉及到的全部数据(输入、输出、中间)都要在此定义,对它们的属性进行说明。主要描述一下属性:数据类型(数值/字符)和 存储形式(长度)数据项间的关系(层次和层号)文件与记录的关系数据部的结构根据数据项的用途不同,数据部可以分为:文件节(FILE SECTION)用来描述程序中用到的输入输出文件及其记录中各数据项的属性。工作单元节(WORKING-STORAGE SECTION)用来描述程序中用到的中间数据项。联接节(LINKAGE SECTION)用来描述与调用程序间发生数据传递的数据项
18、(即参数),四.数据部(DATA DIVISION),3.数据定义:COBOL中把有从属关系的数据用层次关系来描述数据的层次结构:文件(file)记录(record)字段(field)(组合项(group item)/初等项(elementary item))文件:包含若干记录的集合。与存储在外部介质上的文件(数据集)对应。记录:具有一定层次关系的一组数据项的最大集合。组合项:由若干初等项和低层组合项组成,在逻辑上存在联系(平等或从属)。初等项:相互独立,没有内在联系的数据项,是数据的基本单位。举例说明:FDSTUDENT-FILE.01STUDENT-RECORD.05STUD-IDPIC9
19、(03).05STUD-NAMEPICX(20).05STUD-BIRTH.10BIRTH-YYYYPIC9(04).10BIRTH-MMPIC9(02).10BIRTH-DDPIC9(02).,四.数据部(DATA DIVISION),3.数据定义:COBOL中把有从属关系的数据用层次关系来描述层次规定:描述层次结构的层号从 01 49,层号越大层次越低,高层为01层,最低层为49层。每个数据项都是一个单独的条目,都必须被赋予一个层号。从属项的层号比其上属项的层号大,但层号不必连续。如果多个数据项都从属于同一组合项但互不从属,则这几个数据项应具有相同的层号。一个层号为N的组合项包括它下面所有
20、层号比它大的数据项,直到遇到小于或等于N的层次为止。66层:用于重新编制前面已定义的数据项,必须包含一个RENAMES从句。77层:用于标识一个独立的初等项。它不属于其它组合的初等项。88层:用于标识一个条件名变量。重要的是不同层次数据间的关系,而不是数据的层号。,四.数据部(DATA DIVISION),3.数据定义:COBOL中把有从属关系的数据用层次关系来描述举例说明:01 STUDENT-RECORD.01 STUDENT-RECORD.03 STUD-IDPIC 9(03).05 STUD-IDPIC 9(03).03 STUD-NAME.05 STUD-NAME.05 FIRST-
21、NAMEPIC 9(10).10 FIRST-NAME PIC 9(10).05 LAST-NAMEPIC 9(10).10 LAST-NAME PIC 9(10).03 STUD-BIRTH.05 STUD-BIRTH.05 BIRTH-YYYYPIC 9(04).10 BIRTH-YYYY PIC 9(04).05 BIRTH-MMPIC 9(02).10 BIRTH-MM PIC 9(02).05 BIRTH-DDPIC 9(02).10 BIRTH-DD PIC 9(02).,四.数据部(DATA DIVISION),4.文件节(FILE SECTION)程序中每个输入、输出文件的数据
22、格式都要在此描述,包括:文件名称和属性文件中包括的记录的名字每个记录中数据的层次关系记录中各数据项的数据形式和占内存的大小文件的描述一般格式FD文件名(内部文件名).LABLERECORDISSTANDARD/OMITTED DATARECORDIS记录名01 记录名.05数据项1 PIC 05数据项2 PIC FD语句是文件描述体,用来描述文件与记录的属性,如记录名称,格式,长度 STANDARD:标准磁盘(带)文件带有标号的记录 OMITTED:省略文件记录的标号,用作输出打印的文件 缺省为STANDARD。也可写为:LABEL RECORDS ARE STANDARD/OMITTED.F
23、D语句下所有的数据组和数据项组成了该文件的一条记录。记录描述:记录描述体由01层号开始,后跟记录名。用于定义记录的数据格式,即各下层数据项的数据类型和长度。如果记录本身就是一个初等项,则在记录名后描述记录型和长度。,四.数据部(DATA DIVISION),4.文件节(FILE SECTION)举例说明:外部文件STUDENTFILESTUD-ID STUD-NAME STUD-BIRTH101LILEI_19900521102HANMEIMEI_19910610FDIN-FILE.01STUDENT-RECORD.05STUD-IDPIC9(03).05STUD-NAMEPICX(20).0
24、5STUD-BIRTH.10BIRTH-YYYYPIC9(04).10BIRTH-MMPIC9(02).10BIRTH-DDPIC9(02).,四.数据部(DATA DIVISION),5.工作单元节(WORKING-STORAGE SECTION)程序中用于非文件输入输出的数据项,如运算的中间结果等,在工作单元节中描述PIC:PIC即PICTURE的缩写。用来描述每一个初等项的属性(数据类型、数据长度)。如:01STUD-NAMEPIC X(20).VALUE:用于给变量赋初值。如:01APIC9(03)VALUE123.01BPICX(03)VALUEABC.只有工作单元节的数据项可以赋初
25、值,不能对文件节中文件中的记录数据项赋初值如果在组合项的描述体中使用VALUE子句,初值只能是表意常量或非数值型常量当用一个带符号的数值作初值时,相应的PIC子句中应有S描述符否则初值无效赋初值应注意类型的一致性初值应适合PIC子句描述的范围,否则会出现截断或产生错误RENAMES:用在66层,对之前已经定义的数据项重新组合。格式:层号 新数据项 RENAMES 原数据项1THRU原数据项n如:01ADDRESS.05STREETPICX(15).a05CITYPICX(15).b05STATEPICX(02).cc05ZIPPIC9(05).12345 66FULL-ADDRESSRENAM
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- COBOL 基础 培训

链接地址:https://www.31ppt.com/p-5422126.html