COBOL概述 PART 01

合集下载

COBOL(CommonBusinessOrientedLanguage)通用商业语言.

COBOL(CommonBusinessOrientedLanguage)通用商业语言.

第一章COBOL 概述一、COBOL 的语言特点:COBOL:Common Business Oriented Language通用商业语言它是专门为数据管理而设计的计算机高级语言。

COBOL语言的主要特点:1、适用于数据处理,(科学计算、数据处理、过程控制、计算机辅助设计、人工智能等)数据处理的特点:算术计算量多而逻辑处理少,输入输出量大;数据项之间有清晰的层次关系;大量的分类排序;对打印报表的高要求及多样化等等2、通用性强使用是要注意它的特殊性,COBOL有较高的标准化程序硬件集中管理不同厂家生产的计算机系统所提供的COBOL是COBOL 的标准的全集或子集,设备的逻辑名可能不一样。

3、机构严谨、层次分明、比较接近于自然语言,便于初学者模仿。

二、COBOL的发展概况1959年12月在美国提出了世界上第一个COBOL语言文本并于1960年4月由美国政府印刷局正式发表称之为COBOL—60→COBOL61→COBOL65ANSI标准(美国国家标准化协会)ANSI COBOL68->(修订扩充)-〉ANSI COBOL-74-〉ANSI COBOL-85ISO 标准(国际标准化组织)ISO COBOL-72->ISO COBOL-78三、COBOL源程序结构及书写格式源程序示例:例(P8)将A和B的值相加其和放在B中源程序的结构部(DIVISION):标识部、环境部、数据部、过程部以部头开始以“.”和空格结束节(SECTION):每个节以节头作标识,以“.”和空格结束如WORKING_STORAGE SECTION (工作单元节)段(PARAGRAPH):每个短都有一个段名,以“”和空格结束如PROGRAM__ID EXAM2 句子(SENTENCE):用空格分开的多条语句称为句子最后以“.”和空格结束的一个语句序列语句(STATEMENT):一条完整的指令用于完成一定的操作子句(CLAUSE):用于完成某一方面的特定功能如环境部中的SELECT子句。

COBOL学习基础教程 01

COBOL学习基础教程 01

COBOL 概述1.COBOL语言的发展概述COBOL是Common Business Oriented Language(商业通用语言)的缩写。

实际上,COBOL不仅是商业数据处理的理想语言,而且广泛应用于数据管理领域,如财会工作,统计报表,计划编制,情报搜索,人事管理等。

因此COBOL也被称为“用于管理的语言“。

在计算机的应用领域中,数据处理(data processing)是应用最为广泛的一个领域。

数据处理的日益广泛应用要求人们设计出能满足实际数据处理工作中各种要求的一种计算机语言。

COBOL就是在这种形势下应运而生的。

1959年COBOL-611965年COBOL-651978年COBOL-781985年COBOL-852.COBOL语言的特点①最适于数据处理领域。

所谓数据处理是指对大量数据的收集,统计,分类和加工。

例如企业管理,库存管理,报表统计,账目管理,信息情报检索等方面都属于数据处理。

数据处理的特点是:算术计算量小而逻辑处理多;输入输出多;数据间存在着一定的逻辑关系;大量的分类排序;对打印报表要求比较高,多样化等等。

②COBOL比较接近于自然语言(英语)。

COBOL程序看起来很像一篇用英语写出来的文章。

比如 ADD A TO B 表示 A + B = B 。

COBOL采用大量英文词汇和句型,学过英语的人看COBOL程序感到通俗易懂。

③通用性强,由于COBOL语言的标准化程度较高。

一个计算机上的COBOL程序向另一计算机系统上移植是比较容易实现的。

④COBOL的结构严谨,层次分明。

每个程序分四大部分(称为部 DIVISION),每个部下面分为若干节,每个节下面分为若干段。

每一部分都有固定的程式。

⑤COBOL的缺点是比较繁琐。

无论程序大小简繁,四大部分都要写齐,对每个部进行必要的定义和说明。

因此源程序显得比较冗长。

3.COBOL程序的结构①部IDENTIFICATION DIVISION(标识部) : 主要用来指定源程序的名字,也可以写入其他做备忘的某些信息。

COBOL语言程序设计实用PPT课件

COBOL语言程序设计实用PPT课件
3 COBOL程序的编译
• 创建分区数据集ST×××.COBOL.SOURCE(COB××) 存放源程序
• 创建分区数据集ST×××.COBOL.LOAD 存放可执行模块 它的属性比较特殊: Record format = U Record length = 0 Block size = 6144
▪用引号括起来的字符串 如:‘ABCD’, ‘$123’, ‘HELLO WORLD’
▪由纯数字组成的非数值常量不能用于计算 ‘123’和123不同
▪可以使用保留字,如: ‘DATA’ ▪可以写入引号,如:
MOVE QUOTE ‘HENRY’ QUOTE TO NAME
第18页/共22页
§1.9 常量 (三)
第15页/共22页
§1.8 数据名 • 数据名相当于其他语言的变量名,代表一个具体的数据项 • 数据名长度为1-30个字符 • 只能由字母(至少一个),数字和连字符“-”组成,连字符不能出现在两端,
不能包含空格 • 不应用保留字作为数据名
123, DECO.HENRY, OWEN-, 3R, DIVISION • 尽量使用有意义的英文字或拼音,如:NAME, AGE,GONGZI • 建议:多使用连字符,如:DEPTART-NUMBER
第14页/共22页
§1.7 COBOL字符和COBOL字 • COBOL字符是指在程序中允许出现的字符
包括数字,大小写字母及15个专用符号 +,-,*,/,=,逗号,句号,分号,引号, $,(,),<,>,空格
• COBOL字是由上述字符组成的最小单位 分为 保留字: 在COBOL已经规定专门用途的字 用户字: 用户自定义的名字 如:程序名,文件名,节名,段名,数据项名等

第1章 COBOL简介

