您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > COBOL简述及基本语法
©2007IBMCorporation2007/11/31山东省农村信用社COBOL培训IBM全球服务技术团队©2007IBMCorporation2007/11/32COBOL简述及基本语法COBOL程序部及运算逻辑处理COBOL对文件处理COBOL报表生成COBOL表格处理及子程序的调用COBOL程序出错诊断及优化处理内容概述©2007IBMCorporation2007/11/33COBOL简述英文缩写:COBOL(CommonbusinessOrientedLanguage)中文译名:公用面向商业的语言解释:一种适合于商业及数据处理的类似英语的程序设计语言。这种语言可使商业数据处理过程精确表达。©2007IBMCorporation2007/11/34COBOL(面向商业的通用语言,又称为企业管理语言、数据处理语言等,CommonBusinessOrientedLanguage)是最早的高级编程语言之一,是世界上第一个商用语言。COBOL有许多版本,针对不同机器和操作系统,如大型机上的IBMCOBOL和PC机上的Fujitsu与MicroFocusCOBOL。COBOL简述©2007IBMCorporation2007/11/35COBOL发展历史1959年5月,五角大楼委托格雷斯·霍波(G.Hopper)博士领导一个委员会并由RearAdmiralGraceHopper公司主持开发,并于1961年由美国数据系统语言协会公布。正式发布于1960年4月,称为Cobol-60。1963年,美国国家标准研究所(ANSI)进行了标准化,但是ANSI标准很少被遵循;因此,COBOL程序只是部分可移植的。©2007IBMCorporation2007/11/361974年ANSI对COBOL-68作出了修订扩充,形成了ANSICOBOLX3.23-1974,随后1978年ISO采用其形成ISOCOBOL-78,后来又提出了ANSIX3.23-85,增加了很多结构化程序设计的内容,ISO标准ISO1989:1985也采用了该标准。最新的标准COBOL2002主体已经于2002年12月出版,其他部分还在不断地完善之中,具体内容请参考发展历史©2007IBMCorporation2007/11/37COBOL重要性及应用经过40多年的不断修改、丰富完善和标准化,COBOL已发展为多种版本的庞大语言,在财会工作、统计报表、计划编制、情报检索、人事管理等数据管理及商业数据处理领域,都有着广泛的应用。COBOL的重要性可以用这句话来描述:世界上70%的数据都是用COBOL语言处理的,并且90%的ATM事务处理用的都是COBOL语言。每天在线处理的COBOL事务有300亿次。500强中有492家(包括全部的100强)使用了COBOL语言,目前在COBOL方面的投资已经超过3万亿美元,,据称用COBOL书写的程序超过了1000亿行,并且以每年大约50亿行代码的速度在增长。由于COBOL在商业领域的雄厚基础,而且COBOL主要是应用于银行、金融和会计行业等非常重要的商业数据处理领域。©2007IBMCorporation2007/11/38COBOL编程基本语法•COBOL程序结构•COBOL字符集•COBOL字•COBOL变量•COBOL常量•COBOL数据集•COBOL源程序书写格式©2007IBMCorporation2007/11/39COBOL程序结构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.©2007IBMCorporation2007/11/310每个COBOLO程序都分为四个部分,标识部,环境部,数据部,过程部.每个部分必须以部头开始.标识部以部头:IDENTIFICATIONDIVISION.开始,在标识部中主要规定源程序的名称,另外可以提供一些其他的说明.如作者,编写程序日期等等.环境部以部头:ENVIRONMENTDIVISION.开始,主要说明计算机中使用哪些设备,如直接输出在屏幕上,输出在打印机等.COBOL程序结构:部©2007IBMCorporation2007/11/311数据部以部头:DATADIVISION开始,数据部定义程序所处理数据的名字及特征.也就是数据定义.过程部以部头:PROCEDUREDIVISOIN开始,程序运行时处理数据的各种语句都在这里书写,过程部是程序的核心,其他三个部仅是对程序做必要的说明.COBOL程序结构:部©2007IBMCorporation2007/11/312COBOL是一种层次结构很强的程序设计语言.除标识部外,在其他三个部下面,可以设置若干节,每个结以:节名SECTION.开始,在环境部,数据部中COBOL语言规定了几个节,节头应按规则书写,各节有不同的作用,根据需要可以选定不同的节.例如:数据部可以设工作存储节.DATADIVISION.数据部部头WORKING-SRORAGESECTION.工作存储节头COBOL程序结构:节和段©2007IBMCorporation2007/11/313标识部下面没有节,直接设段.例如程序名段PROGRAME-ID.MORTGAGE.过程部中,程序比较小时,可以不设节,直接设段.较长的程序可以设计节,下面还可以设段,段应有段名.段由一个或多个句子组成.书写节头,后面要加SECTION,节头独占一行,段头只写段名,段名可以独占一行,也可以和下面的语句同占一行.COBOL程序结构:节和段©2007IBMCorporation2007/11/314在过程部中,每段由若干句子组成,上例的过程部由4个句子组成.第一句ACCEPTAACCEPTB.句子用句号”.”作为结束标志.句号后面至少应该有一个空格,句子又由若干语句组成,每个语句之间用空格,逗号”,”或分号”;”分开,(逗号,分号后面应有一个以上空格,所以通常用空格分来).每个语句后面接着操作对象或操作内容,完成独立的计算机操作.例如ACCEPTA表示从键盘接受数据,送入A中(相当于C语言的scanf和C++的cin).数据部,环境部中也可以出现子句.COBOL程序结构:句子,语句,子句©2007IBMCorporation2007/11/315在数据部中有若干节,每个节又有若干描述体,描述数据的类型,长度等.上例中数据部的工作存储节:WORKING-STORAGESECTION中以77开始的三行,就是数据的描述体,说明A,B,C都是数值型数据项,A,B为三位整数,C为四位整数.77APIC9(3).*对变量A的描述77BPIC9(3).*对变量B的描述77CPIC9(4).*对变量C的描述COBOL程序结构:描述体©2007IBMCorporation2007/11/316COBOL字符集COBOL字符是组成COBOL程序的最小单位.字符集是所有COBOL字符的总称.COBOL字符集共有78个字符.它们是:字母A~Z(a~z)数组0~9专用字符+加号-减号*星号/斜线(除号)=等号大于号小于号$美元符号(货币符号),逗号;分号.句号(小数点)‘单引号“双引号(左括号)右括号空格©2007IBMCorporation2007/11/317COBOL字COBOL语言的基本单位为单字,通称为COBOL字,如同组成英文句子的基本单词为英文单词一样,例如下面COBOL语句:MULTIPLYHOURS-WORKEDBYHOURLYRATEGIVINGRATE.COBOL字包括保留字及用户字两大类.1.保留字:保留字是在COBOL语言中已经规定用作专门用途的字,有特定的含义。例如ADD代表加操作,DISPLAY代表显示.保留字不能作为用户字使用.©2007IBMCorporation2007/11/3182.用户字:编程人员自己定义的句子,例如:程序名,数据名等等,用户字的构成应符合下列规则:a.由字母,数字及连字符”-”组成,其他特殊字符不得使用.b.字符组合中至少含有一个字母或连字符,但段名可以有数字组成.c.字符组合的开始字符或结尾字符不能是连字符d.字的长度最多三十个字符.不正确的用户字例子:-BEGIN(连字符出现在最左边),DATA(是保留字),**A**(不符合规则),DATNUMBER(中间有空格)COBOL字©2007IBMCorporation2007/11/319COBOL程序结构:结构图COBOL源程序标识部环境部数据部过程部段段段字字字节节段字…节节…描述体……节……段…子句…字句子…语句…子句…字…©2007IBMCorporation2007/11/320变量变量是在内存中定义的一块地址,程序可以在此存放数据或从此处检索数据。变量名或标识符是用来标识变量存储在内存中的那块地址。变量必须以类型和大小来描述。COBOL程序中用到的变量必须在数据部中有描述。COBOL语言中没有像C/C++语言那样的局部变量。©2007IBMCorporation2007/11/3211.变量描述PIC子句PIC(PIC的所写)子句对每个变量进行详细描述,包括类型及大小.一般格式如下:{PICTURE/PIC}[IS]描述字符串PIC只对基本项和孤立项进行描述,而不能描述组项.书写PIC子句应先写层号,数据名,接着写PIC保留字,最后写变量描述字符和句号.PIC子句应该从B区开始。下面具体叙述描述字符串.(1)数值型变量的描述a.“9”描述“9”描述表示实际的或概念上的数据位上有一个数字.例:02BPIC9999.表示变量B可以放入四位整数数字,范围从0~9999,可以简写为02BPIC9(4).说明:最多允许18个”9”.若把大于变量长度的数字存入该数据段,则会发生高位截断.变量的定义©2007IBMCorporation2007/11/322b.“V”描述符“9”描述符只能存放整数,而无法保存小数.例:02APIC9(2).如果把12.34存入A,则A只会保存12,为了解决这个问题,用”V”描述符,”V”描述符可以标出隐含的小数点位置.例:02APIC99V99.表示A可以存放两位整数,两位小数,即0~99.99之间的任意值.说明:由于”V”不占字节,直接显示含小数的变量不会出现小数点,如用显示语句把A的内容显示在屏幕上,只能显示1234,想显示小数点,则需要把A传送到具有小数点编辑描述的变量再显示,关于编辑型数据在后面描述.若V在最右边,可以不写.一个PIC语句只允许一个”V”描述.c.“S”描述符上述两个描述符描述的变量只能存放绝对值,为了正确表示数值得正负,用”S”描述符,这样就可以存放带符号的数.变量的定义©2007IBMCorporation2007/11/323例:01MPICS99V99.表示M可以存放带符号的三位整数两位小数.说明:”S”代表一个正负号的位置,应是最左测的描述符.不能直接显示带”S”描述的变量,”S”在内存中不单独占用一个字节,而在带”S”描述的变量中加入一些标记.标记和原来数据末尾数字混合在一起.例如:02APICS9999.A中含有-1234,当显示A时,给出的信息是123M.若想显示出带符号的数字,应该把含有”S”描述的数据项传送到含有正负号编辑型描述字符的变量中再显示.变量的定义©2007IBMCorporation
本文标题:COBOL简述及基本语法
链接地址:https://www.777doc.com/doc-5199636 .html