COBOL简述及基本语法ppt课件.ppt

上传人:小飞机 文档编号:1375611 上传时间:2022-11-16 格式:PPT 页数:39 大小:453.05KB
返回 下载 相关 举报
COBOL简述及基本语法ppt课件.ppt_第1页
第1页 / 共39页
COBOL简述及基本语法ppt课件.ppt_第2页
第2页 / 共39页
COBOL简述及基本语法ppt课件.ppt_第3页
第3页 / 共39页
COBOL简述及基本语法ppt课件.ppt_第4页
第4页 / 共39页
COBOL简述及基本语法ppt课件.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《COBOL简述及基本语法ppt课件.ppt》由会员分享,可在线阅读,更多相关《COBOL简述及基本语法ppt课件.ppt(39页珍藏版)》请在三一办公上搜索。

1、2007/11/3,1,山东省农村信用社 COBOL培训,IBM全球服务技术团队,2007/11/3,2,COBOL简述及基本语法COBOL程序部及运算逻辑处理COBOL对文件处理COBOL报表生成COBOL表格处理及子程序的调用COBOL程序出错诊断及优化处理,内容概述,2007/11/3,3,COBOL简述,英文缩写: COBOL (Common business Oriented Language) 中文译名:公用面向商业的语言 解释: 一种适合于商业及数据处理的类似英语的程序设计语言。这种语言可使商业数据处理过程精确表达。,2007/11/3,4,COBOL(面向商业的通用语言,又称为

2、企业管理语言、数据处理语言等,Common Business Oriented Language)是最早的高级编程语言之一,是世界上第一个商用语言。COBOL有许多版本,针对不同机器和操作系统,如大型机上的IBM COBOL和PC机上的Fujitsu与Micro Focus COBOL。,COBOL简述,2007/11/3,5,COBOL发展历史,1959年5月,五角大楼委托格雷斯霍波(G.Hopper)博士领导一个委员会并由Rear Admiral Grace Hopper公司主持开发,并于1961年由美国数据系统语言协会公布。正式发布于1960年4月,称为Cobol60。1963年,美国国

3、家标准研究所(ANSI)进行了标准化,但是ANSI标准很少被遵循;因此,COBOL程序只是部分可移植的。,2007/11/3,6,1974年ANSI对COBOL-68作出了修订扩充,形成了ANSI COBOL X3.23-1974,随后1978年ISO采用其形成ISO COBOL-78,后来又提出了ANSI X3.23-85,增加了很多结构化程序设计的内容,ISO标准ISO1989:1985也采用了该标准。 最新的标准COBOL 2002主体已经于2002年12月出版,其他部分还在不断地完善之中,具体内容请参考 http:/,COBOL发展历史,2007/11/3,7,COBOL重要性及应用,

4、经过40多年的不断修改、丰富完善和标准化,COBOL已发展为多种版本的庞大语言,在财会工作、统计报表、计划编制、情报检索、人事管理等数据管理及商业数据处理领域,都有着广泛的应用。COBOL的重要性可以用这句话来描述:世界上70的数据都是用COBOL语言处理的,并且90的ATM事务处理用的都是COBOL语言。每天在线处理的COBOL事务有300亿次。500强中有492家(包括全部的100强)使用了COBOL语言,目前在COBOL方面的投资已经超过3万亿美元,据称用COBOL书写的程序超过了1000亿行,并且以每年大约50亿行代码的速度在增长。 由于COBOL在商业领域的雄厚基础,而且COBOL主

5、要是应用于银行、金融和会计行业等非常重要的商业数据处理领域。,2007/11/3,8,COBOL编程基本语法,COBOL程序结构COBOL字符集COBOL字COBOL变量COBOL常量COBOL数据集COBOL源程序书写格式,2007/11/3,9,COBOL程序结构,IDENTIFICATION DIVISION. *标识部 PROGRAM-ID. MORTGAGE. *程序名标识段ENVIRONMENT DIVISION. *环境部DATA DIVISION. *数据部 WORKING-STORAGE SECTION. *工作存储节 77 APIC 9(3). *对变量A的描述 77 B

6、PIC 9(3). *对变量B的描述 77 C PIC 9(4). *对变量C的描述PROCEDURE DIVISOIN. *过程部 BEGIN.ACCEPT A *输入A值ACCEPT B. *输入B值ADD A B GIVING C. *计算 C=A+BDISPLAY C. *显示CSTOP RUN.,2007/11/3,10,每个COBOLO程序都分为四个部分,标识部,环境部,数据部,过程部.每个部分必须以部头开始.标识部以部头: IDENTIFICATION DIVISION.开始,在标识部中主要规定源程序的名称,另外可以提供一些其他的说明.如作者,编写程序日期等等.环境部以部头:EN

7、VIRONMENT DIVISION.开始,主要说明计算机中使用哪些设备,如直接输出在屏幕上,输出在打印机等.,COBOL程序结构:部,2007/11/3,11,数据部 以部头:DATA DIVISION开始,数据部定义程序所处理数据的名字及特征.也就是数据定义.过程部以部头:PROCEDURE DIVISOIN开始,程序运行时处理数据的各种语句都在这里书写,过程部是程序的核心,其他三个部仅是对程序做必要的说明.,COBOL程序结构:部,2007/11/3,12,COBOL是一种层次结构很强的程序设计语言.除标识部外,在其他三个部下面,可以设置若干节,每个结以:节名 SECTION.开始,在环

8、境部,数据部中COBOL语言规定了几个节,节头应按规则书写,各节有不同的作用,根据需要可以选定不同的节.例如:数据部可以设工作存储节.DATA DIVISION.数据部部头WORKING-SRORAGE SECTION.工作存储节头,COBOL程序结构:节和段,2007/11/3,13,标识部下面没有节,直接设段.例如程序名段PROGRAME-ID. MORTGAGE.过程部中,程序比较小时,可以不设节,直接设段.较长的程序可以设计节,下面还可以设段,段应有段名.段由一个或多个句子组成.书写节头,后面要加SECTION,节头独占一行,段头只写段名,段名可以独占一行,也可以和下面的语句同占一行.

9、,COBOL程序结构:节和段,2007/11/3,14,在过程部中,每段由若干句子组成,上例的过程部由4个句子组成.第一句ACCEPTAACCEPTB. 句子用句号”.”作为结束标志.句号后面至少应该有一个空格,句子又由若干语句组成,每个语句之间用空格,逗号”,”或分号”;”分开,(逗号,分号后面应有一个以上空格,所以通常用空格分来).每个语句后面接着操作对象或操作内容,完成独立的计算机操作.例如ACCEPT A表示从键盘接受数据,送入A中(相当于C语言的scanf和C+的cin).数据部,环境部中也可以出现子句.,COBOL程序结构:句子,语句,子句,2007/11/3,15,在数据部中有若

10、干节,每个节又有若干描述体,描述数据的类型,长度等.上例中数据部的工作存储节:WORKING-STORAGE SECTION中以77开始的三行,就是数据的描述体,说明A,B,C都是数值型数据项,A,B为三位整数,C为四位整数.77 A PIC 9(3).*对变量A的描述77 B PIC 9(3).*对变量B的描述77 C PIC 9(4).*对变量C的描述,COBOL程序结构:描述体,2007/11/3,16,COBOL字符集,COBOL字符是组成COBOL程序的最小单位.字符集是所有COBOL字符的总称.COBOL字符集共有78个字符.它们是:字母AZ(az)数组09专用字符 +加号 -减号