第1章   COBOL简介

第1章 COBOL简介COBOL是Common Business Oriented Language的缩写,即公用面向商业语言的意思。

在系统地学习COBOL程序设计语言之前,有必要首先对COBOL有一个大致的了解。

本章将分别从背景知识、语法格式、以及实际创建COBOL程序3个方面对其进行简要介绍。

1.1 背景知识在介绍COBOL之前,首先需要了解一下大型机的概念。

大型机也叫主机、大机、mainframe等,属于一种商用高端服务器。

目前大型机主要由IBM公司所生产,最新型号为z系列大型机。

COBOL便是用于大型机上应用软件开发的最主要的程序设计语言。

大型机上的工作大体上可以分为两类,分别为系统方向和开发方向。

系统方向的分工很多,包括使用Tivoli监控系统;使用RACF进行安全管理;使用SMS进行存储管理等等。

开发方向的市场需求相对系统方向则要大得多。

对于开发方向,主要需要掌握以下知识。

❑COBOL:最主要的程序设计语言。

❑JCL:作业控制语言,调用由COBOL编写的程序。

❑VSAM:程序中通常用到的文件类型。

❑DB2:大型机上最主要的数据库,通常以COBOL语言为宿主语言。

❑CICS:用于联机交易的中间件,通常也是以COBOL语言为宿主语言。

对于以上知识,在本书中都有详细介绍。

此外,对于大型机底层的开发,还需要掌握大型机上的汇编语言。

对于大型机汇编语言,在本书中也有具体讲解。

COBOL作为大型机上最主要的程序设计语言,迄今已有40多年的历史。

然而,经过40多年的沧桑,COBOL不仅没有被淘汰,反而在当今愈加流行起来。

关于这一点,主要应该是由以下3个因素所决定的。

❑COBOL广泛应用于广泛应用于银行业、信用卡业、保险业、制造业、航空业等等。

这些领域对于稳定性的要求都是十分高的,因此从很大程度上也保证了COBOL的不可取代性。

❑COBOL自身也在不断发展和更新中。

例如,COBOL本身主要属于面向过程的语言。

COBOL 知识点集锦(上)

COBOL  知识点集锦(上)

COBOL知识点集锦(上)cobol知识点集锦COBOL数据类型计息是银行的一项重要业务,包括日常代理客户收、付计算客户利息和年度计息等。

目前,这些工作大多数是在IBM ES9000主机的SAFE应用系统平台上进行,该系统联机程序和联机计息程序是用IBM370汇编语言实现的。

为方便汇编语言读写,在VSAM文件存储的数据中,数据存放格式进行了特殊的定义。

如日期存放采用X(3)型,01年03月15日,存入EBCD 码为X‘010315’。

在进行年度计息时,为了实现各种复杂的运算工作,一般采用COBOL语言来实现各种运算。

而采用COBOL语言读取X(3)型数据时,读出的是字符型数据,不能直接进行运算,必须转换为COBOL数据类型的数据后才能进行相应处理。

如刚才的X‘010315’,需要转换为内部十进制数据X‘0010315C’。

本文介绍一种用COBOL语言实现字符型X(3)与内部十进制数据相互转换的方法。

由X(3)型转换为内部十进制由于日期数据总是大于零,在COBOL语言的工作单元节定义变量DATE-FIRST后,再追加定义COBOL语言的最小数据单元X‘000C’,即十进制12。

由于重定义DATE-CASE为DATE -CHANGE后,DATE-CHANGE是原日期数据的1000倍,于是要在过程部将DATE-CHANGE除以1000。

首先,在COBOL程序WORKING-STORAGE SECTION.中定义如下内容:WORKING-STORAGE SECTION.01DATE-CASE.02DATE-FIRST PIC X(3).02DATE-SIGN PIC9(4)COMP VALUE12.;定点二进制数01DATE-CHANGE REDEFINES DATE-CASE PIC9(9)COMP-3.;内部十进制数据01DATE-HEX PIC X(3).;转换前数据01DATE-DEC PIC S9(7)COMP-3.;转换后数据然后,在过程部PROCEDURE DEVISION.中加入如下语句:PROCEDURE DEVISION.MOVE DATE-HEX TO DATE-FIRST.COMPUTE DATE-CHANGE=DATE-CHANGE/1000.MOVE DATE-CHANGE TO DATE-DEC.由内部十进制转换为X(3)型在进行相反的转换时,要消除因COBOL语言数据类型标志“C”引起的原日期数据前多加的一个0,所以需要将转换数据乘以10,再取出前6位数据即可。

1-COBOL简介

1-COBOL简介

123456
72 73 80 (标识部) (程序名) (环境部) (数据部) (过程部)
DISPLAY ‘HELLO,COBOL!’ STOP RUN.
COBOL程序的书写格式
ANSI格式 标准COBOL程序每行80列,被分为五个区域 第1-6列为 “标号区” ▪标号是6位数字,应从小到大,但不一定连续 ▪标号只是方便查阅程序,可以省略 第7列为 “注释标志区” , “续行区” ▪使用 “*” 表示本行是注释 ▪使用 “-” 表示本行是紧接在上一行后面 续行第12列用单引号,续行内容接着书写
创建运行JCL
运行LOAD数据集中指定的可执行模块HELLO
查看运行结果
在H队列中可以查看运行结果
第三节 简单COBOL样本程序
例1: 了解COBOL程序的基本结构 例2: 变量定义,赋值,运算及输出
29
了解COBOL程序的基本结构
变量定义,赋值,运算及输出
The system flowchart for a COBOL compilelink-and-go procedure
Figure 17-01
编译链接COBOL程序的标准JCL
***************************** Top of Data *********************************** //UTE21A JOB ,'LU KUN',CLASS=A, // MSGCLASS=X,MSGLEVEL=(1,1), // NOTIFY=&SYSUID //JOBPROC JCLLIB ORDER=IGY330.SIGYPROC //*JCLLIB一般不用指定,默认从系统库中找,如SYS1.PROCLIB, ADCD.ZOSV1R5.PROCLIB //STEP1 EXEC IGYWCLG //COBOL.SYSIN DD DSN=UTE21.COBOL.SOURCE(COB1),DISP=SHR //*Source program input for the COBOL compiler. //*COBOL.SYSLIB DD DSN=UTE21.COBOL.COPYLIB,DISP=SHR //*The copy library or libraries. //*--------------------------------------------------------------------* //LKED.SYSLMOD DD DSN=UTE21.COBOL.LOAD(COB1),DISP=SHR //*LOAD Module output //*LKED.SYSLIB DD //* DD DSN=UTE21.COBOL.OBJLIB,DISP=SHR //*the SYSLIB statement concatenates a user library with the library that’s provided by the IBM //*procedure because the COBOL program uses object modules from both libraries

