COBOL课件第3章数据部初级篇

上传人:E**** 文档编号:91233101 上传时间:2019-06-26 格式:PPT 页数:51 大小:641.50KB
返回 下载 相关 举报
COBOL课件第3章数据部初级篇_第1页
第1页 / 共51页
COBOL课件第3章数据部初级篇_第2页
第2页 / 共51页
COBOL课件第3章数据部初级篇_第3页
第3页 / 共51页
COBOL课件第3章数据部初级篇_第4页
第4页 / 共51页
COBOL课件第3章数据部初级篇_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《COBOL课件第3章数据部初级篇》由会员分享,可在线阅读,更多相关《COBOL课件第3章数据部初级篇(51页珍藏版)》请在金锄头文库上搜索。

1、COBOL 语言程序设计 第3章 数据部(1),第三章 数据部之一,3.1 数据部概述 3.2 文件节 3.3 字型字句 3.4 工作单元节,3.1数据部概述,3.1.1 数据部的作用 3.1.2 数据的层次和层号 3.1.3 数据部的结构,3.1.1 数据部的作用,数据部是COBOL源程序中的第三部分,也是唯一描述数据的部分,不可或缺,程序中涉及到的全部数据(输入,输出,中间)都要在此定义。 数据有两类: 孤立项:两个相互独立,没有内在联系的数据项,各自占据内存区域 组合项:数据相互管理,它们之间在逻辑上存在联系 (平等或从属),其各个数据项的数据类型可以不同 所有数据项都应在数据部中对其属

2、性进行描述 a. 类型 (数值/字符) 和 存储形式 (长度) b. 数据项间的关系 (层次和层号) c. 记录与文件的关系 d. 文件的书写 用数据部将数据和数据“加工”过程分离,使任务单纯清晰,便于程序的书写,修改和阅读,COBOL 所处理的数据的特点,层次的概念:数据间存在的从属关系。 记录的概念:具有一定层次关系的一组数据项的最大集 合,它是内存中具有独立逻辑含义的最大存取项,具有最高 层次。 文件的概念:多个记录可以组成一个文件。 (1)数据的层次结构:记录组合项初等项 (2)层次的规定如下: ,3.1.2 数据的层次和层号,COBOL中把有从属关系的数据用层次(level)关系来描

3、述,数据的层次结构是: 记录(record) - 组合项(group item) - 初等项(elementary item) 层次规定如下: a. 描述层次结构的层号从0149;01层最高,用来描述记录 b. 从属项的层号比其上属项的层号大,但层号不必连续 c. 如果多个数据项都从属于同一组合项但互不从属,则这几个数据项 应具有相同的层号 d. 如果多个数据项都不属于同一组合项且互不从属,则这几个数据项 可以有不同的层号 e. 一个层号为K的组合项包括它下面所有层号比它大的数据项,直到 遇到小于或等于K的层次为止 例题3.1.2,例题3.1.2,01 TIME-RECORD. 03 NAME

4、 PIC X(20). 03 WORKER-NUMBER PIC 9(6). 03 WEEKS-END-DATE. 05 MONTH PIC 99. 05 DAY-NUMBER PIC 99. 05 YEAR PIC 99. 03 HOURS-WORKED. 06 REGULAR PIC 99. 06 OVERTIME PIC 99.,一个简单的例子,你的公司有一份人员文件,包括公司所有员工的 编号和雇佣日期,日期是以YYYYMMDD的形式存放。 客户要求你提供一份员工信息报表给他,需要列 出所有员工的编号和雇佣日期,日期以MM/DD/YYYY 的形式显示出来,3.1.3 数据部的结构,(1)

