cobol 实例以及入门基础.docx
- 文档编号:23298356
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:66
- 大小:50.42KB
cobol 实例以及入门基础.docx
《cobol 实例以及入门基础.docx》由会员分享,可在线阅读,更多相关《cobol 实例以及入门基础.docx(66页珍藏版)》请在冰豆网上搜索。
cobol实例以及入门基础
1.关于COBOL的初步知识
◆COBOL是CommonBusinessOrientedLanguage(通用商业语言,或称管理语言)的缩写
◆最适用于数据处理
◆比较接近于自然语言(英语)
◆COBOL的结构严谨,层次分明
◆COBOL的缺点是比较烦琐。
BatchProgram(VSAM/BatchCOBOL)
◆
COBOL
VSAM/ONLINEPGM
CICSONLINEProgram
DBS/ONLINEPGM
◆本课以ANSICOBOL1974为标准
1.1一个例子:
****************************************************************
**
*HUMANRESOURCEINFORMATIONSYSTEM*
*VERSION2.1.0COPYRIGHT(C)1998*
*DALIANNEU-BITCOSOFTWARECO.,LTD.*
*ALLRIGHTSRESERVED.*
**
****************************************************************
IDENTIFICATIONDIVISION.(标识部)
PROGRAM-ID.YTP008.(程序名)
AUTHOR.DALIANNEU-BITCOSOFTWARECO.,LTD.(作者姓名)
INSTALLATION.DALIAN.(编写场所,大连)
DATE-WRITTEN.1998/7/11.(编写日期)
DATE-COMPILED.1998/8/1.(编译日期)
SECURITY.THISPROGRAMRESTRICTEDTOPERSONNEL.
****************************************************************
**
*SYSTEM:
HUMANRESOURCEINFORMATIONSYSTEM*
**
*PROGRAM:
YTP008*
**
*TYPE:
VSAM/VSCOBOLIIBATCH*
**
*TITLE:
INFORMATIONENTRY*
**
*INPUTS:
CARDFILEQSAMFILE*
*--------*
**
*OUTPUTSHUMANRESOURCE(YTF019)*
**
*FUNCTION:
THISBATCHPROGRAMISTOSCANANIDCAMSSOURCE*
*MEMBER,EACHIDCAMSSOURCEMEMBERREPRESENTSA*
**
**
****************************************************************
****************************************************************
**
*REVISIONLOG*
****************************************************************
*CTLNO*DATE*INIT.*DESCRIPTION*
****************************************************************
**7/11/98*NEU-BITCO*INITIALINSTALLATIONBYZYB*
****************************************************************
ENVIRONMENTDIVISION.(设备部或称环境部)
CONFIGURATIONSECTION.(配置节)
SOURCE-COMPUTER.IBM-3084.(源计算机名,编译)
OBJECT-COMPUTER.IBM-3084.(目标计算机名,运行)
MEMORYSIZEIS整数(WORDS,CHARACTERS,MODLES).
SPECIAL-NAMES.CONSOLEISCRT.(专用名描述项)
DECIMAL-POINTISCOMMA.(小数点是逗号)
CURRENCYSIGNIS‘Y’.(代替$)
INPUT-OUTPUTSECTION.(输入输出节)
FILE-CONTROL.(文件控制描述体)
SELECTFD-YTI008ASSIGNTOUR-S-YTI008
*?
?
FOLLOWINGLINESHOULDBEDELETEDFORM/F
ORGANIZATIONISLINESEQUENTIAL
FILESTATUSISWS-FILE-STATUS.
-----
--------
DATADIVISION.(数据部)
FILESECTION.(文件节)
FDFD-YTI008
LABELRECORDSARESTANDARD.
01YTI008-REC.
05YTI008-IDCAMSPICX(80).
-------
--------
****************************************************************
*WORKINGSTORAGE
****************************************************************
WORKING-STORAGESECTION.(工作单元节)
01FILLERPICX(50)VALUE
'PROGRAMYTP008WORKING-STORAGEBEGINSHERE'.
*?
?
FOLLOWINGLINESSHOULDBEDELETEDFORM/F
77UR-S-YTI008PICX(30)VALUE'YTI008.DAT'.
01WORK-STORAGE.
05WS-SYS-DATEPIC9(6).
05FILLERREDEFINESWS-SYS-DATE.
10WS-SYS-YYPIC9
(2).
10WS-SYS-MMPIC9
(2).
10WS-SYS-DDPIC9
(2).
05WS-SYS-TIMEPICX(6).
05FILLERREDEFINESWS-SYS-TIME.
10WS-SYS-HHPIC9
(2).
10WS-SYS-MNPIC9
(2).
------
PROCEDUREDIVISION.(过程部)
DISPLAY'PROGRAMYTP008HASBEENSTARTED.............'UPONCRT.PERFORM1000-OPEN-FILETHRU1000-OPEN-FILE-EXIT.
------
------
STOPRUN.
1.2COBOL程序的结构(1/p4)
部(Division)一部可包括若干节
节(Section)一节可包含若干段
段(Paragraph)一段可包含若干句子
句子(Sentence)一个句子可包含若干语句
语句(Statement)制定计算机完成一定的操作
子句(Clause)制定完成某一方面的功能
每个程序应包含四个部
IDENTIFICATIONDIVISION(标识部)
主要用来指定源程序名字,也可以写入其他用作备忘的某些信息(如日期、作者等)。
ENVIROMENTDIVISION(环境部)
主要用于指出程序中用到的数据文件名与计算机系统的设备的对应关系,即把某一文件名与一个外部设备联系起来。
DATADIVISION(数据部〕
程序中所用到的全部数据(包括输入输出的数据和中间数据)都应在数据部中说明它们的类型和所占内存情况。
PROCEDUREDIVISION(过程部〕
用来给出程序要执行的指令,使计算机产生相应的操作,例如进行数学运算。
1.3COBOL源程序的书写格式(1/p6)
16
7
811
1272
7380
*
-
DAT
2000
ACALCULATION
-CALCULATION-SECTION.
MO
VE‘2000A’TOWS-CURR-POS.
ADDATOB.
DISPLAYA,B.
1-6标号区
7续行区(-)及注释行(*)
8~11A区
部头,节头,段头,层号01,层号77以及文件描述符FD应从A区开写。
12-72B区,正文
过程部的句子只能从B区开始写,而不能写到A区去。
73-80注释区(编译时被舍弃〕
2.COBOL数据表示
2.1常量(1/p13)
∙ZERO,ZEROS,ZEROES表示一个或多个零字符(16进制‘F0’)
∙SPACE,SPACES表示一个或多个空格字符(16进制‘40’)
∙HIGH-VALUE,HIGH-VALUES表示一个或多个字符具有最高值(16进制‘FF’,2进制‘11’)
∙LOW-VALUE,LOW-VALUES表示一个或多个字符具有最小值(16进制‘00’,2进制‘00’)
∙QUTE,QUTES表示一个或多个引号字符(16进制‘7F’)
(MOVEQUOTE‘CHINA’QUOTETOA)
∙ALL常量表示一个或多个该常量组成的字符串
APICX(4)
MOVEALL‘*’TOA****
MOVEALL‘AB’TOAABAB
MOVEALL‘ABC’TOAABCA
2.2层次的概念(1p16)
01WORK-STORAGE.
05WS-SYS-DATEPIC9(6).
05FILLERREDEFINESWS-SYS-DATE.
10WS-SYS-YYPIC9
(2).
10WS-SYS-MMPIC9
(2).
10WS-SYS-DDPIC9
(2).
05WS-SYS-TIMEPICX(6).
05FILLERREDEFINESWS-SYS-TIME.
10WS-SYS-HHPIC9
(2).
10WS-SYS-MNPIC9
(2).
结构:
记录组合项初等项
层次规定如下:
从01开始,到49,外层的层号小,里层的层号大。
66层用于重命名
77层一般用于定义无层次的变量
88层用于定义条件名
2.3PIC子句(1/p83)
(1)“9”描述符。
02XPIC9999.
02YPIC9(5).
描述
数值
在内存中表示
02XPIC9999
1234
1234
02YPIC9(5)
467
00467
02ZPIC99
86
86
02TPIC9(6)
11011
011011
若MOVE1.25TOZ,Z中的内容为01,小数点后的舍弃
若MOVE-1.25TOZ,Z中的内容为01,小数点后的舍弃,负号也舍弃
(2)“V”描述符。
02MPIC999V99.
说明:
1.V隐含小数点的位置,占5个字节,
MOVE215.63TOM->M=213.63
MOVE1215.637TOM->M=215.63
传送时按小数点对齐,向两边延伸
2.只能出现一个V
3.按隐含的小数点位置对准进行运算
APIC9(3)V9.A=010.0
BPIC9
(2)V9
(2).B=02.00
CPIC9
(2)V9
(2).
COMPUTEC=A+B=>C=12.00
4.显示时,不显示小数点(用编辑型显示小数点)
描述
数值
在内存中表示
02APIC99V99
87.5
8750
02TPIC999V99
498.5
49850
02WPIC9(3)V9
(2)
781
78100
03NPIC9(4)
1245.6
1245
03HPICV999
1.234
234
(3)“P”描述符。
1.01APIC9PPPPPPPPPP.
用9999999999来描述,占10个字节。
为了节省内存,低位上有若干个0的数,可以用“P”来描述。
A在内存中只占1个字节,表示1x109,也可以写成:
01APIC9P(9).2.01APICPPPP99.表示0.000099
3.
描述
内存中数字
等价的算术量
03AMOUNTPIC9(4)PPPP
1802
18020000
03WATPIC9(3)P(3)
015
15000
03WATPICP(3)9
(2)
11
0.00011
03WANPICVPP99
87
0.0087
4.P描述符在COBOL中不常用
(4)“S”描述符。
02DPICS99.(S不计数据项长度,表示负号,只能在99最前面)
描述
数值
内存中的表示
02BPICS9(4)V9
(2)
126.89
012689
02CPICS9(4)V9
(2)
-1112.34
111234
02DPICS9(4)V99
-0.25
000025
02EPICS9(4)V99
-727.18
072718
(5)字母型数据的描述”A”
02A2PICAAAA.
02A2PICA(4).
MOVE“ABCD”TOT
T
A
B
C
D
不只能存放字母和空格以外的字符,也可以用X描述
(6)字符型数据的描述”X”
01APICX
(2).
描述
送入的数据
内存中的情况
02R1PICX(4)
BOOK
BOOK
02R2PICX(8)
SIN(X)
SIN(X)__
02R3PICX(7)
COBOL-74
COBOL-7
02R4PICX(12)
DATA-NAME
DATA-NAME___
(7)编辑型数据的描述
编辑型数据项仅仅是为了输出的需要,不能用来运算
a.插入小数点“.”,用“.”描述符
77TPIC99V99
77NPIC99.99
若T的原值为12.56,MOVETTON
T
N
1
2
5
6
1
2
.
5
6
^
77TPIC999V99
77NPIC9.9
若T的原值为112.56,MOVETTON
T
N
1
1
2
5
6
2
.
5
^
b.插入小数点“,”,用“,”描述符
77APIC9(6)V9
(2).
77BPIC9(3),9(3).9
(2).
若A的原值为123456.78,MOVEATOB
A
B
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
^
c.插入“0”,用“0”描述符
77RPIC999PPPP
77TPIC9990000(或9(3)0000,或9(3)0(4))
当R的值为678000时,MOVERTOT
R
T
6
7
8
6
7
8
0
0
0
0
d.插入空格用”B”描述符
77APIC9(3)
77BPICB9(3)B
当A的值为812,MOVEATOB
A
B
8
1
2
_
8
1
2
_
e.插入正负号,用”+”或”-”描述符
描述符
数值为正
数值为负
说明
+
加”+”号
加”-”号
一律加符号
-
空一格
加”-”号
只对负值加负号
在如下情况下,MOVEB1TOB2
B2的描述及结果
B1值
+9999
-9999
9999+
9999-
+1268
+1268
_1268
1268+
1268_
-1268
-1268
-1268
1268-
1268-
0(按+0处理〕
+0000
_0000
0000+
0000_
f.插入”$”
77APIC9(3)V99
77BPIC$999.99
当A的值为186.78,MOVEATOB
A
B
1
8
6
7
8
$
1
8
6
.
7
8
^
正负号与$加在数字前面,定义如下:
77APICS9(3〕V99
77BPIC+$99.9
77CPIC-$99.9
g.浮动插入正负号和$
浮动插入$,MOVEATOB的情况
A的描述
A数值
B的描述
B内容
PIC9(3)V99
21.89
PIC$$99.99
_$21.89
PIC9(3)V99
12.62
PIC$(3)9.99
_$12.62
PIC9(3)V99
0.15
PIC$$$9.99
__$0.15
PIC9(3)V99
0.15
PIC$$$$.$$
___$.15
PIC9(3)V99
0.0
PIC$$$$.$$
____.__
PIC9(3)V99
0.05
PIC$$$$.$$
___$.05
浮动插入正负号,MOVEATOB的情况
A数值
B的描述
B内容
-1.3
PIC+++9.9
__-1.3
-1.03
PIC++++.++
__-1.03
0.0
PIC++++.++
_______
-21.86
PIC--99.99
_-21.86
10.44
PIC--99.99
__10.44
浮动字符+,-,$前不能有其他字符,如:
02A1PIC+$$.99是错误的,可以
02A1PIC$$.99+
h.取消高位0,用“Z”和“*”描述符
MOVEATOB
A的值
B的描述
B的内容
58
PICZ99
_58
85
PICZZZ.99
_85.00
0.012
PICZZZ.ZZZ
___.012
0.0
PICZZZ.ZZ
______
0.0
PIC$Z(3).ZZ
$______
0.01
PICZ(4).ZZ
____.01
1812.43
PICZ,ZZZ,ZZZ.ZZ
____1,812.43
0.0
PIC***.**
***.**
2.6
PIC**.*
*2.6
652.32
PIC*,***.**
**652.32
0.01
PIC*(4).**
****.01
2.58
PIC+Z(3).99
+__2.58
2.58
PIC-*(3).99
_**2.58
2.58
PIC$Z(3).99
$__2.58
2.58
PIC$*(3).99
$**2.58
i.插入:
”DB”和”CR”字符
DB->银行业务的借方(Debit)
CR->银行业务的贷方(Credit)
Example:
MOVEATOB.
A的值
B的描述
B的内容
512.12
$9(3).99DB
$512.12__
-512.12
$9(3).99DB
$512.12DB
138.57
$999.99CR
$138.57__
-138.57
$999.99CR
$138.57CR
结果为负时出现所需字母
2.4数据在内存中各种形式(2/p2)
1.单位
bit:
位,二进制的0或1
Byte:
字节,8个二进位
Word:
4个字节,32个二进位
半字,2个字节,16个二进位
双字,8个字节,64个二进位
2.数值型数据的存放形式:
(1)外部十进制(扩张十进制)
十进制数字EBCDIC码ASCII码
01111000000110000
11111000100110001
21111001000110010
31111001100110011
41111010000110100
51111010100110101
61111011000110110
71111011100110111
81111100000111000
91111100100111001
+1111110000111100
-1111110100111101
无符号1111111100111111
77CPIC9(3)VALUE486.
C
11110100
11111000
11110110
486
77CPIC9(3)VALUE–486.
C
11110100
11111000
11010110
48-6
最后字节前四位,有符号时“C”(1100)表长浮点示正,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- cobol 实例以及入门基础 实例 以及 入门 基础
![提示](https://static.bdocx.com/images/bang_tan.gif)