cobol课件大型机基本操作

cobol课件大型机基本操作
读写文件
对文件进行读取和写入操作。
打开文件
使用适当的命令或函数打开已存在的文件。
关闭文件
完成文件操作后,使用命令或函数关闭文件。
数据传
对数据进行格式转换以满 足特定需求。
将数据从大型机导出到外 部目的地。
将数据从外部源导入到大 型机中。
数据导入
数据导出
数据转换
程序执行与调试
编译程序
01
将源代码编译成可执行程序。
解决方案
使用编译器提供的错误信息,定位问题所在,并 逐一修正。
数据处理错误
总结词
数据处理错误通常是由于数据类 型不匹配、数据范围超出限制或 数据操作不当引起的。
详细描述
检查数据类型是否匹配,数据范 围是否在允许的范围内,以及数 据操作是否正确。
解决方案
根据数据类型和范围要求,对数 据进行适当的转换和验证,确保 数据操作的正确性。
执行程序
02
运行编译后的程序并查看输出结果。
调试程序
03
使用调试工具检查程序中的错误并进行修复。
04 常见问题与解决方案
程序编译错误
1 2 3
总结词
编译错误通常是由于语法错误、拼写错误或结构 问题引起的。
详细描述
检查代码中的拼写错误、语法错误和结构问题, 确保所有语句都符合COBOL语法规则,并且程 序结构清晰。
系统运行错误
总结词
系统运行错误通常是由于系统资源不足、系统故障或外部因素引 起的。
详细描述
检查系统资源是否充足,系统是否正常运行,以及是否存在外部干 扰因素。
解决方案
合理分配系统资源,确保系统正常运行,同时采取措施避免外部干 扰因素对系统的影响。

01-Cobol-基础知识讲义

01-Cobol-基础知识讲义

第一章关于COBOL的初步知识一. COBOL语言的特点COBOL是Common Business-Oriented Language(公用面向商业的语言)的缩写,主要供数据处理、数据收集及分析之用。

COBOL自60年代初开始广泛应用于计算机应用领域(商业和其他领域)。

事实上,除了商业之外,各种管理工作都广泛使用COBOL,如各种统计工作,财会工作,企业计划编制,作业制度,情报检索,人事管理等。

COBOL 针对商业世界的使用,是真正商用应用程序开发的首选语言。

1.适于数据处理领域。

2.采用英语语法的高级语言,可读性、可维护性、可移植性较强。

3.通用性强,标准化程度较高。

4.结构严谨,层次分明。

5.缺点是比较繁琐。

二.最简单的COBOL程序介绍例1:IDENTIFICATION DIVISION.(标识部)PROGRAM-ID. EXAM1.(程序标识段)ENVIRONMENT DIVISION.(设备部)DATA DIVISION.(数据部)PROCEDURE DIVISION.(过程部)A. DISPLAY ‘THIS IS A COBOL PROGRAM.’.STOP RUN.例2:IDENTIFICATION DIVISION.(标识部)PROGRAM-ID. EXAM2.(程序标识段)ENVIRONMENT DIVISION.(设备部)DATA DIVISION.(数据部)WORKING-STORAGE SECTION.(工作单元节)77 A PICTURE IS 9(3).(对A进行描述)77 B PICTURE IS 9(3).(对B进行描述)PROCEDURE DIVISION.(过程部)S. ACCEPT A.(输入A值)ACCEPT B.(输入B值)ADD A TO B.(A+B->B)DISPLAY A,B.(显示A和B值)STOP RUN.三.COBOL程序的结构1.部每个程序都包括四个部:IDENTIFICATION DIVISION(标识部)提供程序的一般性文档说明,主要用来指定源程序名。

cobol常用知识

cobol常用知识

コボル基本語法一、COBOL基本語法compla項目使用的Cobol是Micro Focus 公司生产的Cobol,采用在HP-UNIX上运行。

一、cobol的书写格式(每行)1、前6列为序号区(一般不编辑)2、第7列为标示列,仅可以写如下几个标示符。

a. “*”注释符(注释当前行的代码)b “/“注释符(注释当前行的代码,程序编译时,强制程序清单另起一页,不建议使用)c “-“字符串连接符d “D”DEBUG行标示符(程序为DEBUG模式时,标有该标示符的语句行代码执行,否则和注释行效果一样)3、第8列---11列为A区,包括以下内容。

a 部、节名。

b 层号014、第12列---72列为B区,过程部的程序必须写在B区中。

5、第72以后部分不能编辑。

二、cobol的语法结构(几大部分)1、标示部(IDENTIFICATION DIVISION):提供程序的一般性文档说明,本项目只保留程序名(PROGRAM-ID)一项。

2、环境部(ENVIRONMENT DIVISION): 提供程序外部有关的项目。

a.配置节(CONFIGURATION SECTION)①.指定源计算机(SOURCE-COMPUTE).②.目标计算机(OBJECT-COMPUTE).③.设置debug模式(SOURCE-COMPUTE H9000V WITH DEBUGGING MODE)④. 指定读环境变量设置.SPECIAL-NAMES.ENVIRONMENT-VALUE IS CNS-ENV-PARMENVIRONMENT-NAME IS CNS-ENV-NAME.b. 输入输出节(INPUT-OUTPUT SECTION).文件的物理路径的定义。