5、文件节(FILE SECTION) 用来描述程序中用到的输入文件和输出文件及其记录中各 数据项的属性。 (2)工作单元节(WORKING-STORAGE SECTION) 用来描述程序中用到的中间数据项。 (3)联接节(LINKAGE SECTION) 用来描述与调用程序间发生数据传递的数据项。 (4)报表节(REPORT SECTION) 为了完成报表编制功能,此节用来规定欲输出的报表的 “体裁“,设计各报表栏的打印形式和方法等,3.2 文件节,3.2.1 文件节的作用 3.2.2 文件描述 3.2.3 记录描述 3.2.4 数据项描述 3.2.5 书写格式,3.2.1 文件节的作用,程序中

6、每个输入和输出文件都要在此描述,内容包括: a. 文件名和文件属性 b. 文件中包括的记录的名字 c. 每个记录中数据的层次关系 d. 记录中各数据项的数据形式和占内存的大小 例3.2.1,例3.2.1,DATA DIVISION. FILE SECTION. FD ACCOUNTS-FILE /内部文件名 LABEL RECORD IS STANDARD. 01 RECEIVABLE. /记录名 02 ACCOUNT PIC 9(6). /帐号 02 FILLER PIC X(3). /填充 02 AMOUNT PIC 9(6). /金额 02 NAME PIC X(60). /名字,3.2

7、.2 文件描述,文件描述体用FD (FILE DESCRIPTION)开始,而不是用层号开始,FD后面是在环境部中定义的内部文件名 LABEL RECORD IS STANDARD 只有磁盘(带)文件才有标号记录,且一律定义为标准的标号记录; LABEL RECORD IS OMITTED 打印文件是没有标号记录的,应定义为标号记录省略 DATA RECORD IS RECEIVABLE 表示文件中包含的记录名是 RECEIVABLE,该项可省略,3.2.3 记录描述,记录描述体由01层号开头,后跟记录名 如: 01 RECEIVABLE. 例3.2.1中 RECEIVABLE记录包含四个初等

8、项,每个初等项的数据类型和长度须单独定义 如果记录下面不再分项,即记录本身就是一个初等项,则可以定义成: 01 RECEIVABLE PIC X(80).,3.2.4 数据项描述,在每个初等项的名字后使用 PIC 子句描述数据. 它说明: (1)数据项是什么类型 (2)数据项占多大内存域,3.2.5 书写格式,文件描述FD必须从A区开始书写 层号01必须从A区开始书写 其它层号可以从A或B区开始书写,为使层次清楚,最好从B区开始按层次关系写成锯齿形状,如: 01 A1. 02 B1. 03 C1 PIC 03 C2 PIC 01 A2. 02 B2 PIC ,3.3 字型字句,3.3.1 概述

9、 3.3.2 数值型数据的描述 3.3.3 字母型数据的描述 3.3.4 字符型数据的描述 3.3.5 编辑型数据的描述 3.3.6 PIC子句小结,3.3.1 概述,PIC是PICTURE的缩写,用来描述初等数据项,它说明: a. 数据是什么类型的,如果是数值型的,是否包含正负号 和小数点? b. 数据项占多大内存区 c. 是否需要准备有关特殊字符 ( $,+,-,* 等 ) 如: 01 A. 02 A1 PIC 9999. 02 A2 PIC AAAA. 02 A3 PIC XXXX. 9999=9(4) AAAA=A(4) XXXX=X(4),3.3.2 数值型数据的描述(一),9 描述

10、符:表示该位置可以放入一个09之间的数字 描述 数值 内存中表示 77 X PIC 9 8 8 77 Y PIC 9(5) 456 00456 注意: a. 数值型数据项不能放入空格 b. 不能输入小数部分,如果输入则被舍弃 c. 不能输入负数,如果输入则负号被舍弃,即存入绝对值 MOVE 123.4 TO A. (右对齐),3.3.2 数值型数据的描述(二),V 描述符:指出数据结构中隐含的小数点的位置,小数点不占内存单元,例如: 描述 数值 内存中表示 77 A PIC 9V9 7.7 77 77 B PIC 9(3)V9(2) 789 78900 注意: a. V在描述符最后等价于无小数

