ImageVerifierCode 换一换
格式:DOCX , 页数:79 ,大小:62.60KB ,
资源ID:18094697      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-18094697.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(01Cobol基础知识讲义.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

01Cobol基础知识讲义.docx

1、01Cobol基础知识讲义第一章 关于COBOL的初步知识一. COBOL语言的特点 COBOL是Common Business-Oriented Language(公用面向商业的语言)的缩写,主要供数据处理、数据收集及分析之用。COBOL自60年代初开始广泛应用于计算机应用领域(商业和其他领域)。事实上,除了商业之外,各种管理工作都广泛使用COBOL,如各种统计工作,财会工作,企业计划编制,作业制度,情报检索,人事管理等。COBOL针对商业世界的使用,是真正商用应用程序开发的首选语言。1 适于数据处理领域。2 采用英语语法的高级语言,可读性、可维护性、可移植性较强。3 通用性强,标准化程度较

2、高。4 结构严谨,层次分明。5 缺点是比较繁琐。二 最简单的COBOL程序介绍例:IDENTIFICATION DIVISION.(标识部)PROGRAM-ID. EXAM1.(程序标识段)ENVIRONMENT DIVISION.(设备部)DATA DIVISION.(数据部)PROCEDURE DIVISION.(过程部)A. DISPLAY THIS IS A COBOL PROGRAM. STOP RUN.例:IDENTIFICATION DIVISION.(标识部)PROGRAM-ID. EXAM.(程序标识段)ENVIRONMENT DIVISION.(设备部)DATA DIVIS

3、ION.(数据部)WORKING-STORAGE SECTION.(工作单元节)77 A PICTURE IS 9(3).(对进行描述)77 B PICTURE IS 9(3).(对进行描述)PROCEDURE DIVISION.(过程部)S. ACCEPT A.(输入值) ACCEPT B.(输入值)ADD A TO B.(A+B-B)DISPLAY A,B.(显示和值) STOP RUN. 三 COBOL程序的结构1 部每个程序都包括四个部:IDENTIFICATION DIVISION (标识部)提供程序的一般性文档说明,主要用来指定源程序名。ENVIRONMENT DIVISION (

4、环境部)列出程序中所用到的文件。程序中不需要外部文件时,环境部为空,也可以省略部标题。DATA DIVISION (数据部)程序中所用到的全部数据(包括:文件数据-用于输入输出、静态数据、参数等)都应在数据部中说明它们的类型和所占内存的情况。PROCEDURE DIVISION (过程部)包含构成程序的过程性语句,用来给出程序要执行的指令,使计算机产生相应的操作。2 节和段 标识部下只有各个段。除标识部以外,每个部下可以有若干个节(SECTION),每个节以“节头”作标识。每个节下又可包括若干段(PARAGRAPH),每个段用“段名”标识。各个段内有各种COBOL元素。3 句子,语句和子句 在

5、过程部中,每一段由若干个句子(Sentence)组成。一个句子是以英文句号来结束的。句子又由语句(Statement)组成。一个语句中又可以包含若干个子句(Clause)。 注意:部标题、节标题、段名、数据项目描述及句子后必须用英文句号结束,否则程序无法编译。4 描述体(描述款目)在数据部中有若干个节,每个节中有若干个描述体,每个描述体又有若干个子句构成。四 源程序的书写格式1 16列,为“序号区”,为6位整数序号,不是程序本身的内容。序号不是必须的,但其所占区域要保留。2 第7列,为“指示符区(续行标志区)”。连接符“-”表示本行是紧接在上一行的后面。“*”或“/”表示本行为注释行。“D”表

6、示本行为调试行。3 811列,为“A区”,部头,节头,段头,层号01,层号77以及文件描述符FD,程序结束标题等应从A区开始书写,但不一定从第8列开始写。4 1272列(现在有时厂家规定可到80列),为“B”区,过程部中的句子只能从B区开始书写。5 7380列,为“注释区”。在写程序时,应注意以下几点:1大写或小写字母均可,习惯用大写字母。2相邻的两个字之间必须留一个以上的空格。3运算符和等号左右两边必须各留一个空格。4逗号,句号,分号的左边不能留空格,而右边应有空格。五 COBOL字符和COBOL单字 COBOL字符集包括以下字符: 09, az, AZ, + - * / = , . ; ”

7、 ( ) $空格 : COBOL单字分三种:保留字、用户自定义字及系统名称。 COBOL单字的规则如下:1 字长为130个字符之间。2 只能由字母,数字和连字符“-”组成,第一个和最后一个字符不能用连字符。3 字中不能出现空格。4 小写字母与大写字母等价。5 不能用保留字作为用户定义字和系统名称,但用户定义字和系统名称可以用同一个单词。用户自定义字:文件、数据、标号、程序等所取的名称。系统名称:COBOL保留字,用于与操作环境通信,又COBOL厂家定义。分为:Computer name、Implementers name、Language name。保留字:有300多个。如:+、ACCEPT、

8、ADD、BEFORE、DATA。六 常量1 数值常量(数字直接数) 例: 123, +45.67, -89.652 非数值常量(非数字直接数):字符串内的引号用两个连续引号表示。 例:abcd, Expired,3 象征常量:用保留字表示某些常用常量(直接数)。例:ZERO ZEROS ZEROES SPACE SPACES HIGH-VALUE HIGH-VALUES LOW-VALUE LOW-VALUES QUOTE QUOTES ALL 常量七.处理数据的特点:层次的概念;记录和文件的概念。八 程序文本的复制与替换操作1. COPY语句COPY语句用COBOL源文本text-name替

9、换从COPY字开始到终止句号之前的内容。2. REPLACE语句 REPLACE语句将COBOL源程序某个段中的文本进行替换。替换从REPLACE语句的第一个格式开始,到REPLACE OFF 语句结束。第二章 标识部和环境部一 标识部(IDENTIFICATION DIVISION)(一)必写部分IDENTIFICATION DIVISION.PROGRAM-ID. 程序名.(二)任选部分 一般格式: AUTHOR. 作者姓名INSTALLATION. 设计这个程序的公司或部门。DATE-WRITTEN. 编写日期,可记入修订史,修改日期、原因及人员。DATE-COMPILED. 编译日期S

10、ECURITY. 保密程度的描述。 注:标识部中的段标题只能按部描述中指定的顺序出现。3. 环境部(ENVIRONMENT DIVISION)环境部指定程序中与特定计算机或操作系统相关的方面,指明用到哪些设备,哪些文件,将程序中用到的内部文件名与外部文件(或外部设备)联系起来。如果程序不需要任何环境部提供的项目,则可以省略环境部。一般格式:ENVIRONMENT DIVISION.CONFIGURATION SECTION. 配置节SOURCE-COMPUTER.OBJECT-COMPUTER.SPECIAL-NAMES.INPUT-OUTPUT SECTION. 输入/输出节FILE-CON

11、TROL.I-O-CONTROL.1 配置节包括SOURCE-COMPUTER, OBJECT-COMPUTER和SPECIAL-NAMES(专用名段)。SOURCE-COMPUTER段标识编译程序的计算机。若该段省略,则编译程序的计算机是源计算机。如果指定WITH DEBUGGING MODE 从句,则编译所有源调试行,否则把调试行作为说明语句。OBJECT-COMPUTER段标识编译程序运行的计算机。SPECIAL-NAMES段用于把系统中原规定的一些设备名或功能名或符号改为用户自己指定的名字或符号。SPECIAL-NAMES. CLASS REAL-NUMBER IS0123456789

12、+-.-可用于类条件测试 DECIMAL-POINT IS COMMA. -逗号用作小数点,句号用作编辑符 CURRENCY SIGN IS “Y”. -表示货币符号的字符,DEFAULT$2 输入输出节输入输出节只用于文件,它把内部文件与外部文件(包括外部设备)联系起来。它有两个段:文件控制段:FILE-CONTROL段是给文件命名,指出存放该文件的外部设备及其他有关文件控制信息。对每个文件包含一个项目。FILE-CONTROL. SELECT FILE-1 ASSIGN TO “FILE-1.TXT”. SELECT FILE-2 ASSIGN TO DISK. SELECT FILE-3

13、 ASSIGN TO PRINTER. 输入输出控制段: I-O-CONTROL段包含定义程序返回点,不同文件共享的内存区和多文件卷中文件位置的项目。第三章 数据部一 数据部的节 数据部包含程序引用的所有数据的定义,如文件记录、变量、表格和报表。COBOL将数据部分成节,每个节是可选的,但程序中的节应按指定顺序定义。DATA DIVISION.FILE SECTION. 文件节WORKING-STORAGE SECTION. 工作存储节LINKAGE SECTION . 连接节COMMUNICATION SECTION. 通信节REPORT SECTION. 报表节1 文件节程序中每一个输入或

14、输出文件都要在文件节中定义。包括:(1) 文件名和文件属性。(2) 文件中包括的记录名。(3) 每个记录中数据的层次关系。(4) 记录中各数据项的数据形式和占内存的大小。DATA DIVISION. (数据部)FILE SECTION. (文件节)FD FILE-1. (文件名) LABEL RECORD IS OMITTED DATA RECORD IS STUDENT-SCORE. 01 STUDENT-SCORE. (记录名) 03 NAME PIC X(10). 03 NUM PIC 9(06).03 CORUSE-SCORE.05 CORUSE-1 PIC 9(03).05 CORU

15、SE-2 PIC 9(03).05 CORUSE-3 PIC 9(03).2 工作存储节包含程序所需的临时结果和初始化静态数据的数据定义。WORKING-STORAGE SECTION.77 X PIC S99 VALUE -21.01 A PIC 9(08).01 B. 03 B1 PIC X(04). 03 B2 PIC X(02). 03 B3 PIC X(02).3 连接节本节只用于子程序,包含调用程序传递的数据(即参数)。LINKAGE SECTION.01 LCMIN. COPY RCI001.01 LCMOT. COPY RCJ001.4 通信节通信节描述作为程序间接口的数据和消

16、息控制系统,用以实现与通信设备相关的消息分析的COBOL方法。属过时部分,很少使用。5 报表节报表节描述实现COBOL报告编写工具的系统所需的数据。 REPORT SECTION.RD EMPLOYEE-REPORT PAGE LIMIT 60 LINES HEADING 1 FOOTING 58 FIRST DETAIL 3.二COBOL数据的类型及层次 (一)数据类型 (1)numeric(数字)(2)numeric-edited(数字编辑)(3)alphabetic(字母)(4)alphanumeric(字母数字)(5)alphanumeric-edited(字母数字编辑)所有数据类型缺

17、省作为字符串存放在内存中,唯一可以用不同方式存储的数据类别是数字型数据(通过USAGE子句)。对数字型数据制订不同方式存储,提高计算效率。 (二)数据的层次和层号 COBOL中把有从属关系的数据用层次关系来描述。数据的层次结构是:记录组合项基本项。层次规定如下:(1)用来描述数据的层次结构的层号从01开始,到49结束,即可用的层号为0149。(2)从属项的层号比其上属项的层号高。(3)如果几个数据项都从属于同一组合项但互不从属,则这几个数据项应具有相同的层号。(4)77层项目用于某个组的数据项,如程序中的临时变量。(5)66层和88层是特殊层。88层是对特殊数据项目条件名保留的。(在讲过程部的

18、条件语句时再详细介绍。)66层是用于更明现有数据项或数据项组。(讲RENAMES语句时再介绍。) (三)限定数据 (四)FILLER关键字 需要定义部分记录,但这部分在程序中永远不会用到,则可用保留字FILLER占有这个记录部分的位置。举例:一个打印用的记录行,有固定的空格时。 如果组项目不需按名称引用,则可以用FILLER关键字作为数据名,不用生成组名,但FILLER组名中定义的每个数据项应当唯一。三. 数据部用子句(一)PIC子句PIC是PICTURE的缩写,PIC子句用来描述每一个基本数据项,定义基本项目的具体长度、格式和数据类型。01 A. 03 A1 PIC 9999. 03 A2

19、PIC AAAA. 03 A3 PIC XXXX. (A)字母数据字母数据限于字母表中使用的字符和空格符,用A描述符表示,每个字符用一个A表示。01 X PIC A(4).MOVE AB C TO X.(B) 字符数据(字母数字)字符数据可以包含计算机字符集中的任何字符。字符数据项目的格式字符串可用用A、 X、 9表示,至少要包含一个X,是非数值类型的,不能用于运算。01 X PIC X(4).01 Y PIC X(8).01 Z PIC A(5)X9(2).MOVE BOOK TO XMOVE 1234 TO XMOVE COBOL-85 TO YMOVE COBOL-85 TO Z(C)

20、字符编辑数据(字母数字)要把字符数据格式化成特定形式,则可以用字符编辑数据。字符编辑数据用特定字符表示格式。字符编辑数据项目的格式字符串可用A、 X、 9、B、0和/ 表示,至少要有一个A或X和一个B(空格)或0(0)或/(斜杠)。01 EDITED-DATE PICTURE IS 99/XXX/9999.MOVE 05May1909 TO EDITED-DATE 则EDITED-DATE的值为05/May/1909 (D)数字数据数字数据由数字组成,包括其隐含的小数点和操作符号,表示的是实际数字值, 可用于数据运算。数字数据只能包含字符9,V,S和P的组合,至少要有一个9,最多18个9,至少

21、一个V和S。1“9”描述符 表示数字存放位置, 不能放入空格,不能表示小数和负数。算进项目长度中。 描 述 数值 内存中表示 长度 数值范围 01 X PIC 999 123 123 3 0999 01 Y PIC 9(4) 4567 4567 4 09999 01 Z PIC 99 12.34 12 2 01 T PIC 99 -12.34 12 22“V”描述符 指出在数据中隐含的小数点的位置,不占内存,不算进项目长度中。运算时按隐含的小数点位置对准进行运算。显示时只显示内存中的内容,不显示小数点。不包含V的项目假设的小数点位于最右边。 描 述 数值 内存中表示 长度 数值范围 01 X

22、PIC 99V99. 87.5 8750 4 0.0099.99 01 Y PIC 9(3)V9(2). 781 78100 5 0.000999.99 01 Z PIC V999 1.234 234 3 01 T PIC 999V 123 123 33“P”描述符 表示数据项的比例因子,不占内存,不算进项目长度中。当数值很大,前面或后面若干位为0,为了节省内存可以用“P”描述符。P只能出现在开头或末尾,而不能同时在两处出现。显示时只显示内存中实际存放的数字而不显示隐含的P(即0)。 描 述 数值 内存中表示 长度 数值范围 01 X PIC 9P(4). 10000 1 1 19*10000

23、 01 Y PIC PPP99. 0.00023 23 2 0.000010.000994“S”描述符 表示一个带符号的数,符号不算如项目长度中,除非包括SIGN IS SEPARATE 从句。如有S则必须是最左边一个描述符。如无S则总是表示为正值。 描 述 数值 内存中表示 长度 数值范围 01 X PIC S9(3)V9(2) 126.89 12689 5 -999.99999.99 01 Y PIC S9(3)V9(2) -1126.897 12689 5(E) 数字编辑数据为了使输出数据更易读,可以定义数字编辑数据。数字编辑数据可以用于显示数字,但所有计算中只能用数字数据。数字编辑数据

24、项目的格式字符串只能包含字符9、Z、B、0、/、P、V、,、。、*、+、-、CR、DB的组合。它必须包含118个9字符,包含至少一个除9、P、V以外的字符。1“.”描述符表示插入小数点的位置,只能在格式字符串中使用一次,不能与V和P同时使用。01 W PIC 9(3).9(2).01 V PIC 9(3)V9(2). MOVE 123.45 TO V MOVE V TO W 错误:01 W PIC S9(3).9(2).2“,”描述符表示插入逗号的位置,尽管它通常作千位分隔符,但也可以插入格式字符串其他地方。 01 W PIC 999,999.99. MOVE 123456.78 TO W 输

25、出表示: 123,456.783“0”描述符表示插入0。4“B”描述符表示插入空格。01 W PIC 9(3).01 V PIC B9(3)B.MOVE 123 TO W.MOVE W TO V.5“+”或“-”描述符表示在输出的数值前(或后)加正号或负号。当用“+”时,不论数值为正或负一律加符号。当用“-”时,当数值为正时,数值前空一格,数值为负时,加一负号。01 X PIC S99.01 Y PIC +99.01 Z PIC -99.01 U PIC 99+.01 V PIC 99-.6插入“$”01 A PIC $999.99.01 B PIC +$999.99.01 C PIC -$9

26、99.99.7浮点插入形式(浮动插入正负号和“$”)“$”, “+” , “-”的位置是浮动的,能够使符号紧挨着数字之前输出。在编辑型数据的描述中,指定浮动插入的字符个数应足够,以免数据被截断。浮动字符前不能再出现其它符号,即浮动字符应为第一个描述字符。01 A1 PIC S9(3)V99.01 A2 PIC +.99.01 A3 PIC $.99.01 A4 PIC +.+.01 A5 PIC $.$. 错误: 01 A1 PIC +$.99.8零抑制格式(取消高位零,用“Z”和“*”描述符)01 A1 PIC S9(3)V99.01 A2 PIC ZZZZ.99.01 A3 PIC *.9

27、9.(1) 不能同时用Z浮动和+,-, $浮动 错误: ZZ$9.99 或 +ZZ.99(2)单个的+, -, $可以与Z或*连用01 A1 PIC +ZZZ.99.01 A2 PIC -*(3).99.01 A3 PIC $ZZZ.99.(3)如果使“Z”或“*”对应与所有的数字字符,当数值为0时,则所用数字位全部由空格或*代替。小数点位置上,由空格代替(用Z时),或保留“.”(用*时)。01 A1 PIC ZZZ.ZZ.01 A2 PIC *.*.(4)可与“,”连用 01 A1 PIC Z,ZZZ.99.9插入“DB”和“CR”字符 DB(DEBIT,借方)和CR(CREDIT,贷方)只

28、能用作固定插入,而且只作最后一个描述符号。当数值为负时,在编辑型数据项中最后两个字节中置DB或CR,数值为正时,此两字节留空格。01 A1 PIC $9(3).99DB.01 A2 PIC $999.99CR.10PIC子句小结 描述字符 含义 9 表示一个数字位置 A 表示一个字母位置 X 表示一个字符位置 V 表示隐含的小数点位置 S 表示数值数据带符号 P 表示十进比例换算 $ 插入货币号 . 插入小数点位置 , 插入逗号位置 + 一律加符号 - 对负数加负号,对正数前留一空格 Z 取消高位零,用空格代替 * 取消高位零,用*代替 B 插入空格 0 插入零 DB(借方) 数据为负时,在数

29、据后面插入DB,为正时,空两格 CR(贷方) 数据为负时,在数据后面插入CR,为正时,空两格(二) REDEFINES子句REDEFINES子句可以用不同数据描述同一计算机内存,适用于基本数据项和组数据项。层号 数据名1 REDEFINES 数据名2 02 A.03 A1 PIC 9(4).03 A2 PIC X(6).03 A3 PIC X(4).02 B REDEFINES A.03 B1 PIC X(5).03 B2 PIC 9(6).03 B3 PIC 99V9.02 C REDEFINES A.03 C1 PIC X(5).03 C2 PIC X(4).03 C3 PIC X(5).

30、 规则:(1)数据名2与数据名1的层号必须相同。内存中的值为数据名1和数据名2共享。(2)用REDEFINES子句的描述体应紧跟在被重新定义的数据项的描述之后,中间不能插入其它项的说明。当进行多次重定义,必须紧跟出现,而且要求使用最初定义的数据名。(3)不能用于文件节或报表节的01层,可用于工作单元节的01层。(4)用REDEFINES子句可以改变数据的结构,REDEFINES从句定义的区域长度应小于等于原区域长度。(5)REDEFINES子句应在其它子句之前。(6)使用REDEFINES子句的数据项不能使用VALUE子句赋初值。(7)数据名2不能包含OCCURS子句。 03 A PIC X(8) VALUE ABCDEFGH. 03 B REDEFINES A.

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2