方法一:(写死文件路径)SELECT FILE-LOG ASSIGN"/usr3/WSI/commonlog/WSI1101.log"ORGANIZATION IS LINE SEQUENTIAL.方法二:(过程部中动态指定文件)SELECT FILE-LOG ASSIGN TO SELECT-FILEORGANIZATION IS LINE SEQUENTIAL.在数据部定义字符串变量SELECT-FILE,在文件FILE-LOG打开前动态指定文件路径。

cobol基本语法概要

cobol基本语法概要

cobol基本语法(2009-12-04 11:03:14)cobol基本语法REDEFINES可以用不同的变量描述同一内存。

01 PART_RECODE USAGE DISPLAY03 PART-TYPE PICTURE...03 PART_TYPE_A.05 PART_NUMBER PICTURE...05 PART_COST PICTURE...03 PART_TYPE_B REDEFINES PART_TYPE_A.05 UPC_CODE PICTURE...03 PART_TYPE_C REDEFINES PART_TYPE_A.05 ISBN PICTURE...根据PART_TYPE决定用PART_TYPE_A还是PART_TYPE_B还是PART_TYPE_C。

规则:PART_TYPE_B和PART_TYPE_C长度不能大于PART_TYPE_A。

数据项不能有VALUE。

01层不能用REDEFINES.PART_TYPE_B和PART_TYPE_C中不能有OCCURS.PICTURE定义基本项目的具体长度,格式,数据类型。

可以简写成PIC.格式字符串最多30个字符,可以包含下列字符:A 字母A-Z,a-z,空格B 插入空格P 标量字符,代表字段中不显示的小数点位置S 代数符号,实际显示取决于项目的USAGEV 小数点位置X 任何字符Z 抑制前头的0并转换成空字符0 插入09 数字0~9/ 插入/, 插入,(逗号不能作为字符串的最后一位,最后时逗号是分隔符). 插入.* 抑制前头的0并转换成*+ 正值插入+,负值插入-- 正值插入空格,负值插入-$ 插入美元号CR 正值插入两个空格,负值插入CRDB 正值插入两个空格,负值插入DB例子:03 VAR PIC AAAAA. VAR变量长度为5个字符,不能有数字,等价于03 STATE PIC A(5)。

输入ASDFG ,显示ASDFG03 VAR PIC XXXXX. VAR变量长度为5个任意字符。

cobol语法

cobol语法

COBOL语言第一章COBOL语言的概述COBOL是Common Business Oriented Language (通用商业语言)缩写。

COBOL程序的结构每一个程序都应包括四个部分:IDENTIFICATION DIVISION (标识部)用来指定源程序名和作为备忘的某些信息。

ENVIRONMENT DIVISION (环境部)指出程序中用到的数据文件名与计算机系统的设备对应关系指定程序所用内存区大小等。

DATA DIVISION (数据部)程序中所用到的全部数据包括输入输出和中间数据。

PROCEDURE DIVISION (过程部)程序要执行的指令,即主处理部分。

程序中四大部分缺一不可。

节和段除标识部没有节,每个部下面有若干个节(SECTION)。

每一节下面可包括若干段。

数据部下面有一个WORKING-STORAGE SECTION作单元节。

程序结构示意如下:IDENTIFICATION DIVISION段┇┇ENVIRONMENT DIVISION节段┇节┇DATA DIVISION节描述体┇┇┇PROCEDURE DIVISION(节)段┇┇书写格式COBOL 程序纸每行有80列,一行分为几个区COBOL 每个句子后要加句号“.” 象 IF ELSEEND-IF. 要在END-IF 后面加句号,中间不加。

不区分大小写运算符和等号左右两边留空格。

( )左右两边留空格。

表意常量(又称字义常量,象征常数或赋形常数。

Figurative Constant )它用某些英文字(保留字)来代表某些特定的常值。

如用ZERO 代表数值0,用SPACE 代表空格。

从这些字的意思可以知道它们所代表的是什么值,因此叫表意常量或字义常量。

MOVE ZERO TO AMOVE 0 TO A表意常量可以出现在程序中使用数值常量或非数值常量的地方。

读者仔细阅读表1.2所列举的用法举例,就可清楚表意常量的作用。

COBOL概述

COBOL概述

COBOL概述COBOL概述什么是COBOL语⾔:COBOL是Common Business Oriented Language的缩写,是⾯向商业通⽤编程语⾔。

它是专门为商业数据处理⽽设计的计算机⾼级程序语⾔。

⼴泛⽤于数据管理领域。

应⽤于多个⾏业如:银⾏,证券,⾦融,制造,等等。

COBOL程序的基本结构:标识部(IDENTIFICATION DIVISION)⽤来标识程序名称,记录程序的⽂档记录住处如作者和⽇期等。

环境部(ENVIRONMENT DIVISION)⽤来描述程序运⾏和编译的计算机环境,内部数据⽂件与系统设备的对应关系。

数据部(DATA DIVISION)定义程序中所有数据的类型和所占内在的⼤⼩。

过程部(PROCEDURE DIVISION)编写程序要执⾏的语句,是程序的核⼼。

部下设置节,节下设置段或描述体,段下或节⼀包含句⼦。

节是由⼀个或者多个段组成的。

节的定义从⼀个节名开始到下⼀个节名或⽂本结束为⽌。

定义格式:节名 SECTION(节名分为系统定义和⽤户定义两种。

)段由⼀个或多个句⼦组成,段的定义从段名开始到下⼀个段名或⽂本结束为⽌。

定义格式:段名.(段名+点)(段名分为系统定义和⽤户⾃定义两种)⽂件描述体只能在数据部中定义,⽤于描述外部⽂件的属性及其记录的格式。

