77范文网 - 专业文章范例文档资料分享平台

COBOL谭浩强版学习笔记(2)

来源:网络收集 时间:2018-11-22 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

一.概述

1.数据有两种:孤立的数据项,组合的数据项 2.数据的层次与层号

(1)数据的层次结构:记录?组合项?初等项 (2)层次的规定如下:

用来描述数据层次结构的层号从01开始,到49。记录的最高层次定为01号。 层号小的组合项包含层号大的数据项(组合项或初等项)。

一个层号为K的组合项包括它下面所有层号比它大的组合项和初等项,直到遇到层号小于K或等于K的层次为止。

3.数据部的结构

(1)文件节(FILE SECTION)

用来描述程序中用到的输入文件和输出文件及其记录中各数据项的属性。 (2)工作单元节(WORKING-STORAGE SECTION) 用来描述程序中用到的数据项。

(3)联接节(LINKAGE SECTION)

用来描述与调用程序间发生数据传递的数据项。 (4)报表节(REPORT SECTION)

为了完成报表编制功能,此节用来规定欲输出的报表的“体裁“,设计各报表栏的打印形式和方法等。

二.文件节 1.文件描述

格式:FD 文件名 LABEL {RECORD IS/RECORDS ARE} {STANDARD/OMITTED} [DATA {RECORD IS/RECORDS ARE} 数据名] 2.记录描述

记录描述体由01层号开头,后跟记录名。

如果记录下面不再分项,即记录本身就是一个初等项,则这种描述体最简单。 三.字型子句(PIC子句) 1.数值型数据的描述 (1)“9”描述符:表示在该位置上可以放入一个0-9之间的数字 举例:02 X PIC 9999. 02 Y PIC 9(5). (2)“V”描述符:支持在数值型数据结构中隐含的小数点位置 举例:03 M PIC 999V999. (3)“P”描述符:对低位上有若干个零的数,可以用该描述符。 举例:01 A PIC 9P(9). 表示10的9次方 01 B PIC PPPP99. 表示0.000023 (4)“S”描述符:如果想在数据项中放入一个带符号的数,可以用该描述符。对于类似PIC S99的数据项,系统在内存中该数据项的最后一个字节中,放入一个标记,表示此数为负。

二.字母型数据的描述

“A”描述符:这种类型的数据项中只能放字母或空格

三.字符型数据的描述