11、 *星号/斜线(除号) =等号 大于号 小于号$美元符号(货币符号) ,逗号;分号 .句号(小数点)单引号 “双引号(左括号 )右括号空格,2007/11/3,17,COBOL字,COBOL语言的基本单位为单字,通称为COBOL字,如同组成英文句子的基本单词为英文单词一样,例如下面COBOL语句:MULTIPLY HOURS-WORKED BY HOURLYRATE GIVING RATE.COBOL字包括保留字及用户字两大类.1.保留字:保留字是在COBOL语言中已经规定用作专门用途的字,有特定的含义。 例如ADD代表加操作,DISPLAY代表显示.保留字不能作为用户字使用.,2007/11

12、/3,18,2.用户字:编程人员自己定义的句子,例如:程序名,数据名等等,用户字的构成应符合下列规则:a.由字母,数字及连字符”-”组成,其他特殊字符不得使用.b.字符组合中至少含有一个字母或连字符,但段名可以有数字组成.c.字符组合的开始字符或结尾字符不能是连字符d.字的长度最多三十个字符.不正确的用户字例子:-BEGIN(连字符出现在最左边),DATA(是保留字),*A*(不符合规则),DAT NUMBER(中间有空格),COBOL字,2007/11/3,19,COBOL程序结构:结构图,2007/11/3,20,变 量,变量是在内存中定义的一块地址,程序可以在此存放数据或从此处检索数据。

13、变量名或标识符是用来标识变量存储在内存中的那块地址。变量必须以类型和大小来描述。COBOL程序中用到的变量必须在数据部中有描述。COBOL语言中没有像C/C语言那样的局部变量。,2007/11/3,21,1.变量描述PIC子句PIC(PIC的所写)子句对每个变量进行详细描述,包括类型及大小.一般格式如下: PICTURE/PICIS 描述字符串PIC只对基本项和孤立项进行描述,而不能描述组项.书写PIC子句应先写层号,数据名,接着写PIC保留字,最后写变量描述字符和句号.PIC子句应该从B区开始。下面具体叙述描述字符串.(1) 数值型变量的描述a. “9”描述“9”描述表示实际的或概念上的数据

14、位上有一个数字.例: 02BPIC9999.表示变量B可以放入四位整数数字,范围从09999,可以简写为 02BPIC9(4).说明:最多允许18个”9”.若把大于变量长度的数字存入该数据段,则会发生高位截断.,变量的定义,2007/11/3,22,b. “V”描述符“9”描述符只能存放整数,而无法保存小数. 例:02APIC9(2). 如果把12.34存入A,则A只会保存12,为了解决这个问题,用”V”描述符,”V” 描述符可以标出隐含的小数点位置. 例:02APIC99V99. 表示A可以存放两位整数,两位小数,即099.99之间的任意值.说明:由于”V”不占字节,直接显示含小数的变量不会

15、出现小数点,如用显示语句把A的内容显示在屏幕上,只能显示1234,想显示小数点,则需要把A传送到具有小数点编辑描述的变量再显示,关于编辑型数据在后面描述.若V在最右边,可以不写.一个PIC语句只允许一个”V”描述.c. “S”描述符上述两个描述符描述的变量只能存放绝对值,为了正确表示数值得正负,用”S”描述符,这样就可以存放带符号的数.,变量的定义,2007/11/3,23,例:01MPICS99V99.表示M可以存放带符号的三位整数两位小数.说明:”S”代表一个正负号的位置,应是最左测的描述符.不能直接显示带”S”描述的变量,”S”在内存中不单独占用一个字节,而在带”S”描述的变量中加入一些

16、标记.标记和原来数据末尾数字混合在一起.例如:02APIC S9999.A中含有-1234,当显示A时,给出的信息是123M.若想显示出带符号的数字,应该把含有”S”描述的数据项传送到含有正负号编辑型描述字符的变量中再显示.,变量的定义,2007/11/3,24,(2)字符型描述符”A”a, 用”A”描述的变量,只能存放英文字母或空格.例如:02 APICA(7).表示变量A中可以存放7个字符. b, 字符型数据描述符”X”由”X”描述的变量可以存放计算机能够使用的任意字符.例如:02 B PIC X(8).B的内容可以为任意字符.说明:”X”描述符可以存放数字,但这样的数字被当作字符对待.,