定义格式:FD ⽂件名. (⽂件描述体⽤FD(file definition)语句定义)。

句⼦是完整的指令,⽤相应的动词表⽰其操作,以⼀个句号加⼀个以上的空格来结束。

COBOL程序的书写区域标准COBOL程序每⾏80列,被分为五⼈区域。

第01——06列为“标识区”标号是6位数字,应从⼩到⼤,但不⼀定连续,标号只是⽅便查阅程序,可以省略。

第7列为“注释区”“*”:表⽰本⾏为注释⾏,⽤于注释程序说明。

第08——11列为“A区”程序中⼀列语句必须从该区开始书写:部名、节名、段名,描述符(FD),01和07层。

第12——72列为“B区”程序正⽂部分,过程部语句必须从该区开始书写。

COBOL

COBOL

COBOL语言第一章COBOL概述COBOL简介1.COBOL是Common Business-Oriented Language(通用商业语言)※COBOL-85标准,IBM COBOL(大型机)、FUJITSU COBOL(PC)COBOL构成1.IDENTIFICATION DIVISION (标识部)用来指定源程序名和作为备忘的某些信息2.ENVIRONMENT DIVISION (环境部)指出程序中用到的数据文件名与计算机系统的设备对应关系,指定程序所用内存区大小等3.DATA DIVISION (数据部)程序中所用到的全部数据包括输入输出和中间数据4.PROCEDURE DIVISION (过程部)程序要执行的指令,即主处理部分※程序中四大部分缺一不可节和段除标识部没有节,每个部下面有若干个节(SECTION)。

每一节下面可包括若干段。

IDENTIFICATION DIVISION段┇┇ENVIRONMENT DIVISION节段┇节┇DATA DIVISION节描述体┇┇┇PROCEDURE DIVISION(节)段┇┇不区分大小写例:ABC 等同于AbcCOBOL每个句子后要加句号“.”例:PERFORM 1000-INIT.※但在特殊的语句体里是不能写句号、包括:条件、循环、调用例:IF IN1-AREA = HIGH-VALUEMOVE FLG-ON TO FLG-ENDEND-IF.运算符和等号左右两边留空格。

()左右两边留空格。