11、点:99V = 99 b.传送数据时,按小数点对齐原则:多余数值位被截断, 不足位补0 c. 运算时,按小数点位置对准进行运算 d. 输出时,只显示内存中各字节的内容,不显示小数点,3.3.2 数值型数据的描述(三),P描述符 a. 当数值很大,如:1000000000,需要用PIC 9999999999 来描述, 共占用10个字节 b. 使用PIC 9P(9),P是隐含的不占内存单元,运算时按1109进行 只占用1个字节 c. 对于很小的数,如:0.000012,可以描述为: PIC PPPP99 注意: a. P必须出现在全部9之前或之后,如:99P99 是错的 b. P隐含指出小数点的位

12、置:9PP=9PPV,VPP9=PP9 c. 对于很小的数,如:0.000012,可以描述为: PIC PPPP99 d. 输出时不显示零,只显示实际存放的数值,3.3.2 数值型数据的描述(四),S 描述符:指定带符号的数,正负号不占内存单元 描述 数值 内存中表示 77 A PIC S99V9 -7.7 077 注意: a. S必须是最左边的一个描述符 b. S只用于运算,输出时不显示S,输出的最后一位 数字特殊,3.3.3 字母型数据的描述,A 描述符:指定字母型数据,只存放字母和空格 描述 数值 内存中表示 77 T PIC A(3) ABC ABC 注意: a. A-B, X.Y,

13、007 等都是非法的,3.3.4 字符型数据的描述(一),需要将任意COBOL字符存储到数据项时,必须使用字符型数据。 例如: Thierry Henry,2006-10-1 X 描述符:指定字符型数据 描述 数值 内存中表示 77 T PIC X(6) COBOL COBOL+1个空格 注意: a.X既可以存储字母型数据,也可以存储字符型数据 77 S PIC X(5). MOVE COBOL TO S MOVE 123 TO S b. 传送字符型数据时,用引号括起来;传送数值型数据时不使用括号 MOVE 123 TO S MOVE 123 TO S,3.3.5 编辑型数据的描述(一),例1

14、: 77 A PIC 999PPP 77 B PIC 9(4) MOVE 123000 TO A MOVE 1 TO B DISPLAY A DISPLAY B /123 /0001 例2: 在商业管理中有时需要一些特殊的符号 $3000 1,000,000 -273.15,3.3.5 编辑型数据的描述(二),. 描述符: 插入小数点,使数值型数据中隐含的小数点能在相应的位置上显示出来 77 A PIC 99V99 77 B PIC 99.99 MOVE 12.34 TO A MOVE 12.34 TO B DISPLAY A DISPLAY B /1234 /12.34 前者占用内存区4个字

15、节,后者占用5个字节 . 描述符同样遵循小数点对齐原则,3.3.5 编辑型数据的描述(三), 描述符: 插入逗号,用作分位符 77 A PIC 9999999 77 A PIC 9,999,999 MOVE 1000000 TO A MOVE 1000000 TO B DISPLAY A DISPLAY B /1000000 /1,000,000 前者占用内存区7个字节,后者占用9个字节,3.3.5 编辑型数据的描述(四),0 描述符:在数值型数据后输出相应的0 77 A PIC 999PPP 77 A PIC 999000 MOVE 123000 TO A MOVE 123000 TO B DISPLAY A DISPLAY B /123 /123000 前者占用内存区3个字节,后者占用6个字节,3.3.5 编辑型数据的描述(五),B 描述符:插入空格 77 A PIC 9(3) 77 B PIC B9(3)B MOVE 789 TO A MOVE A TO B DISPLAY A /789 DISPLAY B / 789 前者占用内存区3个字节,后者占用5个字节,3.3.5 编辑型数据的描述(六), 描述符:在数值前后插入正负号 77 A PIC 99 77 B PIC 99 MOVE 10 TO A MOVE -10 TO A MOVE 10 TO B

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号