17、变量的定义,2007/11/3,25,2. VALUE子句VALUE子句用来定义工作存储节中变量的初值.格式如下:VALUEIS常量例: 77PAGE-COUNTPIC99VALUE 0.几点说明:a.只能对工作存储节中的变量赋初值.b.使用VALUE子句时,不能和PIC子句矛盾,赋值类型应与PIC描述一致.如下 两种定义就是错误的.02 A PIC 9(4) VALUE “ABCD”.02 A PIC X(2) VALUE “NAME”.c.可以在变量上用VALUE语句,给组项赋值的值只能是表意常量或非数值常量,同时所赋之值要和组内各项的描述一致,见下页例子.,变量的定义,2007/11/3

18、,26,VALUE使用例子1:01 TOTAL VALUE ZERO.02 TOTAL-1 PIC 9(3).02 TOTAL-2 PIC 9(4).和下面定义是等效的:01 TOTAL.02 TOTAL-1 PIC 9(3) VALUE ZERO.02 TOTAL-2 PIC 9(4) VALUE ZERO.VALUE使用例子2:01 SUM VALUE “LI MING 0895”.03 NAME PIC X(10). 03 MARK PIC 9(4).与下面定义是等价的:01 SUM.03 NAME PIC X(10) VALUE “LI MING”.03 MARK PIC 9(4) V

19、ALUE 895.,变量的定义,2007/11/3,27,可用于PIC语句中的字符,格式字符串最多30个字符,可以包含下列字符: A 字母A-Z,a-z,空格 B 插入空格 P 标量字符,代表字段中不显示的小数点位置 S 代数符号,实际显示取决于项目的USAGE V 小数点位置 X 任何字符 Z 抑制前头的0并转换成空字符 0 插入0 9 数字09 / 插入/ , 插入,(逗号不能作为字符串的最后一位,最后时逗号是分隔符) . 插入. * 抑制前头的0并转换成* + 正值插入+,负值插入- - 正值插入空格,负值插入- $ 插入美元号 CR 正值插入两个空格,负值插入CR DB 正值插入两个空

20、格,负值插入DB,2007/11/3,28,常用COBOL变量定义及应用,03 VAR PIC AAAAA. STATE变量长度为5个字符,不能有数字,等价于03 STATE PIC A(5)。输入ASDFG ,显示ASDFG 03 VAR PIC XXXXX. FILLER变量长度为5个任意字符。等价于03 FILLER PIC X(5)。输入123AS , 显示123AS 03 VAR PIC 99/XXX/9999 长度11,输入05may2004,显示05/may/2004 03 VAR PIC 0ABXXX/9999 长度11,输入05may2004,显示05 may/2004 03

21、 VAR PIC 9(3) 长度3,0999之间。 03 VAR PIC 9(4)V99 长度6,0.009999.99之间。 03 VAR PIC S9(5)V99 长度7,-99999.9999999.99之间。 03 VAR PIC 9(6)PPP 长度6,可以是1000,2000,.,999999000。输入1234,显示1000。,2007/11/3,29,03 VAR PIC PPP999 长度3,0.0000010.000999之间。输入123,显示0.000123。 03 VAR PIC ZZZ.99,输入100.50,显示100.50;输入-51.50,显示51.50;输入0

22、,显示.00. 03 VAR PIC $ZZZ.ZZ-,输入100.50,显示$100.50;输入-51.50,显示$51.50-;输入0,显示$_ _ _._ _ 03 VAR PIC $*,*.99CR,输入1000,显示$*1000.00;输入-1000,显示$*1000.00CR; 输入0,显示$*,*.00;输入51.5,显示$*,*51.50 03 VAR PIC $,$.99,输入100.50,显示$100.50;输入-100.50,显示$100.50; 输入0.777,显示$.77;输入0,显示$.00 03 VAR PIC $.$,输入1.00,显示$.00;输入0.65,显