例:IF (IN1-AREA = HIGH-VALUE)OR (IN2-AREA = SPACE)……END-IF.COBOL程序纸每行有80列,一行分为几个区标识部A.功能:提供程序的一般性文档说明B.元素①.IDENTIFICATION DIVISION.//部起始标识②.PROGRAM-ID.XXXXX.//程序名称③.AUTHOR.XXXXX.//作者名称④.INSTALLAION.XXXXX.//公司名称⑤.DATE-WRITTEN.XXXXX.//修改日期⑥.DATE-COMPILED.XXXXX.//编译日期⑦.SECURITY.XXXXX.//安全信息环境部A.功能:提供与程序外部有关的信息B.元素①.ENVIRONMENT DIVISION.//部起始标识②.CONFIGURATION SECION.//配置节标识③.SOURCE-COMPUTER.XXXXXX.//程序编译计算机型号④.OBJECT-COMPUTER.XXXXXX.//程序运行计算机型号⑤.SPECIAL-NAMES.XXXXXX.//外部设计、货币符号定义⑥.INPUT-OUTPUT SECTION.//输入节标识⑦.FILE-CONTROL.//文件信息描述段标识⑧.I-O-CONTROL.//文件信息描述段标识数据部A.功能:提供程序变量的存放位置B.元素①.DATA DIVISION.//部起始标识②.FILE SECTION.//文件节标识③.WORKING-STORAGE SETION.//工作存储节标识④.LINKAGE SECTION.//连接节标识⑤.COMMUNICATION SECTION.//通讯节标识⑥.REPORT SECTION.//报表节标识过程部A.功能:即程序逻辑处理部分、包含过程性语句B.元素①.PROCEDURE DIVISION.//部起始标识②.XXXXXX SECTION ......EXIT//子过程节标识数据常量1.ZERO:表示一个或多个零字符2.SPACE:表示一个或多个空格字符3.HIGH-VALUE:表示一个或多个具有“最高值”的字符(二进制11111111)4.LOW-VALUE:表示一个或多个具有“最高值”的字符(二进制00000000)数据类型描述字符例:03 CON-IN1-KENSU PIC X(17).03 CON-IN2-KENSU PIC S9(8).数据定义1.数据层在COBOL中数据项的定义是由若干个层来组织的,即:一个数据项的定义要包括(层号、数据项名称、定义语句、数据类型及数据长度等部分组成)层号:从01~49层用列描述具有层次机构的数据项,77层用来描述独立的数据项,66和88是特殊层2.PICTURE(PIC)语句//数据项目定义语句格式:层号数据项名称PIC类型长度VALUE初始值例:01 FLG-DEFINE.03 FLG-ON PIC X VALUE 'Y'.03 FLG-OFF PIC X VALUE 'N'.03 FLG-FIRST PIC X.03 FLG-END PIC X.03 FLG-EOF1 PIC X.03 FLG-SELECT1 PIC X.03 FLG-SELECT2 PIC X.3.FILLER语句//用来临时占用不使用的数据位置格式:层号FILLER PIC类型长度例:01 WRK-AREA-DEFINE.03 WRK-SAGYO PIC 9(8).03 FILLER REDEFINES WRK-SAGYO.05 WRK-SAGYO-Y PIC 9(4).05 WRK-SAGYO-MD PIC 9(4).05 FILLER REDEFINES WRK-SAGYO-MD.07 WRK-SAGYO-M PIC 9(2).07 WRK-SAGYO-D PIC 9(2).03 FILLER REDEFINES WRK-SAGYO.05 WRK-SAGYO-YM PIC 9(6).05 FILLER PIC 9(2).4.REDEFINES//对上层已知长度的数据项目进行,项目拆份,定义程多个数据项格式:层号FILLER REDEFINES 上层数据项名称例:01 WRK-AREA-DEFINE.03 WRK-SAGYO PIC 9(8).03 FILLER REDEFINES WRK-SAGYO.05 WRK-SAGYO-Y PIC 9(4).05 WRK-SAGYO-MD PIC 9(4).05 FILLER REDEFINES WRK-SAGYO-MD.07 WRK-SAGYO-M PIC 9(2).07 WRK-SAGYO-D PIC 9(2).03 FILLER REDEFINES WRK-SAGYO.05 WRK-SAGYO-YM PIC 9(6).05 FILLER PIC 9(2).5.OCCURS语句//指定数据项位固定项目数或可变项目数的表格(数组)格式:层号数据项目名称OCCURS 维数01 MRG-TBL-DEFINE.03 MRG-TBL OCCURS 2.05 MRG-FLG PIC X.05 MRG-KEY PIC X(12).03 MRG-END PIC X VALUE HIGH-VALUE.**MOVE FLG-ON TO MRG-FLG(1)MRG-FLG(2).6.COPY语句//将文件从源库中复制到COBOL源程序中格式:COPY 文件名称例:COPY XRA240※在这里可以把COPY语句理解程C语言中INCLUDE语句第五章逻辑语句操作语句1.MOVE语句//将数据从发送项目复制到一个或几个接收项目例:MOVE AA TO BB2.ADD语句//将两个或几个数字操作数相加例:ADD AAA TO BBBADD 20.00, AB GIVING AD ON SIZE ERROR GO TO ERROR.3.SUBTRACT语句//从一数据中减去一个或几个操作数例:SUBTRACT AP FROM ADSUBTRACT 20.00, AP FROM AO GIVING MM ON SIZE ERROR GO TO ERROR.4.COMPUTE(+、-、*、/)语句//算术表达式例:COMPUTE TAX = A1 * A2 + B35.DISPLAY语句//将数据写入输出设备例:DISPLAY “XXXXX”逻辑语句1.IF语句// IF语句测试一个条件并根据条件值执行两种语句系列之一IF 条件判断执行语句ELSE执行语句END-IF例:IF FLG-END = FLG-OFFPERFORM 5000-PROC-DETAILADD CON-1 TO CTR-SYORIELSEIF CTR-SYORI NOT = ZEROPERFORM 5100-PROC-LASTEND-IFEND-IF.2.EVALUATE语句// EVALUATE语句根据一列表大式的值,从一大组语句中选择一组要执行的语句EVALUATE 条件判断WHEN 条件值执行语句WHEN 条件值执行语句WHEN OTHER执行语句END-EVALUATE例:EVALUATE SQLCODEWHEN CNST-SQL-NORMCONTINUEWHEN OTHERMOVE CON-SQL-OPEN TO PRM2-ACA903-02MOVE CON-TBL-A025 TO PRM2-ACA903-01PERFORM 7500-DB-ABENDEND-EVALUATE.4.PERFORM语句//PERFORM语句使控制传递到另一个过程,并执行后返回A.PERFORM节名称例:PERFORM 4020-EDIT-FIRST.B.PERFORM 节名称次数TIMES例:PERFROM EDIT-FIRST 10 TIMES.C.PERFORM 节名称UNTIL 条件判断例:PERFORM UNTIL FLG-END = FLG-ONPERFORM 2000-MAINEND-PERFORM.D.PERFORM 节名称TEST BEFORE(AFTER) VARYING 计数器FROM 1 BY 1 UNTIL 计数器> 计数例:PERFORM WRITE-FIRST TEST BEFORE VARYING AA1 FROM 1 BY 1 UNTIL AA1 > 10控制语句1.GOTO语句//GOTO语句将控制转入过程部中的另一个位置GOTO标示例:LB-EX.………………GOTO LB-EX.2.CONTINUE语句// CONTINUE语句什麽也不干,只是一个语句占位符3.STOP语句//STOP语句结束程序或暂停程序直到操作员将其重新启动4.EXIT语句//EXIT语句什麽也不干,作为段中唯一的语句,提供程序中插入段名的位置第六章逻辑处理子程序1.子程序类型:外部子程序、内部子程序2.作用区域:包容、并行(COMMON)3.参数区定义:数据部的数据节A.数据部:WORKING-STORAGE SETION4.程序调用:PERFORM、CAL ......USING ......表格操作1.表格类型:固定长度、可变长度2.表格定义:数据部的数据节A.数据部:OCCURS、ASCENDING、DESCENDINGB.表格操作:SET、SEARCH、PERFORM......VARIES文件访问1.文件类型:顺序、关系、索引2.信息定义:环境部的文件节、数据部的文件节A.环境部:INPUT-OUTPUT SECTION(FILE-CONTROL、I-O-CONTROL) B.数据部:FILE SECTION(FD)3.文件操作:过程部的文件节A.OPEN、CLOSEB.READ、WRITE数据库访问1.DB类型:DB2、ORACLE、SQL SERVER2.缓冲区定义:数据部的数据库节A.数据部:WORKING-STORAGE SETION3.数据操作:过程部的数据库节A.EXEC SQL ......END-EXECB.OPEN、CLOSE、SELECT...。

COBOL教程

COBOL教程

/index.htmlCOBOL 教程- -Tag:COBOL教程目录CHAPTER 1 COBOL 概述CHAPTER 2 过程部初步CHAPTER 3 标识部和环境部CHAPTER 4 数据部之一CHAPTER 5 过程部之二CHAPTER 6 过程部之三CHAPTER 7 各部之间的关系及程序举例CHAPTER 8 联机及批量程序的一些差异CHAPTER 9 COBOL 编程规范CHAPTER 1 COBOL 概述COBOL 是Common Business Oriented Language 的缩写。

它不仅是商业数据处理的理想语言,而且广泛用于数据管理领域,因此COBOL 语言也被称为“用于管理的语言”。

一。

