精通COBOL——大型机商业编程技术详解(修订版)
- 格式:pptx
- 大小:3.53 MB
- 文档页数:105
英文缩写: COBOL (Common business Oriented Language)中文译名: COBOL语言解释: 一种适合于商业及数据处理的类似英语的程序设计语言。
这种语言可使商业数据处理过程精确表达。
COBOL(面向商业的通用语言,又称为企业管理语言、数据处理语言等,Common Business Oriented Langauge)是最早的高级编程语言之一,是世界上第一个商用语言。
1 COBOL的历史1959年5月,五角大楼委托格雷斯·霍波(G.Hopper)博士领导一个委员会并由Rear Admiral Grace Hopper公司主持开发,并于1961年由美国数据系统语言协会公布。
正式发布于1960年4月,称为Cobol-60。
1959年12月出现了第一个COBOL语言文本,并于1960年4月正式发表,因此也被称为COBOL-60。
1968年美国国家标准委员会ANSI 又通过了新的标准ANSI COBOL X.3.23-1968。
1972年国际标准化组织ISO将其作为ISO COBOL-72。
1974年ANSI对COBOL-68作出了修订扩充,形成了ANSI COBOL X3.23-1974,随后1978年ISO采用其形成ISO COBOL-78,后来又提出了ANSI X3.23-85,增加了很多结构化程序设计的内容,ISO标准ISO1989:1985也采用了该标准。
COBOL 标准还在不断地改进和完善,最新的标准COBOL 2002主体已经于2002年12月出版,其他部分还在不断地完善之中。
现在最新的版本是Cobol-2002。
1963年,美国国家标准研究所(ANSI)进行了标准化,但是ANSI标准很少被遵循;因此,COBOL程序只是部分可移植的。
2 COBOL的重要性经过40多年的不断修改、丰富完善和标准化,COBOL已发展为多种版本的庞大语言,在财会工作、统计报表、计划编制、情报检索、人事管理等数据管理及商业数据处理领域,都有着广泛的应用。
第一章COBOL 概述一、COBOL 的语言特点:COBOL:Common Business Oriented Language通用商业语言它是专门为数据管理而设计的计算机高级语言。
COBOL语言的主要特点:1、适用于数据处理,(科学计算、数据处理、过程控制、计算机辅助设计、人工智能等)数据处理的特点:算术计算量多而逻辑处理少,输入输出量大;数据项之间有清晰的层次关系;大量的分类排序;对打印报表的高要求及多样化等等2、通用性强使用是要注意它的特殊性,COBOL有较高的标准化程序硬件集中管理不同厂家生产的计算机系统所提供的COBOL是COBOL 的标准的全集或子集,设备的逻辑名可能不一样。
3、机构严谨、层次分明、比较接近于自然语言,便于初学者模仿。
二、COBOL的发展概况1959年12月在美国提出了世界上第一个COBOL语言文本并于1960年4月由美国政府印刷局正式发表称之为COBOL—60→COBOL61→COBOL65ANSI标准(美国国家标准化协会)ANSI COBOL68->(修订扩充)-〉ANSI COBOL-74-〉ANSI COBOL-85ISO 标准(国际标准化组织)ISO COBOL-72->ISO COBOL-78三、COBOL源程序结构及书写格式源程序示例:例(P8)将A和B的值相加其和放在B中源程序的结构部(DIVISION):标识部、环境部、数据部、过程部以部头开始以“.”和空格结束节(SECTION):每个节以节头作标识,以“.”和空格结束如WORKING_STORAGE SECTION (工作单元节)段(PARAGRAPH):每个短都有一个段名,以“”和空格结束如PROGRAM__ID EXAM2 句子(SENTENCE):用空格分开的多条语句称为句子最后以“.”和空格结束的一个语句序列语句(STATEMENT):一条完整的指令用于完成一定的操作子句(CLAUSE):用于完成某一方面的特定功能如环境部中的SELECT子句。
382 第16章 CICS 扩展 COBOL IF REQUEST = 'DATE'
EXEC CICS ASKTIME ABSTIME(GETTIME)
END-EXEC
EXEC CICS FORMATTIME ABSTIME(GETTIME)
DATESEP
DDMMYYYY(DATEOUT)
END-EXEC
STRING 'DATE IS: ' DATEOUT
DELIMITED BY SIZE INTO MSG
PERFORM 100-OUTPUT-RESULT
EXEC CICS RETURN END-EXEC.
GOBACK.
100-OUTPUT-RESULT.
EXEC CICS SEND CONTROL CURSOR(80)
END-EXEC
EXEC CICS SEND FROM(MSG)
LENGTH(20)
END-EXEC.
16.4 伪会话程序
伪会话程序是CICS 开发中十分重要的一个概念,绝大多数CICS 上的程序都是采用的伪会话程序。
伪会话程序充分体现了CICS 的交互能力,形成了区别于批处理作业最大的特征。
同时,伪会话程序也避免了长时间的独占任务资源,从而提供了程序的并发执行能力。
16.4.1 伪会话程序的基本概念
伪会话程序是相对于会话程序发展而来的。
会话程序将会不间断地等待从终端接受数据,直到程序结束。
而伪会话程序则只在终端有输入时才激活,并不会始终占用资源以等待从终端接受数据。
如图16.6所示,是这二者之间的区别。
图16.6 会话程序与伪会话程序的区别。
第1章 COBOL简介COBOL是Common Business Oriented Language的缩写,即公用面向商业语言的意思。
在系统地学习COBOL程序设计语言之前,有必要首先对COBOL有一个大致的了解。
本章将分别从背景知识、语法格式、以及实际创建COBOL程序3个方面对其进行简要介绍。
1.1 背景知识在介绍COBOL之前,首先需要了解一下大型机的概念。
大型机也叫主机、大机、mainframe等,属于一种商用高端服务器。
目前大型机主要由IBM公司所生产,最新型号为z系列大型机。
COBOL便是用于大型机上应用软件开发的最主要的程序设计语言。
大型机上的工作大体上可以分为两类,分别为系统方向和开发方向。
系统方向的分工很多,包括使用Tivoli监控系统;使用RACF进行安全管理;使用SMS进行存储管理等等。
开发方向的市场需求相对系统方向则要大得多。
对于开发方向,主要需要掌握以下知识。
❑COBOL:最主要的程序设计语言。
❑JCL:作业控制语言,调用由COBOL编写的程序。
❑VSAM:程序中通常用到的文件类型。
❑DB2:大型机上最主要的数据库,通常以COBOL语言为宿主语言。
❑CICS:用于联机交易的中间件,通常也是以COBOL语言为宿主语言。
对于以上知识,在本书中都有详细介绍。
此外,对于大型机底层的开发,还需要掌握大型机上的汇编语言。
对于大型机汇编语言,在本书中也有具体讲解。
COBOL作为大型机上最主要的程序设计语言,迄今已有40多年的历史。
然而,经过40多年的沧桑,COBOL不仅没有被淘汰,反而在当今愈加流行起来。
关于这一点,主要应该是由以下3个因素所决定的。
❑COBOL广泛应用于广泛应用于银行业、信用卡业、保险业、制造业、航空业等等。
这些领域对于稳定性的要求都是十分高的,因此从很大程度上也保证了COBOL的不可取代性。
❑COBOL自身也在不断发展和更新中。
例如,COBOL本身主要属于面向过程的语言。
cobol语言基础培训教程2009年04月23日| 5:23 下午分类:大型机|Mainframe| 标签:cobol 数据类型、COBOL 程序举例、cobol入门、cobol教程、cobol语言、大型机培训|CHAPTER 1 COBOL 概述COBOL 就是mon Business Oriented Language 得缩写。
它不仅就是商业数据处理得理想语言,而且广泛用于数据管理领域,因此COBOL 语言也被称为”用于管理得语言”。
一。
COBOL 语言得特点最适于数据处理领域:算数计算量少而逻辑处理量多,输入输出量大,数据间存在着一定得逻辑关系,大量得分类排序;COBOL比较接近英语,容易懂;通用性强,易移植,COBOL结构严谨,层次分明。
二。
COBOL得组成部分:1。
标识部(IDENTIFICATION DIVISION):用于标识程序名。
2。
环境部(ENVIRONMENT DIVISION):用于说明程序运行得环境。
3。
数据部(DATA DIVISION):用于说明程序中涉及得所有数据。
4。
过程部(PROCEDURE DIVISION):就是程序得核心部分,它决定计算机应进行什么操作。
三。
最简单得COBOL 程序举例:COL 1 —6 7 8 12—72 73—80 IDENTIFICATION DIVISION。
PROGRAM-ID。
PSAMPLE1。
ENVIRONMENT DIVISION。
DATA DIVISION。
PROCEURE DIVISION。
DISPLAY ’THIS IS A COBOL PROGRAM、’STOP RUN。
四。
COBOL 源程序得书写格式:第1 至 6 列为”标号区”。
第7列为”续行标志区”第8至此11列,称为”A区”。
程序中有些内容如部头,节头,段头,层号01,层号77 及文件描述符FD等应从A区开始写。
第12至此72列,称为”B区”。
写程序中得正文部分。
445 18.4 修改账户功能模块COBOL MOVE DFHBMPRO TO ENTER-3A.PROCESS-SETMAP3.PERFORM PROCESS-SETMAP2MOVE DFHBMDAR TO ENTER-3AMOVE DFHBMBRY TO NEXT-3A. 18.4 修改账户功能模块 在修改账户功能模块的界面上,用户可以通过输入账号对所需修改的账户信息进行定位。
同时,输入的账号可以为部分内容,以进行模糊查找。
修改的对象为账户姓名。
用户同样可以确认或撤销修改操作、连续修改账户以及返回主菜单。
修改账户功能模块的界面如图18.4所示。
图18.4 修改账户功能模块界面在添加账户功能模块中,系统可输出的提示信息有以下几条。
提示信息1:INV ALID KEY PRESSED (表示用户按了非法的按键)。
提示信息2:INPUT DA TA REQUIRED (表示用户输入数据为空)。
提示信息3:ACCOUNT NUMBER NOT NUMERIC (表示输入的账号不全为数字)。
提示信息4:ACCOUNT NOT EXIST (表示所要修改的账户不存在)。
提示信息5:CLIENT NAME MODIFIED (表示账户姓名修改成功)。
提示信息6:UPDA TE PROCESS CANCELED (表示用户撤销了修改账户操作)。
提示信息7:ENTER “Y” OR “N”(要求用户输入确认或撤销信息)。
提示信息8:PROCESSING ERROR (表示系统在处理过程中发生错误)。
提示信息9:MODIFY SESSION ENDED (表示退出系统)。
修改账户功能模块的任务要求如下。
(1)显示界面,输出提示信息3,允许用户输入账号或姓名信息。
但“PROCEED WITH UPDATE (Y/N)?_”和“PF9=NEXT ”不显示,且下划线位置不允许输入。
(2)根据用户在输入数据前后所按的不同功能按键,分别作出如下处理。
需改进问题点管理注:重要度最高为10,最低为1。
进度管理更新履历成果物一览不制作光盘,以WEB提供资料、补丁、交互服务。
网址:资料下载内容:EDITPLUS试用版及语法完成、语法高亮、语法剪辑文件及用户工具配置UESTUDIO试用版及语法高亮文件及用户工具配置文件及文件比较工具虚拟机软件使用指南部分案例的源代码录像(是否制作待定,编译器环境配置,编译及调试演示)主机软件开发系列丛书COBOL软件开发技术孙树斌阮利编著目录(自动生成)第1章COBOL85程序设计概述 (10)§1.1COBOL语言简介 (10)1.1.1什么是COBOL (10)1.1.2COBOL语言的特点 (10)1.1.3COBOL语言的历史与发展 (11)§1.2第一个COBOL程序——H ELLO COBOL! (12)1.2.1程序代码 (12)1.2.2部(DIVISION) (12)1.2.3节(SECTION) (13)1.2.4句子、语句和子句 (13)1.2.5COBOL85程序结构及书写格式 (13)1.2.6COBOL程序的数据分层 (15)1.2.7COBOL字符集 (15)1.2.8COBOL字 (16)1.2.8.1保留字 (16)1.2.8.2表意常量 (16)1.2.8.3用户字 (17)1.2.9COBOL所处理的数据的特点 (18)§1.3本章小结 (18)思考与练习 (18)思考与练习解答 (18)第2章实例操练一:HELLO COBOL (18)§2.1用E DITPLUS+RMC OBOL编译运行 (19)§2.2用UES TUDIO+RMC OBOL编译运行 (19)§2.3用NET COBOL7编译运行 (19)§2.4本章小结 (19)思考与练习 (19)思考与练习解答 (19)第3章COBOL编程轻松上手 (20)§3.1认识数据部 (20)3.1.1了解数据部 (20)3.1.3COBOL数据 (21)3.1.4数据组成层次结构 (21)§3.2工作单元节(WORKING-STORAGE SECTION) (21)§3.3字型语句(PICTURE子句) (22)3.3.1数值型数据描述 (22)3.3.1.1“9”描述符 (22)3.3.1.2“S”描述符 (23)3.3.1.3“V”描述符 (23)3.3.1.4“P”描述符 (23)3.3.1.5数值型变量小结 (24)3.3.2文字型数据描述 (24)3.3.2.1“A”描述符 (24)3.3.2.2"X"描述符 (24)§3.4赋初值子句(VALUE子句) (25)§3.5认识过程部 (25)3.5.1了解过程部 (25)3.5.2接收语句(ACCEPT语句) (26)3.5.3显示语句(DISPLAY语句) (29)3.5.4数据项初始化(INITIALIZE) (30)3.5.5传送语句(MOVE语句) (31)3.5.6停止语句(STOP语句) (32)3.5.7算术运算语句 (32)3.5.7.1加法语句(ADD语句) (32)3.5.7.2减法语句(SUBTRACT语句) (34)3.5.7.3乘法语句(MULTIPLY语句) (34)3.5.7.4除法语句(DIVIDE语句) (35)3.5.7.5计算语句(COMPUTE语句) (35)3.5.8逻辑与控制语句 (36)3.5.8.1条件表达式 (36)3.5.8.2条件语句(IF语句) (36)3.5.8.3IF嵌套与分析 (38)3.5.8.4转移语句(GOTO语句) (39)3.5.9执行语句(PERFORM 语句) (40)3.5.9.1概述 (40)3.5.9.2基本形 (41)3.5.9.3PERFORM 语句与其他语句的区别 (41)3.5.9.4执行语句(PERFORM 语句)的嵌套 (41)3.5.9.5执行语句(PERFORM 语句)语句序列中的转移 (41)3.5.9.6执行语句(PERFORM 语句)语句计数循环 (42)3.5.9.7执行语句(PERFORM 语句)UNTIL循环 (42)3.5.10出口语句(EXIT) (43)§3.6复写语句 (43)思考与练习 (44)第4章实例操练二:九九乘法表 (48)思考与练习 (51)思考与练习解答 (51)第5章数据处理及显示 (51)§5.1数据在计算机内的表示形式 (51)5.1.1计算机内存的组织形式 (51)5.1.2数值型数据在内存中的存储数据 (52)5.1.3数据描述与存储形式的关系 (52)§5.2用法子句(USAGE子句) (52)§5.3重定义子句(REDEFINES子句) (53)§5.4重命名子句(RENAMES子句) (54)§5.5遇零置空子句(BLANK WHEN ZERO) (55)§5.6对齐子句(JUSTIFIED子句) (55)§5.7同步安置子句(SYNCHRONIZED) (56)§5.8编辑型数据描述 (56)5.8.1“.”描述符 (57)5.8.2“+”描述符 (57)5.8.3“-”描述符 (57)5.8.4“,”描述符 (58)5.8.5“$”描述符 (58)5.8.6“*”描述符 (59)5.8.7插入空格、“0” (59)5.8.8“DB”、“CR” (59)§5.9描述符知识点整理 (60)§5.10算术运算精度处理 (61)5.10.1四舍五入处理子句(ROUNDED子句) (61)5.10.2长度溢出处理子句(ON SIZE ERROR) (62)5.10.3除法语句的余数子句(REMAINDER) (62)§5.11对应传送子句(或称作同名传送CORR) (63)§5.12对应项间的运算(CORR) (64)§5.13本章小结 (65)思考与练习 (65)思考与练习解答 (65)第6章字符串处理 (66)§6.1字符串连接(STRING) (66)§6.2字符串分解语句(UNSTRING) (67)§6.3检测语句(INSPECT语句) (68)第7章COBOL85逻辑控制 (70)§7.1逻辑控制语句 (70)§7.2条件表达式 (70)§7.4EVALUATE语句 (71)§7.5CONTINUE语句 (71)§7.6GO TO (71)§7.7条件关系 (72)§7.8复合条件 (72)§7.9符号条件 (73)§7.10类型条件 (73)§7.11条件名条件 (73)§7.12循环处理 (74)§7.13带有循环控制变量的PERFORM语句 (76)7.13.1一重循环 (76)7.13.2三重循环的PERFORM 语句 (77)§7.14本章小结 (78)思考与练习 (79)思考与练习解答 (79)第8章COBOL85表与检索 (79)§8.1表的基本概念 (79)§8.2表的建立 (81)§8.3表元素的引用 (82)§8.4表元素赋初值 (83)§8.5表的应用 (84)§8.6位标法 (84)8.6.1位标名 (84)8.6.2位标法引用表元素规则 (85)8.6.3设置语句 (85)§8.7表的顺序检索 (86)§8.8表的对分检索 (87)§8.9用PERFORM语句对表进行检索 (88)§8.10本章小结 (88)思考与练习 (88)思考与练习解答 (89)第9章COBOL85子程序 (89)§9.1子程序概述 (89)§9.2主程序与子程序连接 (89)一、子程序结构 (89)二、调用语句语法: (90)三、联接节 (91)§9.3子程序返回语句 (91)§9.4公用区数据 (91)§9.5子程序举例 (91)§9.6本章小结 (93)思考与练习 (93)思考与练习解答 (93)第10章实例操练--习题答案演示系统 (93)§10.1需求分析 (93)§10.2系统设计 (93)第11章COBOL85程序部 (93)§11.1标识部 (93)§11.2环境部 (95)11.2.1环境部概述 (95)11.2.2配置节 (96)11.2.3文件组织方式 (100)11.2.4输入输出节 (102)11.2.4.1输入输出节概述 (102)11.2.4.2文件控制段 (103)11.2.4.3输入输出控制段 (109)§11.3数据部 (110)11.3.1数据部概述 (110)11.3.2文件节 (115)11.3.3工作单元节(WORKING-STORAGE SECTION) (118)§11.4过程部 (126)§11.5本章小结 (127)思考与练习 (128)思考与练习解答 (128)第12章COBOL85文件处理 (128)§12.1文件处理常用语句概述 (128)12.1.1打开语句(OPEN语句) (128)12.1.2读语句(READ语句) (129)12.1.3写语句(WRITE语句) (130)12.1.4重写语句REWRITE (131)12.1.5删除语句DELETE (131)12.1.6关闭语句(CLOSE语句) (131)12.1.7开始语句START (131)12.1.8文件操作汇总 (132)§12.2磁带文件 (132)§12.3磁盘顺序文件 (134)§12.4磁盘索引文件 (139)12.4.1索引文件的概念 (139)12.4.2COBOL中与索引文件有关的部分 (139)12.4.3写索引文件记录 (140)12.4.4检索索引文件记录 (141)12.4.5新增索引文件记录 (143)12.4.6修改索引文件记录 (144)12.4.7删除索引文件记录 (145)12.4.8综合实例 (145)§12.5磁盘相对文件 (147)§12.6动态存取 (148)§12.7综合应用举例 .................................................................................. 错误!未定义书签。