COBOL简述及基本语法.ppt

上传人:max****ui 文档编号:3407424 上传时间:2019-12-13 格式:PPT 页数:39 大小:453.05KB
返回 下载 相关 举报
COBOL简述及基本语法.ppt_第1页
第1页 / 共39页
COBOL简述及基本语法.ppt_第2页
第2页 / 共39页
COBOL简述及基本语法.ppt_第3页
第3页 / 共39页
点击查看更多>>
资源描述
2007/11/3,1,山东省农村信用社COBOL培训,IBM全球服务技术团队,2007/11/3,2,COBOL简述及基本语法COBOL程序部及运算逻辑处理COBOL对文件处理COBOL报表生成COBOL表格处理及子程序的调用COBOL程序出错诊断及优化处理,内容概述,2007/11/3,3,COBOL简述,英文缩写:COBOL(CommonbusinessOrientedLanguage)中文译名:公用面向商业的语言解释:一种适合于商业及数据处理的类似英语的程序设计语言。这种语言可使商业数据处理过程精确表达。,2007/11/3,4,COBOL(面向商业的通用语言,又称为企业管理语言、数据处理语言等,CommonBusinessOrientedLanguage)是最早的高级编程语言之一,是世界上第一个商用语言。COBOL有许多版本,针对不同机器和操作系统,如大型机上的IBMCOBOL和PC机上的Fujitsu与MicroFocusCOBOL。,COBOL简述,2007/11/3,5,COBOL发展历史,1959年5月,五角大楼委托格雷斯霍波(G.Hopper)博士领导一个委员会并由RearAdmiralGraceHopper公司主持开发,并于1961年由美国数据系统语言协会公布。正式发布于1960年4月,称为Cobol60。1963年,美国国家标准研究所(ANSI)进行了标准化,但是ANSI标准很少被遵循;因此,COBOL程序只是部分可移植的。,2007/11/3,6,1974年ANSI对COBOL-68作出了修订扩充,形成了ANSICOBOLX3.23-1974,随后1978年ISO采用其形成ISOCOBOL-78,后来又提出了ANSIX3.23-85,增加了很多结构化程序设计的内容,ISO标准ISO1989:1985也采用了该标准。最新的标准COBOL2002主体已经于2002年12月出版,其他部分还在不断地完善之中,具体内容请参考,COBOL发展历史,2007/11/3,7,COBOL重要性及应用,经过40多年的不断修改、丰富完善和标准化,COBOL已发展为多种版本的庞大语言,在财会工作、统计报表、计划编制、情报检索、人事管理等数据管理及商业数据处理领域,都有着广泛的应用。COBOL的重要性可以用这句话来描述:世界上70的数据都是用COBOL语言处理的,并且90的ATM事务处理用的都是COBOL语言。每天在线处理的COBOL事务有300亿次。500强中有492家(包括全部的100强)使用了COBOL语言,目前在COBOL方面的投资已经超过3万亿美元,据称用COBOL书写的程序超过了1000亿行,并且以每年大约50亿行代码的速度在增长。由于COBOL在商业领域的雄厚基础,而且COBOL主要是应用于银行、金融和会计行业等非常重要的商业数据处理领域。,2007/11/3,8,COBOL编程基本语法,COBOL程序结构COBOL字符集COBOL字COBOL变量COBOL常量COBOL数据集COBOL源程序书写格式,2007/11/3,9,COBOL程序结构,IDENTIFICATIONDIVISION.*标识部PROGRAM-ID.MORTGAGE.*程序名标识段ENVIRONMENTDIVISION.*环境部DATADIVISION.*数据部WORKING-STORAGESECTION.*工作存储节77APIC9(3).*对变量A的描述77BPIC9(3).*对变量B的描述77CPIC9(4).*对变量C的描述PROCEDUREDIVISOIN.*过程部BEGIN.ACCEPTA*输入A值ACCEPTB.*输入B值ADDABGIVINGC.*计算C=A+BDISPLAYC.*显示CSTOPRUN.,2007/11/3,10,每个COBOLO程序都分为四个部分,标识部,环境部,数据部,过程部.每个部分必须以部头开始.标识部以部头:IDENTIFICATIONDIVISION.开始,在标识部中主要规定源程序的名称,另外可以提供一些其他的说明.如作者,编写程序日期等等.环境部以部头:ENVIRONMENTDIVISION.开始,主要说明计算机中使用哪些设备,如直接输出在屏幕上,输出在打印机等.,COBOL程序结构:部,2007/11/3,11,数据部以部头:DATADIVISION开始,数据部定义程序所处理数据的名字及特征.也就是数据定义.过程部以部头:PROCEDUREDIVISOIN开始,程序运行时处理数据的各种语句都在这里书写,过程部是程序的核心,其他三个部仅是对程序做必要的说明.,COBOL程序结构:部,2007/11/3,12,COBOL是一种层次结构很强的程序设计语言.除标识部外,在其他三个部下面,可以设置若干节,每个结以:节名SECTION.开始,在环境部,数据部中COBOL语言规定了几个节,节头应按规则书写,各节有不同的作用,根据需要可以选定不同的节.例如:数据部可以设工作存储节.DATADIVISION.数据部部头WORKING-SRORAGESECTION.工作存储节头,COBOL程序结构:节和段,2007/11/3,13,标识部下面没有节,直接设段.例如程序名段PROGRAME-ID.MORTGAGE.过程部中,程序比较小时,可以不设节,直接设段.较长的程序可以设计节,下面还可以设段,段应有段名.段由一个或多个句子组成.书写节头,后面要加SECTION,节头独占一行,段头只写段名,段名可以独占一行,也可以和下面的语句同占一行.,COBOL程序结构:节和段,2007/11/3,14,在过程部中,每段由若干句子组成,上例的过程部由4个句子组成.第一句ACCEPTAACCEPTB.句子用句号”.”作为结束标志.句号后面至少应该有一个空格,句子又由若干语句组成,每个语句之间用空格,逗号”,”或分号”;”分开,(逗号,分号后面应有一个以上空格,所以通常用空格分来).每个语句后面接着操作对象或操作内容,完成独立的计算机操作.例如ACCEPTA表示从键盘接受数据,送入A中(相当于C语言的scanf和C+的cin).数据部,环境部中也可以出现子句.,COBOL程序结构:句子,语句,子句,2007/11/3,15,在数据部中有若干节,每个节又有若干描述体,描述数据的类型,长度等.上例中数据部的工作存储节:WORKING-STORAGESECTION中以77开始的三行,就是数据的描述体,说明A,B,C都是数值型数据项,A,B为三位整数,C为四位整数.77APIC9(3).*对变量A的描述77BPIC9(3).*对变量B的描述77CPIC9(4).*对变量C的描述,COBOL程序结构:描述体,2007/11/3,16,COBOL字符集,COBOL字符是组成COBOL程序的最小单位.字符集是所有COBOL字符的总称.COBOL字符集共有78个字符.它们是:字母AZ(az)数组09专用字符+加号-减号*星号/斜线(除号)=等号大于号小于号$美元符号(货币符号),逗号;分号.句号(小数点)单引号“双引号(左括号)右括号空格,2007/11/3,17,COBOL字,COBOL语言的基本单位为单字,通称为COBOL字,如同组成英文句子的基本单词为英文单词一样,例如下面COBOL语句:MULTIPLYHOURS-WORKEDBYHOURLYRATEGIVINGRATE.COBOL字包括保留字及用户字两大类.1.保留字:保留字是在COBOL语言中已经规定用作专门用途的字,有特定的含义。例如ADD代表加操作,DISPLAY代表显示.保留字不能作为用户字使用.,2007/11/3,18,2.用户字:编程人员自己定义的句子,例如:程序名,数据名等等,用户字的构成应符合下列规则:a.由字母,数字及连字符”-”组成,其他特殊字符不得使用.b.字符组合中至少含有一个字母或连字符,但段名可以有数字组成.c.字符组合的开始字符或结尾字符不能是连字符d.字的长度最多三十个字符.不正确的用户字例子:-BEGIN(连字符出现在最左边),DATA(是保留字),*A*(不符合规则),DATNUMBER(中间有空格),COBOL字,2007/11/3,19,COBOL程序结构:结构图,2007/11/3,20,变量,变量是在内存中定义的一块地址,程序可以在此存放数据或从此处检索数据。变量名或标识符是用来标识变量存储在内存中的那块地址。变量必须以类型和大小来描述。COBOL程序中用到的变量必须在数据部中有描述。COBOL语言中没有像C/C语言那样的局部变量。,2007/11/3,21,1.变量描述PIC子句PIC(PIC的所写)子句对每个变量进行详细描述,包括类型及大小.一般格式如下:PICTURE/PICIS描述字符串PIC只对基本项和孤立项进行描述,而不能描述组项.书写PIC子句应先写层号,数据名,接着写PIC保留字,最后写变量描述字符和句号.PIC子句应该从B区开始。下面具体叙述描述字符串.(1)数值型变量的描述a.“9”描述“9”描述表示实际的或概念上的数据位上有一个数字.例: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”不占字节,直接显示含小数的变量不会出现小数点,如用显示语句把A的内容显示在屏幕上,只能显示1234,想显示小数点,则需要把A传送到具有小数点编辑描述的变量再显示,关于编辑型数据在后面描述.若V在最右边,可以不写.一个PIC语句只允许一个”V”描述.c.“S”描述符上述两个描述符描述的变量只能存放绝对值,为了正确表示数值得正负,用”S”描述符,这样就可以存放带符号的数.,变量的定义,2007/11/3,23,例:01MPICS99V99.表示M可以存放带符号的三位整数两位小数.说明:”S”代表一个正负号的位置,应是最左测的描述符.不能直接显示带”S”描述的变量,”S”在内存中不单独占用一个字节,而在带”S”描述的变量中加入一些标记.标记和原来数据末尾数字混合在一起.例如:02APICS9999.A中含有-1234,当显示A时,给出的信息是123M.若想显示出带符号的数字,应该把含有”S”描述的数据项传送到含有正负号编辑型描述字符的变量中再显示.,变量的定义,2007/11/3,24,(2)字符型描述符”A”a,用”A”描述的变量,只能存放英文字母或空格.例如:02APICA(7).表示变量A中可以存放7个字符.b,字符型数据描述符”X”由”X”描述的变量可以存放计算机能够使用的任意字符.例如:02BPICX(8).B的内容可以为任意字符.说明:”X”描述符可以存放数字,但这样的数字被当作字符对待.,变量的定义,2007/11/3,25,2.VALUE子句VALUE子句用来定义工作存储节中变量的初值.格式如下:VALUEIS常量例:77PAGE-COUNTPIC99VALUE0.几点说明:a.只能对工作存储节中的变量赋初值.b.使用VALUE子句时,不能和PIC子句矛盾,赋值类型应与PIC描述一致.如下两种定义就是错误的.02APIC9(4)VALUE“ABCD”.02APICX(2)VALUE“NAME”.c.可以在变量上用VALUE语句,给组项赋值的值只能是表意常量或非数值常量,同时所赋之值要和组内各项的描述一致,见下页例子.,变量的定义,2007/11/3,26,VALUE使用例子1:01TOTALVALUEZERO.02TOTAL-1PIC9(3).02TOTAL-2PIC9(4).和下面定义是等效的:01TOTAL.02TOTAL-1PIC9(3)VALUEZERO.02TOTAL-2PIC9(4)VALUEZERO.VALUE使用例子2:01SUMVALUE“LIMING0895”.03NAMEPICX(10).03MARKPIC9(4).与下面定义是等价的:01SUM.03NAMEPICX(10)VALUE“LIMING”.03MARKPIC9(4)VALUE895.,变量的定义,2007/11/3,27,可用于PIC语句中的字符,格式字符串最多30个字符,可以包含下列字符:A字母A-Z,a-z,空格B插入空格P标量字符,代表字段中不显示的小数点位置S代数符号,实际显示取决于项目的USAGEV小数点位置X任何字符Z抑制前头的0并转换成空字符0插入09数字09/插入/,插入,(逗号不能作为字符串的最后一位,最后时逗号是分隔符).插入.*抑制前头的0并转换成*+正值插入+,负值插入-正值插入空格,负值插入-$插入美元号CR正值插入两个空格,负值插入CRDB正值插入两个空格,负值插入DB,2007/11/3,28,常用COBOL变量定义及应用,03VARPICAAAAA.STATE变量长度为5个字符,不能有数字,等价于03STATEPICA(5)。输入ASDFG,显示ASDFG03VARPICXXXXX.FILLER变量长度为5个任意字符。等价于03FILLERPICX(5)。输入123AS,显示123AS03VARPIC99/XXX/9999长度11,输入05may2004,显示05/may/200403VARPIC0ABXXX/9999长度11,输入05may2004,显示05may/200403VARPIC9(3)长度3,0999之间。03VARPIC9(4)V99长度6,0.009999.99之间。03VARPICS9(5)V99长度7,-99999.9999999.99之间。03VARPIC9(6)PPP长度6,可以是1000,2000,.,999999000。输入1234,显示1000。,2007/11/3,29,03VARPICPPP999长度3,0.0000010.000999之间。输入123,显示0.000123。03VARPICZZZ.99,输入100.50,显示100.50;输入-51.50,显示51.50;输入0,显示.00.03VARPIC$ZZZ.ZZ-,输入100.50,显示$100.50;输入-51.50,显示$51.50-;输入0,显示$_._03VARPIC$*,*.99CR,输入1000,显示$*1000.00;输入-1000,显示$*1000.00CR;输入0,显示$*,*.00;输入51.5,显示$*,*51.5003VARPIC$,$.99,输入100.50,显示$100.50;输入-100.50,显示$100.50;输入0.777,显示$.77;输入0,显示$.0003VARPIC$.$,输入1.00,显示$.00;输入0.65,显示$.65;输入0,显示$.00;,常用COBOL变量定义及应用,2007/11/3,30,03VARPIC$-,输入17.7,显示$17;输入-17.7,显示$-17;输入-5,显示$-503VARPIC$999.99+,输入100.50,显示$100.50+;输入-100.50,显示$100.50-;03VARPIC9(3)B9(3),输入55,显示000055;输入1000.78,显示001000;USAGE表示基本或组数据的类型。有BINARY,COMPUTATIONAL(COMP),DISPLAY,INDEX,PACKED-DECIMAL.JUSTIFIED03VAR1PICX(5)JUSTIFIEDRIGHT.03VAR2PICX(5).输入XYZ,VAR1显示的是XYZ,VAR2显示的是XYZ。BLANKWHENZERO03VARPIC$999,999.99BLANKWHENZERO.当字段值为0,这个项目设置为全部空格。,常用COBOL变量定义及应用,2007/11/3,31,COBOL中变量层次说明,COBOL程序中的数据项的定义从层号开始,01层是最高层,49层是最低层。66层是为特殊描述符项目保留的,可以更名现有的数据项或组,或以原定义未允许的方式组合。77层项目用于某个组的数据项,如程序中的临时变量。88层是对特殊数据项目条件名保留的。主要用于枚举有限值,较多用于IF条件判断或者是EVALUATE语句。,2007/11/3,32,变量的使用,J,O,H,N,StudentName,MynameisJOHN,2007/11/3,33,常量,常量在程序中是一个不由数据名制定的量,其值在程序运行中不会改变.常量有以下三种:,2007/11/3,34,常量,2007/11/3,35,COBOL源程序书写格式,COBOL源程序格式比较原始,与穿孔卡输入时代有关,源程序书写在程序纸上,程序纸每行80列,每列分为五个区,如下表:,标号区第16列为标号区,给程序每一行唯一由小到大的编号,可写可不写,若写应按照编号由小到大的顺序,可以不连续.(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)注释区第7389列为注释区,2007/11/3,37,COBOL源程序书写格式,-|A区000100IDENTIFICATIONDIVISION.000200PROGRAM-ID.COMMENT.000300ENVIRONMENTDIVISION.000400DATADIVISION.000500PROCEDUREDIVISION.000600000700*Thisisacomment.000800*Thisparagraphdisplaysinformationabouttheprogram.000900PROGRAM-BEGIN.-|B区003700DISPLAYThisprogramcontainsfourDIVISIONS,.003800DISPLAYthreePARAGRAPHS.001000DISPLAYandfourSENTENCES.-|A区001100PROGRAM-DONE.-|B区001200STOPRUN.,标号区,续行区,*表示注释。,2007/11/3,38,(6)几点注意事项a.COBOL句子以句子”.”作为结束标识符,语句之间可以用空格,逗号”,”或分号”;”分开.b.作为标点符号的句号,逗号或分号,后面必须至少有一个空格.c.相邻的字和常量之间至少有一个空格.d.COBOL允许一行写几条语句,也可以一条语句写在多行上.e.非数字常量可以用双引号也可以用单引号f.大小写字母都可以用来书写程序.,2007/11/3,39,练习题,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!