COBOL 语言的特点最适于数据处理领域:算数计算量少而逻辑处理量多,输入输出量大,数据间存在着一定的逻辑关系,大量的分类排序;COBOL比较接近英语,容易懂;通用性强,易移植, COBOL结构严谨,层次分明。

二。

COBOL的组成部分:1。

标识部(IDENTIFICATION DIVISION):用于标识程序名。

2。

环境部(ENVIRONMENT DIVISION):用于说明程序运行的环境。

3。

数据部(DATA DIVISION):用于说明程序中涉及的所有数据。

4。

过程部(PROCEDURE DIVISION):是程序的核心部分,它决定计算机应进行什么操作。

三。

最简单的COBOL 程序举例:COL 1 ---6 7 8 12---72 73---80IDENTIFICATION DIVISION。

PROGRAM-ID。

PSAMPLE1。

ENVIRONMENT DIVISION。

DATA DIVISION。

PROCEURE DIVISION。

DISPLAY …THIS IS A COBOL PROGRAM.‟STOP RUN。

四。

COBOL 源程序的书写格式:第1 至6 列为“标号区”。

COBOL语言

COBOL语言

COBOL语⾔COBOL 英⽂缩写: COBOL (Common business Oriented Language)中⽂译名: COBOL语⾔解释: ⼀种适合于商业及数据处理的类似英语的程序设计语⾔。

这种语⾔可使商业数据处理过程精确表达。

COBOL(⾯向商业的通⽤语⾔,⼜称为企业管理语⾔、数据处理语⾔等,Common Business Oriented Langauge)是最早的⾼级编程语⾔之⼀,是世界上第⼀个商⽤语⾔。

1 COBOL的历史1959年5⽉,五⾓⼤楼委托格雷斯?霍波(G.Hopper)博⼠领导⼀个委员会并由Rear Admiral Grace Hopper公司主持开发,并于1961年由美国数据系统语⾔协会公布。

正式发布于1960年4⽉,称为Cobol-60。

1959年12⽉出现了第⼀个 COBOL语⾔⽂本,并于1960年4⽉正式发表,因此也被称为COBOL-60。

1968年美国国家标准委员会ANSI⼜通过了新的标准ANSI COBOL X.3.23-1968。

1972年国际标准化组织ISO将其作为ISO COBOL-72。

1974年ANSI对COBOL-68作出了修订扩充,形成了ANSI COBOL X3.23-1974,随后1978年ISO采⽤其形成ISO COBOL-78,后来⼜提出了ANSI X3.23-85,增加了很多结构化程序设计的内容,ISO标准ISO1989:1985也采⽤了该标准。

COBOL标准还在不断地改进和完善,最新的标准COBOL 2002主体已经于2002年12⽉出版,其他部分还在不断地完善之中。

现在最新的版本是Cobol-2002。

1963年,美国国家标准研究所(ANSI)进⾏了标准化,但是ANSI标准很少被遵循;因此,COBOL程序只是部分可移植的。

2 COBOL的重要性经过40多年的不断修改、丰富完善和标准化,COBOL已发展为多种版本的庞⼤语⾔,在财会⼯作、统计报表、计划编制、情报检索、⼈事管理等数据管理及商业数据处理领域,都有着⼴泛的应⽤。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

COBOL 概述1.COBOL语言的发展概述COBOL是Common Business Oriented Language(商业通用语言)的缩写。

实际上,COBOL不仅是商业数据处理的理想语言,而且广泛应用于数据管理领域,如财会工作,统计报表,计划编制,情报搜索,人事管理等。

因此COBOL也被称为“用于管理的语言“。

在计算机的应用领域中,数据处理(data processing)是应用最为广泛的一个领域。

数据处理的日益广泛应用要求人们设计出能满足实际数据处理工作中各种要求的一种计算机语言。

COBOL就是在这种形势下应运而生的。

1959年COBOL-611965年COBOL-651978年COBOL-781985年COBOL-852.COBOL语言的特点①最适于数据处理领域。

所谓数据处理是指对大量数据的收集,统计,分类和加工。

例如企业管理,库存管理,报表统计,账目管理,信息情报检索等方面都属于数据处理。

数据处理的特点是:算术计算量小而逻辑处理多;输入输出多;数据间存在着一定的逻辑关系;大量的分类排序;对打印报表要求比较高,多样化等等。

②COBOL比较接近于自然语言(英语)。

COBOL程序看起来很像一篇用英语写出来的文章。

比如 ADD A TO B 表示 A + B = B 。

COBOL采用大量英文词汇和句型,学过英语的人看COBOL程序感到通俗易懂。

③通用性强,由于COBOL语言的标准化程度较高。

一个计算机上的COBOL程序向另一计算机系统上移植是比较容易实现的。

④COBOL的结构严谨,层次分明。

每个程序分四大部分(称为部 DIVISION),每个部下面分为若干节,每个节下面分为若干段。

每一部分都有固定的程式。

⑤COBOL的缺点是比较繁琐。

无论程序大小简繁,四大部分都要写齐,对每个部进行必要的定义和说明。

因此源程序显得比较冗长。

3.COBOL程序的结构①部IDENTIFICATION DIVISION(标识部) : 主要用来指定源程序的名字,也可以写入其他做备忘的某些信息。

ENVIRONMENT DIVISION(环境部):指出程序中用到的数据文件名与计算机系统的设备的对应关系,即把某一文件和某一外部设备联系起来。

此外还指定目标程序中使用的专门控制方法及程序所用内存的情况。

DATA DIVISION(数据部):程序中所用到的全部数据(包括输入输出的数据和中间数据)都应在数据部中说明他们的类型和所占内存的情况。

PROCEDURE DIVISION(过程部):用来给出程序要执行的指令,使计算机产生相应的操作。

例如进行运算或者其他。

以上四个部分只有过程部是执行部分。

计算机的任何一个操作都是由过程部中的指令给出的。

因此,过程部是整个程序的核心部分,由它决定程序的每一步操作。

其他三部分是对过程部中用到的文件,数据项和程序执行时的环境等作必要的描述和说明。

②节(SECTION)和段(PARAGRAPH)除标识部以外,每一个部的“部头”的下面,可以由若干各节,每个节以“节头”做标识。

每一节下面又可以包括若干个段。

每个段都有自己的名字。

标识部下面不设节直接设段。

例:1—3-1③句子(SENTENCE),语句(STATEMENT)和子句(CLAUSE)在过程部中,每一段由若干个句子组成,一个句子是由句号加上一个以上空格组成的。

句子又由语句组成。

一个语句中包含若干个子句,每个子句也有一个动词(但这个动词往往是省略的),它指定某一方面特定的功能。

④描述体在数据部中有若干节。

每个节中有若干个描述体(DESCRIPTION ENTRY),每个描述体由若干个子句构成。

4.COBOL源程序的书写格式①ANSI书写格式图1-4-1(1)1〜 6列,为“标号区”。

可以填写6个数字。

标号由程序编写者自定,一般用前三列表示页号,后三列表示本页中的行号。

标号应按由小到大的顺序排列,但不一定连续。

标号只是为了编程人员查阅程序时方便而设的。

在程序编译时是按程序书写的顺序进行的,而不是按标号大小顺序进行的。

(2)第7列,是“续行标志区”。

如果在第7列上写上连接符“-”,则表示本行是紧接在上一行后面的。

如果在第7列上写上连接符“*”,则表示此行为注释行。

(3)第8〜11列,称为“A区”,第8列称为“A区边界”。

COBOL规定,程序的有些内容,例如部头,节头,段头,层号01,层号77以及文件描述符FD等应从A区开始书写,但并不一定要从第8列开始。

(4)12〜72列,称“B区”。

写程序的正文部分。

(5)73〜80列,为“注释区”。

程序员如果想对源程序的某行做简单的说明,可写在这8列中,例如编号,注明其作用。

②终端格式(1)终端格式的每一行可以用到256列,即源程序每行最大长度为256个字符,在输入字符占满屏幕上的一行(80列)后不要按回车键,继续输入,直到输入完本行全部字符为止。

(2)A区占1〜4列。

第一列可以作为续行标志区。

当第一列写上连接符“-”,这表示本行是上一行的续行,而当第一列写上“*”,表示此行是注释行。

需要说明的是,当第一列作为续行标志区时,A区将占用2〜5列,而B区相应为6〜256列。

(3)B区占用第5〜256列。

5.C OBOL字符和COBOL字①COBOL字符:每一种计算机系统都规定了所允许使用的字符。

并非所有的字符都能在COBOL程序中使用。

两种字符集:(1)系统字符集:指的是在输入输出操作中允许出现的字符的集合。

(2)COBOL字符集:指的是在COBOL程序中允许出现的字符(用引号引起来的字符串中的字符除外)。

COBOL字符集包括以下字符:数字:0〜9大写字母:A〜Z小写字母:a〜z专用字符: + ,-,*,/等,共十五个。

②COBOL字COBOL字是由COBOL字符组成的,如同英文字母组成英文单词一样。

COBOL字是为了表达一定的意思,由字符组成的最小单位。

如:DIVISION,SECTION.COBOL规定,每个COBOL字不允许超过30个字符。

COBOL字分为两类:保留字和用户字(非保留字)。

(1)保留字是指在COBOL中已规定做专门用途的字,他们代表特定的含义。

这些保留字不能另做它用。

(2)除了保留字以外,程序设计者还可以自己根据需要指定某些名字,例如程序名,文件名等。

这些都属于用户字。

6.数据名①数据名的命名规则(1)每个数据名的长度为1〜30个字符之间。

(2)只能由字母,数字和连接符“-”组成,其中至少应有一个字母。

连接符只能出现在数据名的中间,不能出现在数据名的两端。

(3)数据名不能出现空格。

(4)不能选择COBOL的保留字作为用户定义的数据名。

(5) COBOL并不要求数据名是具有意义的英文字。

7.常量①数值常量(Numberical Literal)数值常量即数学上的常数。

如+1234,345,-21,34.55等数值常量是由正负号,小数点,数字0〜9所组成的字符序列。

其中:(1)小数点不能多于一个,而且不能出现在常数的最右边。

(2)数值常量的长度不能超过18位数字。

(3)至少要有一个数字,不能多于一个符号。

(4)数字之间不能有空格。

②非数值常量(Nonnumberical Literal)只用引号扩起来的字符串。

如‘ABCD’,’123’,’$123’等③表意常量(Figurative Constant)它用某些英文字(保留字)来代表某些特定的常值。

如用ZERO代表0等。

从这些字的意思可以知道他们代表的是什么,因此叫表意常量或字意常量。

表1-7-1表意常量可以出现在程序中使用数值常量或非数值常量的地方。

注意:(1)表意常量的单数形式和复数形式是等价的。

(2)如果将一个表意常量传递给一个数据项,则表意常量的字符长度由数据项长度决定。

(3)表意常量不和数据项发生联系则认为表意常量的字符长度为1。

8.COBOL所处理的数据的特点①层次的概念在数据处理中,许多数据并不是相互孤立的,他们之间有时存在着从属关系,我们把这种关系成为层次结构。

②记录和文件记录(RECORD)是具有一定层次关系的一组数据项的最大集合。

它是内存中具有独立逻辑含义的最大可存储项,具有最高的层号。

多个记录可以组成文件,文件是被记录在外部介质上的记录的集合。

9.例: IDENTIFICATION DIVISION.PROGRAM-ID. HELLOWORLD.ENVIRONMENT DIVISION.CONFIGURATION SECTION.SOURCE-COMPUTER. TUTUT.OBJECT-COMPUTER. TUTUT. SPECIAL-NAMES. SYSOUT IS OUT.DATA DIVISION.PROCEDURE DIVISION.S.DISPLAY "HELLO WORLD" UPON OUT .STOP RUN.。

相关文档
最新文档