




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
COBOL语言程序设计 1 课程简介 授课时间 24学时上机时间 8学时教材 COBOL语言DennyRen 任南明 电话 718 631 4535 USAmail dennyren11364 2 Listofresources EnterpriseCOBOLforz OSProgrammingGuideEnterpriseCOBOLforz OSLanguageReferenceVSAMfortheCOBOLProgrammerbyDougLoweMurach sMainframeCOBOLCOBOLProgrammer sNotebookbyJimKeogh 3 Review HLQ high levelqualifierPDS PDSEVTOC DSCBQSAM Queuedsequentialaccessmethod QSAM filesareunkeyedfilesinwhichtherecordsareplacedoneafteranother accordingtoentryorder VSAM KSDS ESDS RRDS LDSSMS StorageManagementSubsystem automateddataandspacemanagement Easiertoconverttonewdevice MasterCatalog DSN VOLUME UNIT AliasCatalogstructureRACF none read write control allocz VMRAS reliability availability serviceability 4 z OS JES RACF CICS DB2 DFSMS SDSF TSO VTAM CATALOG TCP IP etcAddressSpace Therangeofvirtualaddressesthattheoperatingsystemassignstoauserorseparatelyrunningprogramiscalledanaddressspace IPLJCLUTILITY IEBCOPY IEBGENER IDCAMS 5 Catalog Acatalogconsistsoftwoseparatekindsofdatasets abasiccatalogstructure BCS andaVSAMvolumedataset VVDS TheBCScanbeconsideredthecatalog whereastheVVDScanbeconsideredanextensionofthevolumetableofcontents VTOC ThebasiccatalogstructureisaVSAMkey sequenceddataset TheVSAMvolumedatasetisaVSAMentry sequenceddataset VVDSrecordsforVSAMdatasetsarecalled VSAMvolumerecords VVRs EverycatalogconsistsofoneBCSandoneormoreVVDSs 6 Mostcatalogsearchesshouldbebasedoncatalogaliases Whenappropriatealiases 化名 aredefinedforcatalogs thehigh levelqualifierofadatasetnameisidenticaltoacatalogaliasandidentifiestheappropriatecatalogtobeusedtosatisfytherequest UseIDCAMStodefineMastercatalog UserCatalogandAlias Eachsystemhasoneactivemastercatalogandcontainsaliasespointingtoalltheusercatalogs 7 DEFINEMASTERCATALOG NAME VSCATLG SYS1 MASTCAT CYLINDERS 51 VOLUME ALTVOL ICFCATALOG DEFINEALIAS NAME PROJECTA RELATE VSCATLG ICFCAT TEST01 LISTCATENT your vsam dataset 8 TheVolumeTableofContentsandtheVTOCindexaresystemdatasetsthatmaintainextentandallocationinformationforavolume theVVDScanbeconsideredanextensionofVTOC 9 ACIisacontiguousareaofdirectaccessstoragethatVSAMusestostoredatarecordsandcontrolinformationthatdescribestherecords ACIistheunitofinformationthatVSAMtransfersbetweenthestoragedeviceandtheprocessorduringoneI Ooperation ACAisformedbytwoormoreCIsputtogetherintofixed lengthcontiguousareasofdirectaccessstorage AVSAMdatasetiscomposedofoneormoreCAs CIandCAsplitsoccurasaresultofdatarecordinsertionsVSAMShareoptions toimplementVSAMdatasetintegrity readandwriteintegrity 10 LISTCENTRY DAWN KSDSEXG ALLKEYLEN 8REC TOTAL 321595REC DELETED 173530SPLITS CI 6466SPLITS CA 42HI A RBA 736100352HI U RBA 203685888SHROPTNS 1 3 11 Indexcomponent Indexset SequencesetDatacomponent 12 13 主机 大型机 系统 主机系统 Mainframe 大型机 mainframe 这个词 大多数时候它却是指system 360开始的一系列的IBM计算机 IBM大型机目前多直接称为主机 14 主机系统得以长盛不衰的主要原因 RAS I O处理能力以及ISARAS Reliability Availability Serviceability 高可靠性 高可用性 高服务性 是一个IBM常用来描绘它的大型机的词 目前z900大型机的I O吞吐能力是最低每秒24GB ISA IBMSystemArchitecture 虽然IBM大型机的整体指令集有了显著改进 IBM保持了惊人的对应用程序的向后兼容 downwardcompatible IBM儘最大的努力来保证它的客户们不必重写或重測試他们的程序 program 在新系统上运行 15 大型机的编程语言 COBOL Today morethan90 ofallCOBOLcodeisrunningonIBMmainframes TheseareusedbyFortune500companies IBM的大型机概念强调的是IO和RAS 追求的是稳定 可靠 主要用于商业管理系统 典型编程语言是Cobol 16 第一章COBOL语言概述 17 1 1COBOL发展概况 COBOLisahighlevellanguagefirstintroducedin1959 ANSICOBOLstandards 1968 1974 1985 2002COBOLcompilers 1985standard VSCOBOLIICOBOLforMVS VMCOBOLforOS 390 VMEnterpriseCOBOLforz OS OS 390COBOL不是设计来进行系统编程 一般来说 没人用COBOL来写操作系统 OS 或者编译器 compiler COBOL是如下单词的简写 COmmonBusinessOrientedLanguage COBOLwasspecificallydesignedforbusinessapplications 18 COBOL 商业计算首选语言 40年里 它曾经的对手 PL1 Algol68 Pascal Modula Ada C C 目前的强大对手 JAVA C 为代表的新一代语言 19 Gartnergroup的关于COBOL优势的调查报告 在1997年他们估计全世界有3千亿行的计算机代码正在使用 其中80 的是COBOL程序 而其他程序总计只占20 在1999年 他们报告说 超过50 的关键事务应用程序仍然会用COBOL语言编写 他们最近估计表明在2004 2005年度所有新程序 50亿行 的15 将用COBOL开发 同时 80 的部署在计算机里面的程序将包括以前遗留的COBOL程序 该集团估计 在2002年全世界有大约200万COBOL程序员 而JAVA和C 程序员各自只有100万 20 是不是很神奇 神奇的COBOL 你是不是对上面的資料感到很惊奇 古老的COBOL在流行的JAVA C VB C 一点都不落下风到底是什么原因呢 软件的两种类型 垂直 软件 水平 软件 21 垂直 软件 价值上百万美金的程序被开发 或者根据某些特别公司的需要被裁剪 或者按照特殊事务规则进行调整 但是 却只有很少的拷贝被使用 一个例子 美国国防部的MRPII系统 该系统管理着550 000种零件和部件 储备价值高达280亿美金 该系统运行在Amdahl主机系统上 部署在全美国不同的地方 由4百万行COBOL程序构成 22 水平 软件 像微软的Office一样 功能可能也很强大 代码也很多 但是会有很多个拷贝 因此 每个拷贝的成本并不高 此种软件竞争激烈 一般用C JAVA等新语言进行开发 软件利润很高而且更新很快 23 垂直 软件一般说来利润并不高 每个拷贝的成本却很高 因此 替换成本很高 因此这种软件生命周期一般都很长 例如对MRPII的用其他语言改写的估价为1亿美金 因此 对现有COBOL程序的维护需要大量COBOL程序员 24 1 2COBOL语言的特点 最适于数据 Data 处理领域数据处理的特点是 算术计算量少而逻辑处理多 输入输出量大 数据间存在着一定的逻辑关系 数据项间有清晰的层次关系 大量的分类排序对打印报表要求较高 多样化等等 COBOL所处理的问题具有数据繁多而运算简单的持点 25 COBOL比较接近于自然语言 英语 COBOL程序看起来很像一篇用英语写的文章 例如 ADDATOB来表示A B B A加B 结果故在B中 MOVECTOD表示将变量C的值传送到变量D中COBOL大量采用普通英语词汇和句型 学过英语的人看程序感到通俗易懂 26 通用性强由于COBOL语言的标准化程度较高 不同厂家生产的计算机系统所提供的COBOL 是COBOL标准的全集或一个子集 一个计算机上的COBOL程序向另一计算机系统上移植 是比较容易实现的 目前主机系统上面的COBOL可移植更好 27 COBOL的结构严谨 层次分明 每个程序 program 分为四大部分 称为部 division 每个部下面又分为若干节 section 节下面又分为若干段 paragraph 每一部分都有固定的程式 这个特点使初学者比较容易通过摹仿别人程序中的有关部分 从而较快地写出自己的程序 28 COBOL的缺点是比较繁琐 程序无论大小简繁 一律都要写齐四大部分 对每个部进行必要的定义和说明 因此源程序 sourceprogram 显得比较冗长 关键字 Reservedword 高达300多个 很难记忆 而且很多关键字并不 关键 可以省略 不过请记住 COBOL 世界上使用最多的一种计算机语言 29 1 3最简单的COBOL程序 30 31 32 1 4COBOL程序的结构 部IDENTIFICATIONDIVISION 标识部 主要用来指定源程序 sourceprogram 名字 也可以写入其它用作备忘的某些信息 如日期 作者等 ENVIRONMENTDIVISION 环境部 指出程序中用到的数据文件名与计算机系统的设备的对应关系 即把某一文件名与一外部设备联系起来 此外还指定目标程序中使列的专门控制方法及程序所用内存区的大小等 一般都己不用 Dividedintotwosections Configuration 輪廓 外形 Input Outputsection 33 DATADIVISION 数据部 程序中所用到的全部数据 包括输入输出的数据和中间数据 都应在数据中说明它们的类型和所占内存 storage 的情况 PROCEDUREDIVISION 过程都 用来给出程序要执行的指令 使计算机产生相应的操作 例如进行运算或其它处理 34 DATADIVISION Definedataelements inworking storagesection anddatafiles infilesection willbeusedinyourprogram DATADIVIDION FILESECTION FDERRTRANLABELRECORDSARDSTANDARD 01ERROR TRANSACTIONPICX 21 WORKING STORAGESECTION 01AGEPIC99 35 节和段除标识部以外 在每一个部 DIVISION 的 部头 的下面 可以有若干个节 SECTION 每一个节以 节头 作标识 每一节下面又可包括若干段 PARAGRAPH 每一个段都有自己的名字 即段名 在标识部下面不设节 直接设段 36 37 句子 语句和子句在过程部 PROCEDUREDIVISION 中 每一段由若干个句子 Sentence 组成 一个句子是以句号加一个以上的空格束结束的 句子又由语句 Statement 组成 一个句子可以只由一个语句组成 一个语句加一个句点后跟一个 多个 空格就成为一个句子 在一个语句中又可以包含若干个子句 clause 每一子句也有一个动词 它指定某一方面特定的功能 38 过程部 ProcedureDivision 中程序的结构 部 Division 部可以包含若干节节 Section 节可以包含若干段段 Paragraph 段可以包含若干句子句子 Sentence 句子可以包含若干语句语句 Statement 指定计算机完成一定的操作子句 Clause 指定完成某一方面的特定功能 39 描述体在数据部 DataDivision 中有若干节 每个节中有若干个描述体 Descriptionentry 亦译作描述款目或描述款 每个描述体义由若干个子句构成 40 41 1 5COBOL源程序书写格式 自由格式和固定格式COBOL必须严格按照规定的格式书写 42 ANSI源程序书写格式见图 43 1 1 6列 为 标号区 sequencearea 可以填写6个数字 标号由程序编写者自定 标号应按由小到大的顺序 但不一定连续 标号区内可以写标号也可以不写标号 标号区空白 标号对源程序的执行结果没有任何影响 在程序编译时是按程序书写的顺讯进行的 而不是按标号大小顺序进行的 2 第7列 是 续行标志区 indicatorarea 如果在第7列上写上连接符 则表示本行是紧接在上一行的后面 如果在第7列写 则表示此行是注解行 comment 即此行可由程序员任意写上自己所需的内容 以对程序 或程序的一部分 作说明 它对程序的执行不起任何影响 44 3 第8 11列 称为 A区 areaA 第8列称 A区边界 COBOL规定 程序中有些内容 例如部头 节头 段头 层号01 层号77以及文件描述符FD等应从A区开始书写4 12 72列 称 B区 写程序中的正文部分 例如过程部 ProcedureDivision 中的句子只能从B区开始 而不能写到A区去 5 73 80列 为 注释区 程序员如想对源程序的某些行作些简单说明 可写在这8列中 因此写源程序时注意不应超过第72列 超过的部分在编译 Compile 时将被舍弃 45 写程序的注意事项 每个字符占一格 较早的COBOL版本规定所有字母都应大写 但现在使用的COBOL编译系统允许使用大写或小写字母 二者等价 不过习惯都用大写字母 主机系统一般都用大写字母 相邻的两个字 如COBOL的保留字或用户自己定义的名字 之间必须留一个以上的空格 运算符 如加 减 乘 除 乘方 和等号左右两边必须各留一个空格 在过程部中左括号的左侧和右括号的右侧要留一空格 而内侧不必留空格 逗号 句号 分号的左边不能留空格 而右边应有一个空格 一个空格和多个空格作用相同 46 47 1 6COBOL字符和COBOL字 COBOL字符 Character 系统字符集指 characterset 的是在输入输出操作中允许出现的字符的集合 COBOL字符集指的是COBOL程序中允许出现的字符 用引号括起来的字符串户的字符除外 48 COBOL字符集 数字 0 9大写字母 A B小写字母 a b专用字符 加号 减号或连接号 乘号或星号 除号 等号 逗号 句号或小数点 分号 引号 有的用 左括号 右括号大于号空格 美元号 49 COBOL字 word COBOL字是由COBOL字符组成COBOL字不允许超过30个字符 character 保留字 Reservedword 用户字 Userdefinedword InformationisstoredinyourprogramasaConstantorasaVariable 50 1 7数据名 数据名的概念 数据名 Dataname 可以认为是由程序设计者定义的某一片内存区 storage 的符号地址 即用一个符号代表一个地址 数据名相当于其它语言中的变量名 variable 它代表一个具体的数据项 Youcanreferdatanameasavariablename 51 52 数据名的定名规则每个数据名的长度为1 30个字符之间 只能由字母 数字和连接符 组成 而且其中至少应有一个字母 连字符只能出现在数据名的中间 不能出现在数据名的两端 最前或最后 如 ABC RATEOF PAY 3DG4 A1 2 3 1234ABC WANG LI都是合法的数据名 而 123 JOKN HENRY WANG ABC ATEJ ABC DEF 1999 9 9都是不合法的数据名 53 数据名中不能出现空格不应该选择COBOL的保留字 reservedword 作为用户定义的数据名 300多个保留字 当心 数据名最好采用有意义的英文名或者拼音等 54 1 8常量 常量 常数1 数值常量 Numerical
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度公交车身广告制作与租赁合同
- 2025年科研合作项目预付定金合同范本
- 二零二五年度国际劳务输出派遣与质量保证协议
- 2025版降水井工程绿色施工与可持续发展合同
- 工业污染场地修复2025年技术选型与成本效益预测分析报告
- 2025年度单位向个人提供旅游租车服务的合同
- 2025版出口运输合同国际货运代理协议
- 二零二五年度断桥铝门窗行业技术研发合同范本
- 2025年度法院执行异议担保合同样本
- 2025年教育精准扶贫政策对农村学校教育质量保障的影响报告
- 用电办理授权委托书(新)
- 电气值班员技师实操题
- 手术物品清点课件
- 物理word版2023山东高考答题卡涂准考证号和条形码
- WS/T 512-2016医疗机构环境表面清洁与消毒管理规范
- GB/T 36089-2018丙烯腈-丁二烯橡胶(NBR)
- GB/T 35694-2017光伏发电站安全规程
- GB/T 26746-2011矿物棉喷涂绝热层
- GA/T 828-2009电子物证软件功能检验技术规范
- 中耳疾病(分泌性中耳炎、急慢性中耳炎)
- 20XX贵州省高职(专科)分类真习题卷
评论
0/150
提交评论