23、示$.65; 输入0,显示$.00;,常用COBOL变量定义及应用,2007/11/3,30,03 VAR PIC $-,输入17.7,显示$17;输入-17.7,显示$-17; 输入-5,显示$-5 03 VAR PIC $999.99+,输入100.50,显示$100.50+;输入-100.50,显示$100.50-; 03 VAR PIC 9(3)B9(3),输入55,显示000 055;输入1000.78,显示001 000;USAGE 表示基本或组数据的类型。有BINARY,COMPUTATIONAL(COMP),DISPLAY,INDEX,PACKED-DECIMAL.JUSTIF

24、IED 03 VAR1 PIC X(5) JUSTIFIED RIGHT. 03 VAR2 PIC X(5). 输入XYZ,VAR1显示的是 XYZ,VAR2显示的是XYZ 。BLANK WHEN ZERO 03 VAR PIC $999,999.99 BLANK WHEN ZERO . 当字段值为0,这个项目设置为全部空格。,常用COBOL变量定义及应用,2007/11/3,31,COBOL中变量层次说明,COBOL程序中的数据项的定义从层号开始,01层是最高层,49层是最低层。 66层是为特殊描述符项目保留的,可以更名现有的数据项或组,或以原定义未允许的方式组合。77层项目用于某个组的数据

25、项,如程序中的临时变量。 88层是对特殊数据项目条件名保留的。主要用于枚举有限值,较多用于IF条件判断或者是EVALUATE语句。,2007/11/3,32,变量的使用,J,O,H,N,StudentName,My name is JOHN,2007/11/3,33,常 量,常量在程序中是一个不由数据名制定的量,其值在程序运行中不会改变.常量有以下三种:,2007/11/3,34,常 量,2007/11/3,35,COBOL源程序书写格式,COBOL源程序格式比较原始,与穿孔卡输入时代有关,源程序书写在程序纸上,程序纸每行80列,每列分为五个区,如下表:,标号区第16列为标号区,给程序每一行唯

26、一由小到大的编号,可写可不写,若写应按照编号由小到大的顺序,可以不连续.(2) 续行区a.第7列为续行区,一个句子写不完,需要在下一行书写.若一个字或一个 数值常量分割写在两行,需要在续行的第7列给出连字符”-”就可以.否 则不需要写连字符.b.第7列给出”*”号,表示这行为注释行.,2007/11/3,36,(3) A区第811列为A区.各部头,节头,段头部必须从A区书写.层号01,77及文件描述符FD必须从A区开始书写.从A区书写,可以从811列中任意列开始书写,都属于A区.(4) B区第1272列为B区.程序其他部分应限制在B区,这里书写的语句是计算机真正操作的语句.(5) 注释区第73

27、89列为注释区,2007/11/3,37,COBOL源程序书写格式,-| A区 000100 IDENTIFICATION DIVISION. 000200 PROGRAM-ID. COMMENT. 000300 ENVIRONMENT DIVISION. 000400 DATA DIVISION. 000500 PROCEDURE DIVISION. 000600000700* This is a comment.000800* This paragraph displays information about the program.000900 PROGRAM-BEGIN. -| B区

28、003700 DISPLAY This program contains four DIVISIONS,.003800 DISPLAY three PARAGRAPHS.001000 DISPLAY and four SENTENCES.-| A区 001100 PROGRAM-DONE. -| B区 001200 STOP RUN.,标号区,续行区,*表示注释。,2007/11/3,38,(6) 几点注意事项a. COBOL句子以句子”.”作为结束标识符,语句之间可以用空格,逗号”,”或分号”;”分开.b. 作为标点符号的句号,逗号或分号,后面必须至少有一个空格.c. 相邻的字和常量之间至少有一个空格.d. COBOL允许一行写几条语句,也可以一条语句写在多行上.e. 非数字常量可以用双引号也可以用单引号f. 大小写字母都可以用来书写程序.,2007/11/3,39,练 习 题,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号