(1)字符型数据的规定 概念:由任意的COBOL字符组成的数据,称字符型数据。 说明:I.字符型数据可以用X描述符来描述,也可以用9和A描述符来描述。 II.字母型数据可以用A来描述,也可以用X。 III.字符型数据中可以放数字。 四.编辑型描述符 1.插入小数点“.”,用“.”描述符。 2.插入逗号“,”作分位号,用“,”描述符。 3.插入零,用“0”描述符。 4.插入空格,用“B”描述符。 5.插入正负号,用“+”或“-”描述符。 6.插入“$” (1)加到数字前。 (2)在数字前加正负号和$。 7.浮动插入正负号和“$” 8.取消高位零,用“Z”和“*”描述符。 9.插入“DB“和“CR”字符:此两个描述符只能用作固定插入,而且只作最后一个描述符号。当数值为正时,此两次留两个空格;为负时,在编辑型数据项中最后两个字节中置DB或CR。 五.PIC子句小结 1.格式:PICTURE/PIC IS 描述字符串 2.每一种类型数据可以使用的描述字符如下: 数据类型 数值数据项 字母数据项 字符数据项 编辑数值数据项 编辑字符数据项 3.描述字符的含义 描述字符 含义 9 A X V S P $ . , + - Z * 表示一个数字的位置 表示一个字母的位置 表示一个字符的位置 表示隐含小数点的位置 表示数值数据带符号 表示十进制比例换算,即指明落在数据域外的十进制小数点位置 插入货币号位置 插入小数点位置 插入逗号的位置 一律加符号 对负数加负号,对正数前留一空格 取消高位零,以代空格 取消高位零,代以* 在PIC子句中允许使用的描述字符 9 V S P A 9 A X 9 P V . , B Z + - $ * 0 CR DB A X 9 B 0 B 0 DB(借方) CR(贷方) 插入空格的位置 插入零的位置 数据为负时,在数据后面出现DB,数据为正时,数据后空两格 数据为负时,在数据后面出现CR,数据为正时,数据后空两格 四.工作单元节(WORKING-STORAGE SECTION) 1.工作单元节的作用 程序中用的数据项分两部分:一部分是属于输入或输出文件的,另一部分是非输入或 输出的数据。 在工作单元节中描述的数据项也有两种形式:一种是孤立的数据项,它们是初等项。 一种是组合项。COBOL规定,孤立的数据项的描述体以层号77开头,组合项描述体以01到 49之间的一个数作层号。在次序上常先写77层,再写01-49层。 2.赋初值子句(VALUE子句) 举例:77 A PIC 99 VALUE IS 0. 77 T PIC X(9) VALUE ‘fogshadow’. 说明:只有对工作单元节中的数据项可以赋初值。 过程部之二 一.传送语句(MOVE语句)的较高技巧 1.各种类型数据间的传送 (1)同类型数据间的传送 (2)编辑传送。 注意:传送的方向必须是由数值型数据传送给编辑型数据,而不能由编辑型数据传送 给数值型数据。 (3)不同类型数据间的传送规则。 说明:Y为允许传送,N为不允许,Z为在某些情况下是正确的 横-接收项 竖-发送项 数值型 整数 非整数 数值型 整数 Y Y N N Z N Y N Y 非整数 Y Y N N Z N Y N Y 数值编辑型 Y Y N N Z N Y N Y 字母型 字符型 字符编辑型 Y N Y Y Y Y N Y Y 组合项 Y N N Y Z N N Y N Y N Y Y Y Y N Y Y Y Y Y Y Y Y Y Y Y 数值编辑型 字母型 字符型 编辑字符型 数值常量 非数值常量 ZERO SPACE 组合项 N Z N Z N Z Y Z Y Y Y Y Y Y 2.组合项的传送 (1)发送项和接收项都是组合项,而且其结构和描述均相同,则可看作将各初等项一一对应传送。 (2)如发送项与接收项长度相同,但数据结构形式不同,则将发送项的内容原样不变地自左而右顺序地传送到接收项。 3.对应传送(带CORRESPONDING子句的MOVE语句) (1)数据名的受限与受限名的传送 数据名和限定符之间用OF或IN 来连接。 举例:MOV A1 OF A OF SUM TO T1. (2)用CORRESPONDING子句的传送——对应传送(同名传送) 作用:把一个组合项中若干项传送给另一组合项中同名的项。 格式:MOVE CORRESPONDING/CORR 标识符1 TO 标识符2 二.算术运算语句的较高技巧 1.四舍五入处理(ROUNDED子句) 作用:按照数据项的描述要求对多余位截断,然后对被截断的后一位数进行四舍五入处理。 举例:ADD A,B TO C ROUNDED A+B+C值 186.7851 186.7851 186.7851 186.7851 C描述 999 999V9 999V99 999V999 有无ROUNDED 有 有 有 有 C内容 187 186.8 186.79 186.785 如果计算结果有多个,则应该分别说明哪一个接收项要进行舍入处理,ROUNDED应写在有关的接收项(结果数据项)的数据名后面,如 ADD A,B,C TO D,E,F ROUNDED,G ROUNDED,H 2.长度溢出处理 当计算结果的整数部分的长度如果比结果数据项描述所规定的整数部分长,则发生长度溢出,结果的高位部分被截断。 ON SIZE ERROR子句提供“溢出”处理。即当发生溢出错误的时候,按程序设计者事先指定的操作处理。 举例:MULTIPLY A BY B GIVING C ON SIZE ERROR DISPLAY‘SIZE ERROR‘ STOP RUN. 3.对应项间的运算(带CORRESPONDING子句的算术运算语句) 格式:ADD CORRESPONDING/CORR 标识符1 TO 标识符2 [ROUNDED] [;ON SIZE ERROR 强制语句] SUBTRACT CORRESPONDING/CORR 标识符1 TO 标识符2 [ROUNDED] [;ON SIZE ERROR 强制语句] 4.除法语句中的余数子句(REMAINDER子句) 举例:DIVIDE 1.5 INTO 7 GIVING C REMAINDER D. 三.IF语句的高级技巧 1.IF语句的嵌套 举例:(注意IF与ELSE的一一配对) IF A=B MOVE B TO T IF A=C MOVE C TO R IF X0 等价 (2)IF X IS NEGATIVE 与 IF X<0 等价 (3)IF X IS ZERO 与 IF X=0 等价 4.类型条件 格式:标识符 IS [NOT] NUMERIC/ALPHABETIC 其中,NUMERIC表示数值类型,ALPHABETIC表示字母类型。 5.条件名条件 作用:用来代替一系列繁杂的IF-ELSE语句。 格式:88 条件名 VALUE IS/ARE 常量1[THROUGH/THRU 常量2] [常量3[[THROUGH/THRU 常量4]]?? 举例:首先在数据部说明 77 X (条件变量) PIC 9(6). 88 X1 VALUE 0 THRU 99.

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库COBOL谭浩强版学习笔记(2)在线全文阅读。

COBOL谭浩强版学习笔记(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/297957.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: