![COBOL程序设计解析课件_第1页](http://file4.renrendoc.com/view/56d72acb126fa0b3f1dcec9fc0031085/56d72acb126fa0b3f1dcec9fc00310851.gif)
![COBOL程序设计解析课件_第2页](http://file4.renrendoc.com/view/56d72acb126fa0b3f1dcec9fc0031085/56d72acb126fa0b3f1dcec9fc00310852.gif)
![COBOL程序设计解析课件_第3页](http://file4.renrendoc.com/view/56d72acb126fa0b3f1dcec9fc0031085/56d72acb126fa0b3f1dcec9fc00310853.gif)
![COBOL程序设计解析课件_第4页](http://file4.renrendoc.com/view/56d72acb126fa0b3f1dcec9fc0031085/56d72acb126fa0b3f1dcec9fc00310854.gif)
![COBOL程序设计解析课件_第5页](http://file4.renrendoc.com/view/56d72acb126fa0b3f1dcec9fc0031085/56d72acb126fa0b3f1dcec9fc00310855.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
COBOL程序设计COBOL程序设计课程简介授课时间:16学时上机时间:16学时教材:COBOL语言(上下册)修订本 谭浩强清华大学,1994课程简介授课时间:16学时主机(大型机)系统主机系统——Mainframe:大型机(mainframe)这个词,最初是指装在非常大的带框铁盒子里的大型计算机系统,以用来同小一些的迷你机和微型机有所区别。大多数时候它却是指system/360开始的一系列的IBM计算机。这个词也可以用来指由其他厂商,如Amdahl,HitachiDataSystems(HDS)制造的兼容的系统。IBM大型机目前多直接称为主机主机(大型机)系统主机系统——Mainframe:主机系统得以长盛不衰的主要原因RAS,I/O处理能力以及ISARAS(Reliability,Availability,Serviceability高可靠性、高可用性、高服务性)是一个IBM常用来描绘它的大型机的词。目前型号为Z900的大型机的I/O吞吐能力是最低每秒24GB(这是字节数,不是“位”数。)ISA(IBMSystemArchitecture)虽然IBM大型机的整体指令集有了显著改进,IBM保持了惊人的对应用程序的向后兼容。许多最为显著的构架上的变化已经影响了一些只能直接被操作系统调用,而不能被应用程序调用的设备(如I/O子系统)。IBM已经花费了巨大的努力来保证它的客户们不必重写或重编译他们的程序来在新系统上运行。这样,客户要采用新的硬件就更为容易,客户只需要拔下旧系统,换上新系统,而不需要做额外的软件测试工作。主机系统得以长盛不衰的主要原因RAS,I/O处理能力以及I大型机的编程语言——COBOL大型机技术上有很多领先的地方,积累了很多行业应用,一大堆非关系(关系)数据库/Cobol程序之类,这些东东没法移植,成为大型机可以吃的老本、继续辉煌的资本。
IBM的大型机概念强调的是IO和RAS,追求的是稳定、可靠,主要用于商业管理系统;典型编程语言是Cobol。大型机的编程语言——COBOL大型机技术上有很多领先的地方,第一章COBOL语言概述第一章COBOL语言概述1.1COBOL发展概况COBOL是一个高级程序设计语言,1960由CODASYL委员会(ConferenceonDataSystemsLanguages)提出。以后,新的COBOL标准由美国国家标准组织(ANSI)负责ANSI推出的3个COBOL标准:1968,1974和1985.目前,关于面向对象的COBOL标准正在制定.COBOL是如下单词的简写(COmmonBusinessOrientedLanguage).COBOL设计来主要是进行事务处理,多应用于商业领域,典型的诸如文件导向的应用。而不是设计来进行系统编程。一般来说,没人用COBOL来写操作系统或者编译器.1.1COBOL发展概况COBOL是一个高级程序设计语言,COBOL——商业计算首选语言。40年里,它曾经的对手:PLI,Algol60,Algol68,Pascal,Modula,Ada,C,C++目前的强大对手:JAVA、C#为代表的新一代语言COBOL——商业计算首选语言。Gartnergroup的关于COBOL优势的调查报告:在1997年他们估计全世界有3千亿行的计算机代码正在使用。其中80%的是COBOL程序,而其他程序总计只占20%。在1999年,他们报告说,超过50%的关键事务应用程序仍然会用COBOL语言编写,他们最近估计表明在2004-2005年度所有新程序(50亿行)的15%将用COBOL开发,同时,80%的部署在计算机里面的程序将包括以前遗留的COBOL程序。该集团估计,在2002年全世界有大约200万COBOL程序员,而JAVA和C++程序员各自只有100万这个数字正以每年5%的速度递减。未来10年,Cobol程序员数目将很快走下坡路,随着二战生育高峰人群的退休,人口补充严重不足。Gartnergroup的关于COBOL优势的调查报告:2007年,MicroFocus对客户的调查显示,75%的CIO(ChiefInformationOfficer)声称他们在未5年需要更多Cobol程序员,73%的CIO发现要找到一个训练有素的Cobol程序员越来越难。MicroFocus也指出,不管你信不信,每个美国人每天至少都会有13次接触到COBOL,而且就在看似最平凡的打电话、刷信用卡、通信联络等日常生活中。当然这很大程度上都是在COBOL雄厚的商业领域基础惯性,因为银行和网络运营商的内部系统很早就在使用COBOL,而且运行良好,没必要也不方便更换。2007年,MicroFocus对客户的调查显示,75%根据英国伦敦国际调研公司Datamonitor的报告,目前全球仍有多达2000亿行COBOL语言代码正在执行,而且每年都会增加50亿行,全球75%的商业数据和90%的金融交易都由COBOL处理,全球500强企业中有492家(包括全部前100强)都使用了COBOL,目前在COBOL方面的投资已经超过2万亿美元,150-200万名开发人员还在使用这种这种已经走过了半个世纪的编程语言。有人预测说,即使到了2050年,很多现在广泛使用的编程语言都将消失得无影无踪,但COBOL很可能依然会在服役。根据英国伦敦国际调研公司Datamonitor的报告,目前全IT服务公司MurphyInternational的NateMurphy说,我们对Cobol程序员和使用Cobol的公司做了调查,发现目前Cobol就业市场包含以下两种类型:第一,在旧的Cobol代码和新程序之间充当桥梁,这种工作要求人们懂Cobol,懂那些老Cobol程序员所依赖的商业逻辑,同时懂新的编程语言,如Java。第二是维护旧的Cobol代码,并编写新的Cobol代码。IT服务公司MurphyInternational的是不是很神奇?
——神奇的COBOL你是不是对上面的材料感到很惊奇?古老的COBOL在流行的JAVA、C++、VB、C#一点都不落下风到底是什么原因呢?软件的两种类型——“垂直”软件(定制软件)“水平”软件(通用软件)是不是很神奇?
——神奇的COBOL你是不是对上面的材“垂直”软件——价值上百万美金的程序被开发、或者根据某些特别公司的需要被裁剪、或者按照特殊事务规则进行调整。但是,却只有很少的拷贝被使用。一个例子:美国国防部的MRPII系统,该系统管理着550,000种零件和部件,储备价值高达280亿美金。该系统运行在Amdahl主机系统上,部署在全美国不同的地方,由4百万行COBOL程序构成“垂直”软件——价值上百万美金的程序被开发、或者根据某些特别“水平”软件——像微软的Office一样,功能可能也很强大,代码也很多,但是会有很多个拷贝。因此,每个拷贝的成本并不高。此种软件竞争激烈,一般用C++、JAVA等新语言进行开发,软件利润很高而且更新很快“水平”软件——像微软的Office一样,功能可能也很强大,“垂直”软件一般说来利润并不高,每个拷贝的成本却很高。因此,替换成本很高,因此这种软件生命周期一般都很长。例如对MRPII的用其他语言改写的估价为1亿美金。因此,对现有COBOL程序的维护需要大量COBOL程序员“垂直”软件一般说来利润并不高,每个拷贝的成本却很高。因此,1.2COBOL语言的特点最适于事务处理(商业计算)领域事务处理的特点是:算术计算量少而逻辑处理多;输入输出量大;数据间存在着一定的逻辑关系(数据项间有清晰的层次关系),大量的分类排序,数据结果将用于报表打印,对打印报表要求较高、多样化等等。
COBOL所处理的问题具有数据繁多而运算简单的持点。1.2COBOL语言的特点最适于事务处理(商业计算)领域COBOL比较接近于自然语言(英语)。COBOL程序看起来很像一篇用英语写的文章。例如:ADDATOB来表示A+B=>B(A加B,结果故在B中)MOVECTOD表示将变量C的值传送到变量D中COBOL大量采用普通英语词汇和句型,学过英语的人看程序感到通俗易懂。COBOL比较接近于自然语言(英语)。通用性强由于COBOL语言的标准化程度较高。不同厂家生产的计算机系统所提供的COBOL,是COBOL标准的全集或一个子集。一个计算机上的COBOL程序向另一计算机系统上移植,是比较容易实现的。目前主机系统上面的COBOL可移植更好通用性强COBOL的结构严谨,层次分明。每个程序分为四大部分(称为部,division),每个部下面又分为若干节(section),节下面又分为若干段(paragraph)。每一部分都有固定的程式。这个特点使初学者比较容易通过摹仿别人程序中的有关部分,从而较快地写出自己的程序。COBOL的结构严谨,层次分明。COBOL的缺点是比较繁琐。程序无论大小简繁,一律都要写齐四大部分,对每个部进行必要的定义和说明。因此源程序显得比较冗长。关键字高达300多个,很难记忆。而且很多关键字并不“关键”,可以省略。不过请记住:COBOL——世界上(曾经)使用最多的一种计算机语言COBOL的缺点是比较繁琐。1.3最简单的COBOL程序000100IDENTIFICATIONDIVISION.000200PROGRAM-ID.EXAM1A1.000300ENVIRONMENTDIVISION.000400DATADIVISION.000500PROCEDUREDIVISION.000600S.000700DISPLAY'THISISACOBOLPROGRAM.'.000800STOPRUN.1.3最简单的COBOL程序000100IDENTIFICOBOL程序设计解析课件COBOL程序设计解析课件1.4COBOL程序的结构部
IDENTIFICATIONDIVISION.(标识部)主要用来指定源程序名字。也可以写入其它用作备忘的某些信息(如日期、作者等)。ENVIRONMENTDIVISION.(环境部)指出程序中用到的数据文件名与计算机系统的设备的对应关系,即把某一文件名与一外部设备联系起来。此外还指定目标程序中使列的专门控制方法及程序所用内存区的大小等DATADIVISION.(数据部)程序中所用到的全部数据(包括输入输出的数据和中间数据)都应在数据中说明它们的类型和所占内存的情况。PROCEDUREDIVISION.(过程都)用来给出程序要执行的指令,使计算机产生相应的操作。例如进行运算或其它处理。1.4COBOL程序的结构部节和段除标识部以外,在每一个部的“部头”的下面,可以有若干个节(SECTION),每一个节以“节头”作标识。每一节下面又可包括若干段(PARAGRAPH)。每一个段都有自己的名字(即段名)。在标识部下面不设节.直接设段节和段COBOL程序设计解析课件句子、语句和子句在过程部中,每一段由若干个句子(Sentence)组成。一个句子是以句号加一个以上的空格束结束的。句子又由语句(Statement)组成。一个句子可以只由一个语句组成,一个语句加一个句点后跟一个(多个)空格就成为一个句子。在一个语句中又可以包含若干个子句(clause).每一于句也有一个动词,它指定某一方面特定的功能。句子、语句和子句过程部中程序的结构:部(Division)-部可以包含若干节节(Section)-节可以包含若干段段(Paragraph)-段可以包含若干句子句子(Sentence)-句子可以包含若干语句语句(Statement)-指定计算机完成一定的操作子句(Clause)-指定完成某一方面的特定功能过程部中程序的结构:描述体在数据部中有若干节,每个节中有若干个描述体(Descriptionentry),亦译作描述款目或描述款),每个描述体义由若干个子句构成。描述体COBOL程序设计解析课件1.5COBOL源程序书写格式自由格式和固定格式voidmain(void){inta,b,c;a=10;b=20;c=a+b;}COBOL则不同,必须严格按照规定的格式书写。1.5COBOL源程序书写格式自由格式和固定格式ANSI源程序书写格式见图ANSI源程序书写格式见图1.1—6列,为“标号区”。可以填写6个数字。标号由程序编写者自定,标号应按由小到大的顺序,但不一定连续。标号区内可以写标号也可以不写标号(标号区空白)。标号对源程序的执行结果没有任何影响。在程序编译时是按程序书写的顺讯进行的,而不是按标号大小顺序进行的。
2.第7列,是“续行标志区”。如果在第7列上写上连接符“-”,则表示本行是紧接在上一行的后面。如果在第7列写“*”,则表示此行是注解行,即此行可由程序员任意写上自己所需的内容,以对程序(或程序的一部分)作说明。它对程序的执行不起任何影响1.1—6列,为“标号区”。可以填写6个数字。标号由程序编3.第8-11列,称为“A区”,第8列称“A区边界”。COBOL规定,程序中有些内容,例如部头、节头、段头、层号01,层号77以及文件描述符FD等应从A区开始书写
4.12-72列,称“B区”。写程序中的正文部分,例如过程部中的句子只能从B区开始,而不能写到A区去。
5.73-80列.为“注释区”。程序员如想对源程序的某些行作些简单说明,可写在这8列中,因此写源程厅时注意个应超过第72列,超过的部分在编译时将被舍弃。3.第8-11列,称为“A区”,第8列称“A区边界”。C写程序的注意事项:每个字符占一格。较早的COBOL版本规定所有源代码字母都应大写,但现在使用的COBOL编译系统允许使用大写或小写字母,二者等价。不过习惯都用大写字母,主机系统一般都用大写字母。相邻的两个字(如COBOL的保留字或用户自己定义的名字)之间必须留一个以上的空格。运算符(如加、减、乘、除、乘方)和等号左右两边必须各留一个空格。在过程部中左括号的左侧和右括号的右侧要留一空格,而内侧不必留空格。逗号、句号、分号的左边不能留空格,而右边应有空格。一个空格和多个空格作用相同写程序的注意事项:COBOL程序设计解析课件1.6COBOL字符和COBOL字COBOL字符系统字符集指的是在输入输出操作中允许出现的字符的集合。
COBOL字符集指的是COBOL程序中允许出现的字符(用引号括起来的字符串户的字符除外)。1.6COBOL字符和COBOL字COBOL字符COBOL字符集:数字:0~9大写字母:A~B小写字母:a~b专用字符:+加号-减号或连接号*乘号或星号/除号=等号,逗号.句号或小数点;分号‘引号(有的用”)(左括号)右括号<小于号>大于号空格
$美元号COBOL字符集:数字:0~9+加号COBOL字COBOL字是出COBOL字符组成COBOL字不允许超过30个字符保留字用户字COBOL字COBOL字是出COBOL字符组成1.7数据名数据名的概念:数据名(Dataname)可以认为是由程序设计者定义的某一片内存区的符号地址,即用一个符号代表一个地址。数据名相当于其它语言中的变量名,它代表一个具体的数据项。COBOL中指的数据是广义的,即下仅指数值,也可以是字符。1.7数据名数据名的概念:COBOL程序设计解析课件数据名的定名规则每个数据名的长度为1~30个字符之间。只能由字母、数字和连接符“-”组成,而且其中至少应有一个字母。连字符只能出现在数据名的中间,不能出现在数据名的两端(最前或最后)。如:ABC,RATEOF-PAY.3DG4,A1-2-3,1234ABC.WANG-LI都是合法的数据名。而:123、JOKN.HENRY,WANG-,-ABC,‘ATEJ’,ABC*DEF,1999-9-9都是不合法的数据名。数据名的定名规则数据名中不能出现空格不应该选择COBOL的保留字作为用户定义的数据名(300多个保留字,当心!)数据名最好采用有意义的英文名或者拼音等数据名中不能出现空格1.8常量常量——常数1、数值常量(Numericalliteral)数值常量即数学上的常数。如+12300、451.67、-51.635
数值常量是由正负号、小数点、数字0-9所组成的字符序列注意:小数点不能多于一个,而且不能出现在常数的最右边数值常量长度不能超过18位数字。至少要有一个数字,不能有多于一个符号。数字之间不能有空格,空格是分界符。1.8常量常量——常数2非数值常量(Nonnumericalliteral)用引号括起来的字符串:‘ABCD’、“$123,456.789”、“我是电子科大软件学院的学生”如果想把引号也包括在非数值常量中,例如想显示出‘ABCD’六个字符组成的字符串,按以下方式进行:DISPLAYQUOTE“ABCD”QUOTE注意QUOTE只能在这种情况下使用,不能代替一般意义的引号。非数值常量有120个字符的限制,但不同系统有不同规定。2非数值常量(Nonnumericalliteral)3、表意常量(FigurativeConstant)3、表意常量(FigurativeConstant)COBOL程序设计解析课件1.9COBOL所处理的数据的特点1、层次的概念1.9COBOL所处理的数据的特点1、层次的概念COBOL程序设计解析课件01GZTJ02ZGM02SR04JBGZ04FJGZ04YBBZ02KC04BSJ04FZF04SDF04TEF02SFGZ
为了反映某数据在一个层次结构中的层次,我们引进层次的概念,层号用二位整数来表示。用不同的层号表示它们之间的从属关系。初等项组合项01GZTJ为了反映某数据在一个层次结构中的层次,我们引2、记录和文件记录(record)是具有一定层次关系的一组数据项的最大集合。是内存中具有独卞逻辑含义的最大可存取项,具有最高的层次,即层号为01。多个记录可以组成一个文件(file)多个记录可以保存在数据库的表中2、记录和文件COBOL程序设计解析课件作业1、COBOL是一种高级程序设计语言,首先是由__________委员会在1960年提出,是_____的高级程序设计语言之一。自从COBOL语言诞生其开发新的COBOL标准的职责由美国国家标准学会(ANSI)承担2、在过去的近50年里,____________成了事务处理领域的具有统治地位的程序设计语言。3、在互联网上用GOOGLE搜索COBOL,然后再用百度搜索,阅读相关网页4、请谈一下您对COBOL这种古老的成功语言的看法5、简述COBOL编制的应用系统的特点6、简述COBOL语言成功的一些特点7、第七列位于什么区?8-11列是什么区?12-72列是什么区?8、简述四大部及其作用?9、尝试举出几个正确的COBOL字10、常量分几类,判断下面的常量是否合法,并指出其类别:3.14,-234,345.,$77,“234.56”,“你好”,ABC,SPACE,ZEROES,QUOTE11、尝试设计一个COBOL程序,让其输出显示一个“HELLOWORLD!”作业1、COBOL是一种高级程序设计语言,首先是由_____COBOL程序设计COBOL程序设计课程简介授课时间:16学时上机时间:16学时教材:COBOL语言(上下册)修订本 谭浩强清华大学,1994课程简介授课时间:16学时主机(大型机)系统主机系统——Mainframe:大型机(mainframe)这个词,最初是指装在非常大的带框铁盒子里的大型计算机系统,以用来同小一些的迷你机和微型机有所区别。大多数时候它却是指system/360开始的一系列的IBM计算机。这个词也可以用来指由其他厂商,如Amdahl,HitachiDataSystems(HDS)制造的兼容的系统。IBM大型机目前多直接称为主机主机(大型机)系统主机系统——Mainframe:主机系统得以长盛不衰的主要原因RAS,I/O处理能力以及ISARAS(Reliability,Availability,Serviceability高可靠性、高可用性、高服务性)是一个IBM常用来描绘它的大型机的词。目前型号为Z900的大型机的I/O吞吐能力是最低每秒24GB(这是字节数,不是“位”数。)ISA(IBMSystemArchitecture)虽然IBM大型机的整体指令集有了显著改进,IBM保持了惊人的对应用程序的向后兼容。许多最为显著的构架上的变化已经影响了一些只能直接被操作系统调用,而不能被应用程序调用的设备(如I/O子系统)。IBM已经花费了巨大的努力来保证它的客户们不必重写或重编译他们的程序来在新系统上运行。这样,客户要采用新的硬件就更为容易,客户只需要拔下旧系统,换上新系统,而不需要做额外的软件测试工作。主机系统得以长盛不衰的主要原因RAS,I/O处理能力以及I大型机的编程语言——COBOL大型机技术上有很多领先的地方,积累了很多行业应用,一大堆非关系(关系)数据库/Cobol程序之类,这些东东没法移植,成为大型机可以吃的老本、继续辉煌的资本。
IBM的大型机概念强调的是IO和RAS,追求的是稳定、可靠,主要用于商业管理系统;典型编程语言是Cobol。大型机的编程语言——COBOL大型机技术上有很多领先的地方,第一章COBOL语言概述第一章COBOL语言概述1.1COBOL发展概况COBOL是一个高级程序设计语言,1960由CODASYL委员会(ConferenceonDataSystemsLanguages)提出。以后,新的COBOL标准由美国国家标准组织(ANSI)负责ANSI推出的3个COBOL标准:1968,1974和1985.目前,关于面向对象的COBOL标准正在制定.COBOL是如下单词的简写(COmmonBusinessOrientedLanguage).COBOL设计来主要是进行事务处理,多应用于商业领域,典型的诸如文件导向的应用。而不是设计来进行系统编程。一般来说,没人用COBOL来写操作系统或者编译器.1.1COBOL发展概况COBOL是一个高级程序设计语言,COBOL——商业计算首选语言。40年里,它曾经的对手:PLI,Algol60,Algol68,Pascal,Modula,Ada,C,C++目前的强大对手:JAVA、C#为代表的新一代语言COBOL——商业计算首选语言。Gartnergroup的关于COBOL优势的调查报告:在1997年他们估计全世界有3千亿行的计算机代码正在使用。其中80%的是COBOL程序,而其他程序总计只占20%。在1999年,他们报告说,超过50%的关键事务应用程序仍然会用COBOL语言编写,他们最近估计表明在2004-2005年度所有新程序(50亿行)的15%将用COBOL开发,同时,80%的部署在计算机里面的程序将包括以前遗留的COBOL程序。该集团估计,在2002年全世界有大约200万COBOL程序员,而JAVA和C++程序员各自只有100万这个数字正以每年5%的速度递减。未来10年,Cobol程序员数目将很快走下坡路,随着二战生育高峰人群的退休,人口补充严重不足。Gartnergroup的关于COBOL优势的调查报告:2007年,MicroFocus对客户的调查显示,75%的CIO(ChiefInformationOfficer)声称他们在未5年需要更多Cobol程序员,73%的CIO发现要找到一个训练有素的Cobol程序员越来越难。MicroFocus也指出,不管你信不信,每个美国人每天至少都会有13次接触到COBOL,而且就在看似最平凡的打电话、刷信用卡、通信联络等日常生活中。当然这很大程度上都是在COBOL雄厚的商业领域基础惯性,因为银行和网络运营商的内部系统很早就在使用COBOL,而且运行良好,没必要也不方便更换。2007年,MicroFocus对客户的调查显示,75%根据英国伦敦国际调研公司Datamonitor的报告,目前全球仍有多达2000亿行COBOL语言代码正在执行,而且每年都会增加50亿行,全球75%的商业数据和90%的金融交易都由COBOL处理,全球500强企业中有492家(包括全部前100强)都使用了COBOL,目前在COBOL方面的投资已经超过2万亿美元,150-200万名开发人员还在使用这种这种已经走过了半个世纪的编程语言。有人预测说,即使到了2050年,很多现在广泛使用的编程语言都将消失得无影无踪,但COBOL很可能依然会在服役。根据英国伦敦国际调研公司Datamonitor的报告,目前全IT服务公司MurphyInternational的NateMurphy说,我们对Cobol程序员和使用Cobol的公司做了调查,发现目前Cobol就业市场包含以下两种类型:第一,在旧的Cobol代码和新程序之间充当桥梁,这种工作要求人们懂Cobol,懂那些老Cobol程序员所依赖的商业逻辑,同时懂新的编程语言,如Java。第二是维护旧的Cobol代码,并编写新的Cobol代码。IT服务公司MurphyInternational的是不是很神奇?
——神奇的COBOL你是不是对上面的材料感到很惊奇?古老的COBOL在流行的JAVA、C++、VB、C#一点都不落下风到底是什么原因呢?软件的两种类型——“垂直”软件(定制软件)“水平”软件(通用软件)是不是很神奇?
——神奇的COBOL你是不是对上面的材“垂直”软件——价值上百万美金的程序被开发、或者根据某些特别公司的需要被裁剪、或者按照特殊事务规则进行调整。但是,却只有很少的拷贝被使用。一个例子:美国国防部的MRPII系统,该系统管理着550,000种零件和部件,储备价值高达280亿美金。该系统运行在Amdahl主机系统上,部署在全美国不同的地方,由4百万行COBOL程序构成“垂直”软件——价值上百万美金的程序被开发、或者根据某些特别“水平”软件——像微软的Office一样,功能可能也很强大,代码也很多,但是会有很多个拷贝。因此,每个拷贝的成本并不高。此种软件竞争激烈,一般用C++、JAVA等新语言进行开发,软件利润很高而且更新很快“水平”软件——像微软的Office一样,功能可能也很强大,“垂直”软件一般说来利润并不高,每个拷贝的成本却很高。因此,替换成本很高,因此这种软件生命周期一般都很长。例如对MRPII的用其他语言改写的估价为1亿美金。因此,对现有COBOL程序的维护需要大量COBOL程序员“垂直”软件一般说来利润并不高,每个拷贝的成本却很高。因此,1.2COBOL语言的特点最适于事务处理(商业计算)领域事务处理的特点是:算术计算量少而逻辑处理多;输入输出量大;数据间存在着一定的逻辑关系(数据项间有清晰的层次关系),大量的分类排序,数据结果将用于报表打印,对打印报表要求较高、多样化等等。
COBOL所处理的问题具有数据繁多而运算简单的持点。1.2COBOL语言的特点最适于事务处理(商业计算)领域COBOL比较接近于自然语言(英语)。COBOL程序看起来很像一篇用英语写的文章。例如:ADDATOB来表示A+B=>B(A加B,结果故在B中)MOVECTOD表示将变量C的值传送到变量D中COBOL大量采用普通英语词汇和句型,学过英语的人看程序感到通俗易懂。COBOL比较接近于自然语言(英语)。通用性强由于COBOL语言的标准化程度较高。不同厂家生产的计算机系统所提供的COBOL,是COBOL标准的全集或一个子集。一个计算机上的COBOL程序向另一计算机系统上移植,是比较容易实现的。目前主机系统上面的COBOL可移植更好通用性强COBOL的结构严谨,层次分明。每个程序分为四大部分(称为部,division),每个部下面又分为若干节(section),节下面又分为若干段(paragraph)。每一部分都有固定的程式。这个特点使初学者比较容易通过摹仿别人程序中的有关部分,从而较快地写出自己的程序。COBOL的结构严谨,层次分明。COBOL的缺点是比较繁琐。程序无论大小简繁,一律都要写齐四大部分,对每个部进行必要的定义和说明。因此源程序显得比较冗长。关键字高达300多个,很难记忆。而且很多关键字并不“关键”,可以省略。不过请记住:COBOL——世界上(曾经)使用最多的一种计算机语言COBOL的缺点是比较繁琐。1.3最简单的COBOL程序000100IDENTIFICATIONDIVISION.000200PROGRAM-ID.EXAM1A1.000300ENVIRONMENTDIVISION.000400DATADIVISION.000500PROCEDUREDIVISION.000600S.000700DISPLAY'THISISACOBOLPROGRAM.'.000800STOPRUN.1.3最简单的COBOL程序000100IDENTIFICOBOL程序设计解析课件COBOL程序设计解析课件1.4COBOL程序的结构部
IDENTIFICATIONDIVISION.(标识部)主要用来指定源程序名字。也可以写入其它用作备忘的某些信息(如日期、作者等)。ENVIRONMENTDIVISION.(环境部)指出程序中用到的数据文件名与计算机系统的设备的对应关系,即把某一文件名与一外部设备联系起来。此外还指定目标程序中使列的专门控制方法及程序所用内存区的大小等DATADIVISION.(数据部)程序中所用到的全部数据(包括输入输出的数据和中间数据)都应在数据中说明它们的类型和所占内存的情况。PROCEDUREDIVISION.(过程都)用来给出程序要执行的指令,使计算机产生相应的操作。例如进行运算或其它处理。1.4COBOL程序的结构部节和段除标识部以外,在每一个部的“部头”的下面,可以有若干个节(SECTION),每一个节以“节头”作标识。每一节下面又可包括若干段(PARAGRAPH)。每一个段都有自己的名字(即段名)。在标识部下面不设节.直接设段节和段COBOL程序设计解析课件句子、语句和子句在过程部中,每一段由若干个句子(Sentence)组成。一个句子是以句号加一个以上的空格束结束的。句子又由语句(Statement)组成。一个句子可以只由一个语句组成,一个语句加一个句点后跟一个(多个)空格就成为一个句子。在一个语句中又可以包含若干个子句(clause).每一于句也有一个动词,它指定某一方面特定的功能。句子、语句和子句过程部中程序的结构:部(Division)-部可以包含若干节节(Section)-节可以包含若干段段(Paragraph)-段可以包含若干句子句子(Sentence)-句子可以包含若干语句语句(Statement)-指定计算机完成一定的操作子句(Clause)-指定完成某一方面的特定功能过程部中程序的结构:描述体在数据部中有若干节,每个节中有若干个描述体(Descriptionentry),亦译作描述款目或描述款),每个描述体义由若干个子句构成。描述体COBOL程序设计解析课件1.5COBOL源程序书写格式自由格式和固定格式voidmain(void){inta,b,c;a=10;b=20;c=a+b;}COBOL则不同,必须严格按照规定的格式书写。1.5COBOL源程序书写格式自由格式和固定格式ANSI源程序书写格式见图ANSI源程序书写格式见图1.1—6列,为“标号区”。可以填写6个数字。标号由程序编写者自定,标号应按由小到大的顺序,但不一定连续。标号区内可以写标号也可以不写标号(标号区空白)。标号对源程序的执行结果没有任何影响。在程序编译时是按程序书写的顺讯进行的,而不是按标号大小顺序进行的。
2.第7列,是“续行标志区”。如果在第7列上写上连接符“-”,则表示本行是紧接在上一行的后面。如果在第7列写“*”,则表示此行是注解行,即此行可由程序员任意写上自己所需的内容,以对程序(或程序的一部分)作说明。它对程序的执行不起任何影响1.1—6列,为“标号区”。可以填写6个数字。标号由程序编3.第8-11列,称为“A区”,第8列称“A区边界”。COBOL规定,程序中有些内容,例如部头、节头、段头、层号01,层号77以及文件描述符FD等应从A区开始书写
4.12-72列,称“B区”。写程序中的正文部分,例如过程部中的句子只能从B区开始,而不能写到A区去。
5.73-80列.为“注释区”。程序员如想对源程序的某些行作些简单说明,可写在这8列中,因此写源程厅时注意个应超过第72列,超过的部分在编译时将被舍弃。3.第8-11列,称为“A区”,第8列称“A区边界”。C写程序的注意事项:每个字符占一格。较早的COBOL版本规定所有源代码字母都应大写,但现在使用的COBOL编译系统允许使用大写或小写字母,二者等价。不过习惯都用大写字母,主机系统一般都用大写字母。相邻的两个字(如COBOL的保留字或用户自己定义的名字)之间必须留一个以上的空格。运算符(如加、减、乘、除、乘方)和等号左右两边必须各留一个空格。在过程部中左括号的左侧和右括号的右侧要留一空格,而内侧不必留空格。逗号、句号、分号的左边不能留空格,而右边应有空格。一个空格和多个空格作用相同写程序的注意事项:COBOL程序设计解析课件1.6COBOL字符和COBOL字COBOL字符系统字符集指的是在输入输出操作中允许出现的字符的集合。
COBOL字符集指的是COBOL程序中允许出现的字符(用引号括起来的字符串户的字符除外)。1.6COBOL字符和COBOL字COBOL字符COBOL字符集:数字:0~9大写字母:A~B小写字母:a~b专用字符:+加号-减号或连接号*乘号或星号/除号=等号,逗号.句号或小数点;分号‘引号(有的用”)(左括号)右括号<小于号>大于号空格
$美元号COBOL字符集:数字:0~9+加号COBOL字COBOL字是出COBOL字符组成COBOL字不允许超过30个字符保留字用户字COBOL字COBOL字是出COBOL字符组成1.7数据名数据名的概念:数据名(Dataname)可以认为是由程序设计者定义的某一片内存区的符号地址,即用一个符号代表一个地址。数据名相当于其它语言中的变量名,它代表一个具体的数据项。COBOL中指的数据是广义的,即下仅指数值,也可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安装师傅合作协议
- 2024年钯金、钯银、膜材料投资申请报告
- 厂房材料设备技术转让合同
- 产业园与入住企业合作框架协议
- 产品销售代理合同模板
- 白鹭课文教学课件精讲
- 年苏教版五年级上册数学期末考试卷答案
- 苏教版统计学习技巧分享
- 苏教版六下语文电子书修订版
- 初中数学相似题目解法与技巧分享
- Python基础教程高职全套教学课件
- JT-T-1045-2016道路运输企业车辆技术管理规范
- 广联达云计量gtj2021-实战培训
- 2022高端新款个人简历模板(可编辑)01 (4)
- 盘扣式脚手架技术交底
- 巴渠田歌《豆芽葱蒜叶》的艺术特征及其文化解读
- 工会考核评分表
- 中国爱生学校标准
- 洗浴中心承包合同(完整版)
- 伸缩缝施工工艺流程和方法
- 碳酸钠与碳酸氢钠(苏高中徐惠公开课)
评论
0/150
提交评论