cobol教程--总结篇
- 格式:doc
- 大小:234.00 KB
- 文档页数:28
cobol教程COBOL教程COBOL(Common Business-Oriented Language)是一种面向商业应用的编程语言,它主要用于处理大型企业的数据处理和事务处理。
本教程旨在帮助初学者了解和学习COBOL的基本概念和语法规则,从而能够编写简单的COBOL程序。
1. 基本语法COBOL程序由一系列的“句子”组成,每个句子以句点(.)结束。
句子由一系列的“词”组成,每个词由一个或多个字符组成。
COBOL对大小写敏感,因此要注意单词的大小写。
2. 数据定义在COBOL中,需要先定义要处理的数据。
可以使用“DATA DIVISION”来定义数据项及其属性。
数据项可以是数字、字符或日期等类型。
例如,可以定义一个名为“EMPLOYEE-ID”的变量来存储员工的唯一标识。
3. 过程部分过程部分是COBOL程序的核心,用于执行实际的业务逻辑。
可以使用各种控制结构(如IF语句和PERFORM循环)来实现条件判断和循环操作。
通过使用一系列的“句子”来描述要执行的操作。
4. 文件处理COBOL可以处理各种类型的文件,如顺序文件和索引文件。
可以使用“FILE SECTION”来定义文件及其属性,然后使用相关的文件处理语句来读取和写入文件。
5. 运行和调试COBOL程序可以通过COBOL编译器进行编译,并通过COBOL运行时系统来执行。
可以在运行过程中进行调试,以便找出程序中的错误并进行修复。
总结本教程提供了COBOL的基本概念和语法规则的介绍,以及一些常用的编程技巧和注意事项。
希望通过学习本教程,您能够对COBOL有一个初步的了解,并能够编写简单的COBOL程序。
COB培训教程COB培训教程是一种学习COB编程语言的课程教程。
对于那些想要学习COB编程语言的人来说,这个教程提供了许多有用的信息。
如果你想学习COB编程语言,那么这篇文章会介绍一些必须知道的知识。
COB培训教程基础COBOL全称是COmmon Business Oriented Language,是一种应用比较广泛的商业编程语言,被广泛应用于银行、保险、证券等行业。
COBOL已经出现了很多年,但它仍然是一种用于业务领域的编程语言。
COBOL语言的主要功能是处理文件和数据。
由于其简单易懂的语法和大量的库函数,还有大量的工具和支持,使得COBOL变得尤为重要。
作为一个普遍使用的编程语言,COBOL已经被广泛应用。
COBOL编程语言使用严密的语法规则和代码组织来定义和运行商业应用程序。
COBOL编程语言具有相对较高的可读性和可维护性,这使得它成为了电脑系统的一部分。
COBOL的学习在学习COBOL编程语言时,首先需要对编程的基础有一定的了解。
通常情况下,学习COBOL的最佳方式是了解COBOL的语法规则和数据结构。
对于COBOL学习者来说,需要学习以下内容:1. COBOL编程语言的概述和发展历程2. COBOL中的基本数据类型和数据结构3. 构建COBOL程序的关键元素4. COBOL语句和控制结构5. 使用COBOL编写程序的基本规则和方法除了这些基本的知识,还需要了解一些高级的概念和技术。
这些概念和技术包括:1. COBOL中的高级数据类型和数据结构2. 高级算法和逻辑技巧3. 多线程、容错和扩展性4. 优化COBOL代码的技巧5. 是COBOL与其他编程语言的相互协作COBOL培训教程的优点COBOL培训教程的一大优点是它提供了手把手的学习方法。
通过教师的指导,学生可以快速掌握COBOL编程语言的基础知识和高级概念。
另外,COBOL培训教程具有灵活性。
许多学习机构提供短期培训课程和深入学习课程,以适应学生的需求。
COBOL简易教程主要内容1.COBOL语言的基本概念及程序的结构•一个例子●COBOL程序的结构●COBOL源程序的书写格式2.COBOL数据表示•常量•层次的概念•PICTURE语句•数据在内存中的各种形式3.算术运算●变量赋值 (MOVE, MOVE CORR)●算术运算(ADD, SUB, MUL, DIV, COMPUTE等)●内部函数4.字符串处理●合并、分离、取子串、替换等5.程序逻辑控制•条件的分类•IF、EVALUATE●PERFORM6.表处理定义、赋值、引用、查询7.读、写多格式记录文件8.常用语句小结9.子程序1.关于COBOL的初步知识◆COBOL是Common Business Oriented Language (通用商业语言,或称管理语言)的缩写◆最适用于数据处理◆比较接近于自然语言(英语)◆COBOL的结构严谨,层次性强◆COBOL的缺点是比较烦琐。
1.1 一个例子:***************************************************************** * * COBOL TRAINING PROGRAM * * VERSION 2.1.0 COPYRIGHT (C) 2004 * * WISTRON DALIAN SOFTWARE CO., LTD. * * ALL RIGHTS RESERVED. * * * **************************************************************** IDENTIFICATION DIVISION.PROGRAM-ID. EXERCIS6.AUTHOR. QXLU (WISTRON DALIAN).DATE-WRITTEN. 04-06-23.DATE-COMPILED. 04-06-23.*----------------------------------------------------------------* * COMMENT : * * * *----------------------------------------------------------------* ENVIRONMENT DIVISION.CONFIGURATION SECTION.SOURCE-COMPUTER. IBM-3084.OBJECT-COMPUTER. IBM-3084.INPUT-OUTPUT SECTION.FILE-CONTROL.SELECT DDI01 ASSIGN TO "DDI01".SELECT DDO01 ASSIGN TO "DDO01".*DATA DIVISION.FILE SECTION.*FD DDI01 LABEL RECORD IS STANDARD DATA RECORD AREIN-AREA0, IN-AREA1.01 IN-AREA0.05 IN-YEAR-NUM PIC 9(2).05 IN-PRINCIPAL PIC 9(4)V99.05 FILLER PIC X(07).05 RMARK PIC X(01) VALUE X"0A".01 IN-AREA1.05 IN-INTEREST-RATE OCCURS 5 TIMES PIC V999.05 RMARK PIC X(01) VALUE X"0A".FD DDO01 BLOCK 0 RECORDS LABEL RECORD STANDARD RECORDING F.01 PRT-REC.05 FILLER PIC X(79).**===============================================================* WORKING-STORAGE SECTION.01 IN-FILE-DATA.05 YEAR-NUM PIC 9(2).05 PRINCIPAL PIC 9(4)V99.05 INTEREST-RATE-TABLE.15 INTEREST-RATE OCCURS 5 TIMES PIC V999.*01 HEADER0 PIC X(79) VALUE' TABLE OF SIMPLE INTEREST'.01 HEADER1 PIC X(79) VALUE' ************************************'.01 HEADER2 PIC X(79) VALUE' PRINCIPAL 4,000.00 FOR 10 PERIODS'.01 HEADER3 PIC X(79) VALUE SPACE.01 HEADER4 PIC X(79) VALUE' PERIOD INTEREST RATE'.01 HEADER5.05 OUT-I-R OCCURS 5 TIMES PIC BBBBBBBBB.999.01 DETAIL0.05 OUT-PERIOD PIC ZZZ.05 OUT-P-I-S-ITEM OCCURS 5 TIMES.10 FOURSPACES PIC X(04) VALUE SPACE.10 OUT-P-I-SUM PIC 9,999.99.01 CNT-YEAR-NUM PIC 9(2).01 I-R-INDEX PIC 9.01 P-I-SUM PIC 9(6)V99.****************************************************************** * P R O C E D U R E D I V I S I O N * ***************************************************************** PROCEDURE DIVISION.*INPUT-DATA SECTION.OPEN INPUT DDI01.OPEN OUTPUT DDO01.READ DDI01.MOVE IN-YEAR-NUM TO YEAR-NUM.MOVE IN-PRINCIPAL TO PRINCIPAL.READ DDI01.MOVE IN-AREA1 TO INTEREST-RATE-TABLE.*PROCESS-OUTPUT-DATA SECTION.*PRINT HEADERWRITE PRT-REC FROM HEADER0 BEFORE 1.WRITE PRT-REC FROM HEADER1 BEFORE 1.WRITE PRT-REC FROM HEADER2 BEFORE 1.WRITE PRT-REC FROM HEADER3 BEFORE 1.WRITE PRT-REC FROM HEADER4 BEFORE 1.* PRINT INTEREST RATEPERFORM TEST BEFORE VARYING I-R-INDEXFROM 1 BY 1 UNTIL I-R-INDEX > 5MOVE INTEREST-RATE( I-R-INDEX ) TO OUT-I-R( I-R-INDEX )END-PERFORM.WRITE PRT-REC FROM HEADER5 BEFORE 1.*PROCESS & PRINT DETAILSPERFORM PRINT-DETAILVARYING CNT-YEAR-NUM FROM 1 BY 1UNTIL CNT-YEAR-NUM > YEAR-NUM.*CLOSE-FILES SECTION.CLOSE DDI01.CLOSE DDO01.*STOP RUN.**---------------------------------------------------------------** PRINT-DETAIL **---------------------------------------------------------------*PRINT-DETAIL SECTION.*MOVE CNT-YEAR-NUM TO OUT-PERIOD.PERFORM PROCESS-DETAILVARYING I-R-INDEX FROM 1 BY 1 UNTIL I-R-INDEX > 5.WRITE PRT-REC FROM DETAIL0 BEFORE 1.*PRINT-DETAIL-RTN.EXIT.**---------------------------------------------------------------** PROCESS-DETAIL **---------------------------------------------------------------*PROCESS-DETAIL SECTION.*COMPUTE P-I-SUM = PRINCIPAL *( INTEREST-RATE( I-R-INDEX ) * CNT-YEAR-NUM + 1 ).MOVE P-I-SUM TO OUT-P-I-SUM( I-R-INDEX ).*PROCESS-DETAIL-RTN.EXIT.** *** END OF CODING EXERCIS6 ***1.2 COBOL 程序的结构(1/p4)部(Division) 一部可包括若干节节(Section) 一节可包含若干段段(Paragraph) 一段可包含若干句子句子(Sentence) 一个句子可包含若干语句语句(Statement) 制定计算机完成一定的操作子句(Clause) 制定完成某一方面的功能每个程序应包含四个部IDENTIFICATION DIVISION (标识部)主要用来指定源程序名字,也可以写入其他用作备忘的某些信息(如日期、作者等)。
COBOL知识点写在前面:本知识点总结为本人根据一本图书馆借来的书总结出来本专业本外教课最终有可能考到的知识点,考试为英文卷子,本总结为中文。
其中带星号的可当课外知识记,是那本书中为学到的知识点中较简单的部分,应该不会考到。
且本总结不是考试范围,只是帮助大家理解COBOL这门语言。
一、通用部分:1、所有程序都要先写标志部:“IDENTIFICATION DIVISION. PROGRAM-ID.程序员的代号等”。
(*) 2、“AUTHOR”用于知名开发该程序的程序员名;“INSTALLATION”通常用于说明设计该程序的公司或部门;“DATE-WRITTEN”指明程序编写或修改的日期;“DATE-COMPILED”指明程序编译的日期;“SECURITY”通常用于列出具有访问该程序权限的用户。
二、环境部:ENVIRONMENT DIVISION.(注:如果该部分没有任何内容,是可以省略不写的)(*) 1、环境部中的配置节及其字段:ENVIRONMENT DIVISION.CONFIGURATION SECTION.SOURCE-COMPUTER. (指示编译程序的计算机)OBJECT-COMPUTER. (描述运行程序的计算机)SPECTAL-NAMES.(指定货币符号选择小数点、提供开关名和定义字母表)2、环境部中的输入/输出节:主要是将程序中的逻辑文件同环境中的物理文件想对应起来,由“INPUT-OUTPUT SECTION”标识。
输入/输出节包含两个字段:“FILE-CONTROL”(用于指定的对应关系,是该节中主要用到的字段);“I-O-CONTROL”(用于定义程序返回点,不同文件共享的内存区,以及多文件卷中文件的位置)。
FILE-CONTROL的例子:DENTIFICATION DIVISION.PROGRAM-ID. SAMPLE-PGM.ENVIRONMENT DIVISION.INPUT-OUTPUT SECTION.FILE-CONTROLSELECT CUSTOMER-FILEASSIGN TO S-SYSIN.SELECT PRINT-FILEASSION TO S-SYSOUT.对于例子中蓝色字的解释:其通过SELECT语句指定了两条文件对应关系。
コボル基本語法一、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打开前动态指定文件路径。
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 列为“标号区”。
第7列为“续行标志区”第8至此11列,称为“A区”。
程序中有些内容如部头,节头,段头,层号01,层号77 及文件描述符FD等应从A区开始写。
第12至此72列,称为“B区”。
写程序中的正文部分。
如过程部中的句子只能从B区开始写。
第73至80列,称为“注释区”。
五。
COBOL字符集包括:数字0 --- 9 ,字母A--- Z ,a --- z , 专用字符:+ - * / = , . ; … ( ) < > $ 及空格。
COBOL程序设计语言入门教程第一章:COBOL简介COBOL,全称为“公共业务计算机编程语言”(Common Business-Oriented Language),是一种专门针对商业应用开发的高级程序设计语言。
本章节将为读者介绍COBOL的背景、特点以及应用领域。
1.1 COBOL的背景COBOL于1960年首次发布,由美国政府、大型企业和专业团体联合开发。
当时,计算机还是新兴的技术,大多数应用主要集中在科学计算领域。
为了适应商业应用的特殊需求,COBOL 应运而生。
1.2 COBOL的特点COBOL以易读性和易维护性著称。
它采用了自然语言风格的编码,使得非专业的程序员也能轻松理解和修改代码。
此外,COBOL还具有丰富的数据处理功能和强大的文件处理能力,适用于处理大量数据的商业应用。
1.3 COBOL的应用领域COBOL广泛应用于金融、保险、银行、物流以及政府行政等领域。
由于COBOL的稳定性和成熟性,一些大型企业仍在使用COBOL开发和维护核心业务系统。
第二章:COBOL基础语法在本章节中,我们将介绍COBOL的基本语法,包括程序结构、数据类型、变量定义、运算符等内容。
2.1 程序结构COBOL程序由多个部分组成,包括程序头、数据定义、主程序和辅助程序。
程序头包含程序名称、作者、日期等信息;数据定义定义所有的变量和文件;主程序包含实际的业务逻辑;辅助程序用于处理一些通用的功能。
2.2 数据类型和变量定义COBOL的数据类型包括数字、字符串、日期、逻辑等。
变量定义使用关键字“PIC”(Picture)来指定变量的类型和长度,例如“PIC 9(4)”表示一个4位数的整数变量。
2.3 运算符COBOL支持常见的算术运算符(加、减、乘、除)和逻辑运算符(与、或、非)。
此外,COBOL还提供了特殊的字符串连接运算符和条件运算符,用于处理字符串和条件语句。
第三章:COBOL程序设计在本章节中,我们将介绍COBOL程序的设计方法和常用技巧,包括文件处理、条件语句、循环结构以及子程序的使用。
COBOL语言基础教程1.数据定义:在COBOL中,数据定义是程序的核心。
它定义了各种数据项的类型和长度,如数值、字符串、日期等。
COBOL提供了特殊的关键字和语法用于定义这些数据项。
2.数据处理:COBOL提供了许多内置函数和操作符,用于处理和计算数据。
这些函数和操作符可用于进行数学运算、日期计算、字符串处理等。
COBOL还具有丰富的条件和循环语句,用于控制程序的流程。
3.文件处理:COBOL是一种事务处理语言,它可以处理大量的数据。
在COBOL中,可以定义文件结构和记录布局,并使用特殊的关键字和语句来读取、写入和更新文件数据。
这使得COBOL成为处理大型数据库的有效工具。
4.子程序:COBOL支持子程序的概念,用于将程序分割成一系列可重用的模块。
这使得程序的开发和维护更加容易。
子程序可以被其他程序调用,并传递参数进行数据交换。
5.错误处理:COBOL具有强大的错误处理机制。
它提供了异常处理和错误检测的能力,以确保程序能够适应各种错误情况,并采取适当的措施。
这有助于保护程序免受潜在的错误和异常的影响。
6.编程规范:COBOL具有一套严格的编程规范和命名约定。
这些规范旨在使程序易于理解和维护,并提高程序员之间的协作。
遵循这些规范将使程序具有一致的外观和结构。
7.部署和调试:COBOL代码可以在各种计算机系统上运行,包括大型主机和小型服务器。
由于COBOL的稳定性和广泛性,许多工具和调试器可用于帮助开发和调试COBOL程序。
总结起来,COBOL是一种功能强大且广泛应用于商业应用程序开发的编程语言。
它有自己独特的语法结构和特殊的数据处理功能,适用于处理商业交易和数据处理。
掌握COBOL的基础知识将有助于开发和维护商业应用程序的工作。
COBOL语言-总结预览说明:预览图片所展示的格式为文档的源格式展示,下载源文件没有水印,内容可编辑和复制COBOL语言概述一.COBOL程序的结构1.部IDENTIFICATION DIVISION 标识部ENVIRONMENT DIVISION 环境部DATA DIVISION 数据部PROCEDURE DIVISION 过程部2.节(SECTION)和段(PARAGRAPH)(1)部-节-段(2)标识部下面不设节,直接设段(3)过程部可以设节,下面再设段,也可以直接设段3.句子、语句和子句每一段由若干句子(Sentence)组成,一个句子以句号加上一个以上的空格来结束。
句子由语句(Statement)组成。
语句中又可以包含若干子句(clause),每一个子句也有一个动词(但这个动词往往是可以省略的),它指定某一方面的特定功能。
二.COBOL源程序的书写格式1.1-6列:标号区2.第7列:续行标志区(“-”为续行,“*”为注解)3.8-11列:A区(部头,节头,段头,层号01、77,文件描述符FD等)4.12-72列:B区(正文)5.73-80列:注释区三.COBOL字符数字0-9,大写字母A-Z,小写字母a-z,专用字符15个{ + - * / = , . ; ‘ ( ) < > $ 空格 }四.常量1.数值常量(1)小数点不能多于一个,而且不能出现在常数最右边。
(2)数值常量的长度不能超过18位数字。
(3)至少要有一个数字,不能有多于一个符号。
(4)数字间不能有空格,空格是分界符。
2.非数值常量(1)用’’把字符串包起来(2)假如要把’’放到非数值常量中,用QUOTE保留字,如MOVE QUOTE ‘CHINA’QUOTE TO A(3)长度不应超过120个字符。
五.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打开前动态指定文件路径。
About the T utorialCOBOL stands for Common Business-Oriented Language. The US Department of Defense, in a conference, formed CODASYL (Conference on Data Systems Language) to develop a language for business data processing needs which is now known as COBOL.COBOL is used for writing application programs and we cannot use it to write system software. The applications like those in defense domain, insurance domain, etc. which require huge data processing make extensive use of COBOL. AudienceThis tutorial is designed for software programmers who would like to learn the basics of COBOL. It provides enough understanding on COBOL programming language from where you can take yourself to a higher level of expertise. PrerequisitesBefore proceeding with this tutorial, you should have a basic understanding of computer programming terminologies and JCL. A basic understanding of any of the programming languages will help you understand the concepts of COBOL programming and move fast on the learning track.Copyright & DisclaimerCopyright 2014 by Tutorials Point (I) Pvt. Ltd.All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher.We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or inthistutorial,******************************************T able of ContentsAbout the Tutorial (i)Audience (i)Prerequisites (i)Copyright & Disclaimer (i)Table of Contents ...................................................................................................................................... i i 1. OVERVIEW . (1)Introduction to COBOL (1)Evolution of COBOL (1)Importance of COBOL (1)Features of COBOL (2)2. ENVIORNMENT SETUP (3)Installing COBOL on Windows/Linux (3)Compiling COBOL Programs (3)Executing COBOL Programs (4)Executing COBOL-DB2 programs (4)Try it Option Online (6)3. PROGRAM STRUCTURE (7)Divisions (8)4. BASIC SYNTAX (12)Character Set (12)Coding Sheet (13)Character Strings (14)Comment (14)Literal (16)COBOL Word (17)5. DATA TYPES (19)Data Name (19)Level Number (20)Picture Clause (21)Value Clause (22)6. BASIC VERBS (24)Input / Output Verbs (24)Initialize Verb (25)Move Verb (26)Legal Moves (28)Add Verb (28)Subtract Verb (30)Multiply Verb (32)Divide Verb (33)Compute Statement (34)7. DATA LAYOUT (36)Redefines Clause (36)Renames Clause (37)Usage Clause (38)Copybooks (40)8. CONDITIONAL STATEMENTS (41)IF Condition Statement (41)Relation Condition (42)Sign Condition (44)Class Condition (45)Condition-name Condition (46)Combined Condition (48)Evaluate Verb (49)9. LOOP STATEMENTS (51)Perform Thru (51)Perform Until (52)Perform Times (53)Perform Varying (54)GO TO Statement (55)10. STRING HANDLING (57)Inspect (57)String (59)Unstring (60)11. TABLE PROCESSING (63)Table Declaration (63)Subscript (65)Index (66)Set Statement (67)Search (69)Search All (69)12. FILE HANDLING (72)Field (72)Record (73)File (73)13. FILE ORGANIZATION (74)Sequential File Organization (74)Relative File Organization (75)14. FILE ACCESS MODE (77)Sequential Access (77)Random Access (78)Dynamic Access (79)15. FILE HANDLING VERBS (81)Open Verb (81)Read Verb (82)Write Verb (85)Rewrite Verb (87)Delete Verb (89)Start Verb (90)Close Verb (91)16. SUBROUTINES (92)Call Verb (92)Call By Reference (92)Call By Content (94)Types of Call (95)17. INTERNAL SORT (96)Sort Verb (96)Merge Verb (98)18. DATABASE INTERFACE (101)Embedded SQL (101)DB2 Application Programming (101)Host Variables (101)SQLCA (102)SQL Queries (103)Cursors (109)19. INTERVIEW QUESTIONS (112)What is Next? (116)1. OVERVIEWIntroduction to COBOLCOBOL is a high-level language. One must understand the way COBOL works. Computers only understand machine code, a binary stream of 0s and 1s. COBOL code must be converted into machine code using a compiler. Run the program source through a compiler. The compiler first checks for any syntax errors and then converts it into machine language. The compiler creates an output file which is known as load module. This output file contains executable code in the form of 0s and 1s. Evolution of COBOLDuring 1950s, when the businesses were growing in the western part of the world, there was a need to automate various processes for ease of operation and this gave birth to a high-level programming language meant for business data processing.∙In 1959, COBOL was developed by CODASYL (Conference on Data Systems Language).∙The next version, COBOL-61, was released in 1961 with some revisions.∙In 1968, COBOL was approved by ANSI as a standard language for commercial use (COBOL-68).∙It was again revised in 1974 and 1985 to develop subsequent versions named COBOL-74 and COBOL-85 respectively.∙In 2002, Object-Oriented COBOL was released, which could use encapsulated objects as a normal part of COBOL programming.Importance of COBOL∙COBOL was the first widely used high-level programming language. It is an English-like language which is user friendly. All the instructions can be coded in simple English words.∙COBOL is also used as a self-documenting language.∙COBOL can handle huge data processing.7∙COBOL is compatible with its previous versions.∙COBOL has effective error messages and so, resolution of bugs is easier. Features of COBOLStandard LanguageCOBOL is a standard language that can be compiled and executed on machines such as IBM AS/400, personal computers, etc.Business OrientedCOBOL was designed for business-oriented applications related to financial domain, defense domain, etc. It can handle huge volumes of data because of its advanced file handling capabilities.Robust LanguageCOBOL is a robust language as its numerous debugging and testing tools are available for almost all computer platforms.Structured LanguageLogical control structures are available in COBOL which makes it easier to read and modify. COBOL has different divisions, so it is easy to debug.82. ENVIORNMENT SETUPInstalling COBOL on Windows/LinuxThere are many Free Mainframe Emulators available for Windows which can be used to write and learn simple COBOL programs.One such emulator is Hercules, which can be easily installed on Windows by following a few simple steps as given below:∙Download and install the Hercules emulator, which is available from the Hercules' home site :www.hercules-390.eu∙Once you have installed the package on Windows machine, it will create a folder like C:/hercules/mvs/cobol.∙Run the Command Prompt (CMD) and reach the directory C:/hercules/mvs/cobol on CMD.∙The complete guide on various commands to write and execute a JCL and COBOL programs can be found at:/hercules/installmvs/instmvs2.htmHercules is an open-source software implementation of the mainframe System/370 and ESA/390 architectures, in addition to the latest 64-bit z/Architecture. Hercules runs under Linux, Windows, Solaris, FreeBSD, and Mac OS X.A user can connect to a mainframe server in a number of ways such as thin client, dummy terminal, Virtual Client System (VCS), or Virtual Desktop System (VDS). Every valid user is given a login id to enter into the Z/OS interface (TSO/E or ISPF). Compiling COBOL ProgramsIn order to execute a COBOL program in batch mode using JCL, the program needs to be compiled, and a load module is created with all the sub-programs. The JCL uses the load module and not the actual program at the time of execution. The load libraries are concatenated and given to the JCL at the time of execution using JCLLIB or STEPLIB.9There are many mainframe compiler utilities available to compile a COBOL program. Some corporate companies use Change Management tools like Endevor, which compiles and stores every version of the program. This is useful in tracking the changes made to the program.//COMPILE JOB,CLASS=6,MSGCLASS=X,NOTIFY=&SYSUID//*//STEP1 EXEC IGYCRCTL,PARM=RMODE,DYNAM,SSRANGE//SYSIN DD DSN=MYDATA.URMI.SOURCES(MYCOBB),DISP=SHR//SYSLIB DD DSN=MYDATA.URMI.COPYBOOK(MYCOPY),DISP=SHR//SYSLMOD DD DSN=MYDATA.URMI.LOAD(MYCOBB),DISP=SHR//SYSPRINT DD SYSOUT=*//*IGYCRCTL is an IBM COBOL compiler utility. The compiler options are passed using the PARM parameter. In the above example, RMODE instructs the compiler to use relative addressing mode in the program. The COBOL program is passed using the SYSIN parameter. Copybook is the library used by the program in SYSLIB. Executing COBOL ProgramsGiven below is a JCL example where the program MYPROG is executed using the input file MYDATA.URMI.INPUT and produces two output files written to the spool. //COBBSTEP JOB CLASS=6,NOTIFY=&SYSUID////STEP10 EXEC PGM=MYPROG,PARM=ACCT5000//STEPLIB DD DSN=MYDATA.URMI.LOADLIB,DISP=SHR//INPUT1 DD DSN=MYDATA.URMI.INPUT,DISP=SHR//OUT1 DD SYSOUT=*//OUT2 DD SYSOUT=*//SYSIN DD *//CUST1 1000//CUST2 1001/*10The load module of MYPROG is located in MYDATA.URMI.LOADLIB. This is important to note that the above JCL can be used for a non-DB2 COBOL module only. Executing COBOL-DB2 programsFor running a COBOL-DB2 program, a specialized IBM utility is used in the JCL and the program; DB2 region and required parameters are passed as input to the utility. The steps followed in running a COBOL-DB2 program are as follows:∙When a COBOL-DB2 program is compiled, a DBRM (Database Request Module) is created along with the load module. The DBRM contains the SQL statements of the COBOL programs with its syntax checked to be correct.∙The DBRM is bound to the DB2 region (environment) in which the COBOL will run. This can be done using the IKJEFT01 utility in a JCL.∙After the bind step, the COBOL-DB2 program is run using IKJEFT01 (again) with the load library and the DBRM library as the input to the JCL.//STEP001 EXEC PGM=IKJEFT01//*//STEPLIB DD DSN=MYDATA.URMI.DBRMLIB,DISP=SHR//*//input files//output files//SYSPRINT DD SYSOUT=*//SYSABOUT DD SYSOUT=*//SYSDBOUT DD SYSOUT=*//SYSUDUMP DD SYSOUT=*//DISPLAY DD SYSOUT=*//SYSOUT DD SYSOUT=*//SYSTSPRT DD SYSOUT=*//SYSTSIN DD *DSN SYSTEM(SSID)RUN PROGRAM(MYCOBB) PLAN(PLANNAME) PARM(parameters to cobol program) - LIB('MYDATA.URMI.LOADLIB')11END/*In the above example, MYCOBB is the COBOL-DB2 program run using IKJEFT01. Please note that the program name, DB2 Sub-System Id (SSID), and DB2 Plan name are passed within the SYSTSIN DD statement. The DBRM library is specified in the STEPLIB.Try it Option OnlineYou really do not need to set up your own environment to start learning COBOL programming language. Reason is very simple, we have already set up COBOL Programming environment online, so that you can compile and execute all the available examples online at the same time, when you are doing your theory work. This gives you confidence in what you are reading and to check the result with different options. Feel free to modify any example and execute it online.Try the following example using our Try it option available alongside the code in our website.IDENTIFICATION DIVISION.PROGRAM-ID. HELLO.PROCEDURE DIVISION.DISPLAY 'Hello World'.STOP RUN.When you compile and execute the above program, it produces the following result: Hello WorldFor some of the examples given in this tutorial, you will find a Try it option in our website code sections at the top right corner that will take you to the online compiler. So just make use of it and enjoy your learning. Try it option would work only with the code compatible with OpenCOBOL. The programs that require JCL (Input file, Output file or Parameters) for execution would not run on Try it option.123. PROGRAM STRUCTUREA COBOL program structure consists of divisions as shown in the following image:A brief introduction of these divisions is given below:∙Sections are the logical subdivision of program logic. A section is a collection of paragraphs.∙Paragraphs are the subdivision of a section or division. It is either a user-defined or a predefined name followed by a period, and consists of zero or more sentences/entries.∙Sentences are the combination of one or more statements. Sentences appear only in the Procedure division. A sentence must end with a period.∙Statements are meaningful COBOL statements that perform some processing.∙Characters are the lowest in the hierarchy and cannot be divisible.You can co-relate the above-mentioned terms with the COBOL program in the following example:PROCEDURE DIVISION.A0000-FIRST-PARA SECTION.FIRST-PARAGRAPH.13ACCEPT WS-ID - Statement-1 -----|MOVE '10' TO WS-ID - Statement-2 |-- Sentence - 1DISPLAY WS-ID - Statement-3 -----|.DivisionsA COBOL program consists of four divisions.Identification DivisionIt is the first and only mandatory division of every COBOL program. The programmer and the compiler use this division to identify the program. In this division, PROGRAM-ID is the only mandatory paragraph. PROGRAM-ID specifies the program name that can consist 1 to 30 characters.Try the following example using the Try it option online.IDENTIFICATION DIVISION.PROGRAM-ID. HELLO.PROCEDURE DIVISION.DISPLAY 'Welcome to Tutorialspoint'.STOP RUN.Given below is the JCL to execute the above COBOL program.//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C//STEP1 EXEC PGM=HELLOWhen you compile and execute the above program, it produces the following result: Welcome to TutorialspointEnvironment DivisionEnvironment division is used to specify input and output files to the program. It consists of two sections:Configuration section provides information about the system on which the program is written and executed. It consists of two paragraphs:14o Source computer : System used to compile the program.o Object computer : System used to execute the program.∙Input-Output section provides information about the files to be used in the program. It consists of two paragraphs:o File control : Provides information of external data sets used in the program.o I-O control : Provides information of files used in the program.ENVIRONMENT DIVISION.CONFIGURATION SECTION.SOURCE-COMPUTER. XXX-ZOS.OBJECT-COMPUTER. XXX-ZOS.INPUT-OUTPUT SECTION.FILE-CONTROL.SELECT FILEN ASSIGN TO DDNAMEORGANIZATION IS SEQUENTIAL.Data DivisionData division is used to define the variables used in the program. It consists of four sections:∙File section is used to define the record structure of the file.∙Working-Storage section is used to declare temporary variables and file structures which are used in the program.∙Local-Storage section is similar to Working-Storage section. The only difference is that the variables will be allocated and initialized every time a program starts execution.∙Linkage section is used to describe the data names that are received from an external program.COBOL ProgramIDENTIFICATION DIVISION.PROGRAM-ID. HELLO.15ENVIRONMENT DIVISION.INPUT-OUTPUT SECTION.FILE-CONTROL.SELECT FILEN ASSIGN TO INPUT.ORGANIZATION IS SEQUENTIAL.ACCESS IS SEQUENTIAL.DATA DIVISION.FILE SECTION.FD FILEN01 NAME PIC A(25).WORKING-STORAGE SECTION.01 WS-STUDENT PIC A(30).01 WS-ID PIC 9(5).LOCAL-STORAGE SECTION.01 LS-CLASS PIC 9(3).LINKAGE SECTION.01 LS-ID PIC 9(5).PROCEDURE DIVISION.DISPLAY 'Executing COBOL program using JCL'.STOP RUN.The JCL to execute the above COBOL program is as follows://SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C//STEP1 EXEC PGM=HELLO//INPUT DD DSN=ABC.EFG.XYZ,DISP=SHRWhen you compile and execute the above program, it produces the following result: Executing COBOL program using JCLProcedure Division16Procedure division is used to include the logic of the program. It consists of executable statements using variables defined in the data division. In this division, paragraph and section names are user-defined.There must be at least one statement in the procedure division. The last statement to end the execution in this division is either STOP RUN which is used in the calling programs or EXIT PROGRAM which is used in the called programs.IDENTIFICATION DIVISION.PROGRAM-ID. HELLO.DATA DIVISION.WORKING-STORAGE SECTION.01 WS-NAME PIC A(30).01 WS-ID PIC 9(5) VALUE '12345'.PROCEDURE DIVISION.A000-FIRST-PARA.DISPLAY 'Hello World'.MOVE 'TutorialsPoint' TO WS-NAME.DISPLAY "My name is : "WS-NAME.DISPLAY "My ID is : "WS-ID.STOP RUN.JCL to execute the above COBOL program://SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C//STEP1 EXEC PGM=HELLOWhen you compile and execute the above program, it produces the following result:Hello WorldMy name is : TutorialsPointMy ID is : 12345174. BASIC SYNTAXCharacter Set'Characters' are lowest in the hierarchy and they cannot be divided further. The COBOL Character Set includes 78 characters which are shown below: Character DescriptionA-Z Alphabets(Upper Case)a-z Alphabets (Lower Case)0-9 NumericSpace+ Plus Sign- Minus Sign or Hyphen* Asterisk/ Forward Slash$ Currency Sign, Comma; Semicolon18. Decimal Point or Period" Quotation Marks( Left Parenthesis) Right Parenthesis> Greater than< Less than: Colon' Apostrophe= Equal SignCoding SheetThe source program of COBOL must be written in a format acceptable to the compilers. COBOL programs are written on COBOL coding sheets. There are 80 character positions on each line of a coding sheet.Character positions are grouped into the following five fields:Positions Field Description1-6 Column Numbers Reserved for line numbers.7 Indicator It can have Asterisk (*) indicating comments,Hyphen (-) indicating continuation and Slash (/ ) indicating form feed.198-11 Area A All COBOL divisions, sections, paragraphs andsome special entries must begin in Area A.12-72 Area B All COBOL statements must begin in area B.73-80 Identification Area It can be used as needed by the programmer.ExampleThe following example shows a COBOL coding sheet:000100 IDENTIFICATION DIVISION. 000100000200 PROGRAM-ID. HELLO. 000101000250* THIS IS A COMMENT LINE 000102000300 PROCEDURE DIVISION. 000103000350 A000-FIRST-PARA. 000104000400 DISPLAY “Coding Sheet”. 000105 000500 STOP RUN. 000106JCL to execute the above COBOL program://SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C//STEP1 EXEC PGM=HELLOWhen you compile and execute the above program, it produces the following result:Coding Sheet20Character StringsCharacter strings are formed by combining individual characters. A character string can be a∙Comment,∙Literal, or∙COBOL word.All character strings must be ended with separators. A separator is used to separate character strings.Frequently used separators : Space, Comma, Period, Apostrophe, Left/Right Parenthesis, and Quotation mark.CommentA comment is a character string that does not affect the execution of a program. It can be any combination of characters.There are two types of comments:Comment LineA comment line can be written in any column. The compiler does not check a comment line for syntax and treats it for documentation.Comment EntryComment entries are those that are included in the optional paragraphs of an Identification Division. They are written in Area B and programmers use it for reference.The text highlighted in Bold are the commented entries in the following example: 000100 IDENTIFICATION DIVISION. 000100000150 PROGRAM-ID. HELLO. 000101000200 AUTHOR. TUTORIALSPOINT. 000102000250* THIS IS A COMMENT LINE 00010321000300 PROCEDURE DIVISION. 000104000350 A000-FIRST-PARA. 000105000360/ First Para Begins - Documentation Purpose 000106000400 DISPLAY “Comment line”. 000107 000500 STOP RUN. 000108JCL to execute above COBOL program://SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C//STEP1 EXEC PGM=HELLOWhen you compile and execute the above program, it produces the following result: Comment Line22End of ebook previewIf you liked what you saw…Buy it from our store @ https://23。
cobol pointer用法(原创实用版)目录1.COBOL 指针的定义与用途2.COBOL 指针的类型3.COBOL 指针的声明与初始化4.COBOL 指针的访问与操作5.COBOL 指针的例子与应用正文【1.COBOL 指针的定义与用途】COBOL(Common Business-Oriented Language,通用商业定向语言)是一种用于商业应用程序的高级编程语言。
在 COBOL 中,指针是一种重要的数据类型,它可以用来存储变量或数组的地址,从而实现对程序中数据的快速访问和操作。
【2.COBOL 指针的类型】COBOL 指针分为两种类型:静态指针和动态指针。
静态指针在程序编译时就被分配空间,其指向的数据对象在程序运行过程中不会发生改变。
静态指针可以用于访问数组元素或结构体中的成员。
动态指针在程序运行时动态分配空间,其指向的数据对象可以随着程序运行而改变。
动态指针通常用于处理动态数据结构,如链表、树等。
【3.COBOL 指针的声明与初始化】在 COBOL 中,指针的声明与初始化可以通过以下方式实现:```// 声明静态指针static-pointer Division-Number.// 初始化静态指针Division-Number := address of (存储变量名)。
``````// 声明动态指针dynamic-pointer Dynamic-Division-Number.// 初始化动态指针Dynamic-Division-Number := address of (存储变量名)-> (数组名 (下标值))。
```【4.COBOL 指针的访问与操作】COBOL 指针可以用于访问和操作指向的数据对象。
以下是一些常见的指针操作:- 获取指针指向的数据对象的值:使用“值 = 地址”的语法。
- 修改指针指向的数据对象的值:使用“地址 = 新值”的语法。
- 访问数组元素:使用“地址 = 数组名 (下标值)”的语法。
COBOL常用操作以下是COBOL常用的一些操作,可分为以下几个方面:-定义数据区段:使用DATADIVISION定义数据区段,包括文件和工作区段。
-声明变量:使用WORKING-STORAGESECTION或LOCAL-STORAGESECTION声明数据项。
-定义记录:使用RECORD字节定义多个相关字段的集合。
2.文件操作:-文件定义:使用FILECONTROL段定义输入和输出文件。
-文件打开和关闭:使用OPEN和CLOSE语句打开和关闭文件。
-文件读写:使用READ和WRITE语句从文件中读取和写入记录。
-文件重写和删除:使用REWRITE和DELETE语句重写和删除记录。
3.运算操作:-算术运算:使用ADD、SUBTRACT、MULTIPLY和DIVIDE执行基本的算术运算。
-逻辑运算:使用AND、OR和NOT运算符执行逻辑运算。
-比较运算:使用IF、ELSE和PERFORM语句实现条件判断和循环。
-字符串操作:使用STRING和INSPECT语句进行字符串操作,如连接、截断、替换等。
4.控制流程:-条件判断:使用IF语句进行条件判断,根据条件执行不同的操作。
-循环:使用PERFORM语句实现循环,如DO...UNTIL和DO...WHILE。
- 分支:使用EVALUATE语句进行多路分支,类似于其他编程语言中的switch语句。
-子程序调用:使用CALL语句调用其他子程序。
5.数据转换和处理:-数据转换:使用MOVE语句将数据从一个变量复制到另一个变量,可进行类型转换。
- 数据格式化:使用EDITED和NUMERIC edit masks格式化数值和日期。
-计算日期和时间:使用特定的函数或操作来处理日期和时间的计算和比较。
6.错误处理和异常处理:-异常处理:使用异常处理语句,如EXIT和CONTINUE,对异常情况进行处理。
-文件错误处理:使用FILESTATUS或INVALIDKEY语句处理文件操作中的错误。
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位数据即可。
COBOL简易教程主要内容1.COBOL语言的基本概念及程序的结构∙关于COBOL的初步知识∙COBOL程序的结构∙COBOL源程序的书写格式2.COBOL数据表示∙常量∙层次的概念∙PICTURE语句∙数据在内存中的各种形式3.算术运算∙变量赋值 (MOVE, MOVE CORR)∙算术运算(ADD, SUB, MUL, DIV, COMPUTE等) ∙内部函数4.字符串处理∙合并、分离、取子串、替换等5.程序逻辑控制∙条件的分类∙IF、EVALUATE∙PERFORM6.表处理定义、赋值、引用、查询7.读、写多格式记录文件8.常用语句小结9.子程序1.COBOL语言的基本概念及程序的结构1.1关于COBOL的初步知识◆COBOL是Common Business Oriented Language (通用商业语言,或称管理语言)的缩写◆最适用于数据处理◆比较接近于自然语言(英语)◆COBOL的结构严谨,层次性强◆COBOL的缺点是比较烦琐。
1.2 COBOL 程序的结构部(Division) 一部可包括若干节节(Section) 一节可包含若干段段(Paragraph) 一段可包含若干句子句子(Sentence) 一个句子可包含若干语句语句(Statement) 制定计算机完成一定的操作子句(Clause) 制定完成某一方面的功能每个程序应包含四个部IDENTIFICATION DIVISION (标识部)主要用来指定源程序名字,也可以写入其他用作备忘的某些信息(如日期、作者等)。
ENVIROMENT DIVISION(环境部)主要用于指出程序中用到的数据文件名与计算机系统的设备的对应关系,即把某一文件名与一个外部设备联系起来。
DATA DIVISION(数据部〕程序中所用到的全部数据(包括输入输出的数据和中间数据)都应在数据部中说明它们的类型和所占内存情况。
PROCEDURE DIVISION(过程部〕用来给出程序要执行的指令,使计算机产生相应的操作,例如进行数学运算。
克伯屈知识点总结COBOL语言有其自己的特点和规则。
了解并掌握这些知识点对于学习和使用COBOL语言非常重要。
以下是COBOL的一些重要知识点总结:1. COBOL基本结构COBOL程序由四个部分组成:标识部、分区部、控制部和数据部。
标识部用于标示程序的名称和作者等信息;分区部用于标示程序的结构和流程;控制部用于定义程序的执行方式;数据部用于定义程序中所用到的数据。
2. COBOL变量和数据类型COBOL支持多种数据类型,如数字、字符、日期等。
COBOL中的每个变量都必须在数据部中进行定义,并且要明确指定其数据类型和长度。
3. COBOL程序结构COBOL程序由多个部分组成,每个部分都有自己的目的。
标识部用于标识程序的名称和作者等信息;分区部用于标示程序的结构和流程;控制部用于定义程序的执行方式,如分支和循环等;数据部用于定义程序中所用到的数据。
4. COBOL语句COBOL语句包括:声明语句、执行语句、控制语句和输入输出语句等。
声明语句用于定义变量和数据;执行语句用于执行某些动作;控制语句用于控制程序的流程;输入输出语句用于程序与外部环境进行数据交互。
5. COBOL数据处理COBOL提供了多种方法来处理数据,如算术操作、逻辑操作和字符串操作等。
6. COBOL程序调试在COBOL程序出现问题时,需要进行调试。
COBOL程序的调试通常使用调试器工具,通过设置断点、单步执行等方法来进行调试。
7. COBOL文件处理在COBOL程序中,经常需要对文件进行读写操作。
COBOL提供了一套文件处理语句来进行文件的读写操作。
8. COBOL程序优化在实际应用中,有时需要对COBOL程序进行优化,以提高性能。
COBOL程序优化包括对程序结构和算法的优化,以及对IO操作和数据处理的优化。
以上是COBOL语言的一些重要知识点总结,这些知识点对于学习和使用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 列为“标号区”。
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 列为“标号区”。
第7列为“续行标志区”第8至此11列,称为“A区”。
程序中有些内容如部头,节头,段头,层号01,层号77 及文件描述符FD等应从A区开始写。
第12至此72列,称为“B区”。
写程序中的正文部分。
如过程部中的句子只能从B区开始写。
第73至80列,称为“注释区”。
五。
COBOL字符集包括:数字0 --- 9 ,字母A--- Z ,a --- z , 专用字符:+ - * / = , . ; … ( ) < > $ 及空格。
属于系统字符集而不属于COBOL字符集的字符只能出现在COBOL 程序中的字符串里。
六。
常量:COBOL 常量分为数值常量(如100,-29),非数值常量(如…ABC‟ )和表意常量(如ZERO,SPACE,HIGH-VALUE,LOW-VALUE ,QUOTE ,ALL 常量)。
七。
COBOL 所处理的数据的特点层次的概念:数据间存在的从属关系。
文件的概念:多个记录可以组成一个文件。
记录的概念:具有一定层次关系的一组数据项的最大集合,它是内存中具有独立逻辑含义的最大存取项,具有最高层次。
CHAPTER 2 过程部初步一。
输入输出语句。
1。
ACCEPT语句:直接从终端键盘或系统指定的输入设备上输入数据。
ACCEPT 标识符[FROM 助忆名]注:A。
标识符(identifier)指的是能唯一地标识一个数据项的数据名,不能唯一地标识一个数据项的数据名不是标识符。
标识符可以是组合项。
B。
在ACCEPT语句中如不写FROM部分,如ACCEPT A ,则表示从系统隐含指定的设备上读入一个数据给A。
如果不想从指定的设备上输入,则要用FROM 选项,这时“助忆名”需要在环境部中事先说明和那种外部设备相联系。
如:ENVIRONMENT DIVISION。
(环境部)CONFIGRATION SECTION。
(配置节)SPECIAL-NAMES。
(专用名段)CONSOLE IS ABC如在过程部中有ACCEPT T FROM ABC。
则表示要从控制台接收数据2。
DISPLAY语句:从计算机内存中输出到某一指定的输出设备上。
DISPLAY { 标识符1,常量1}[标识符2,常量2]。
[UPON 助忆名](标识符和助忆名的说明同上)ACCEPT语句和DISPLAY语句不必定义文件适用于少量的数据输入输出。
3。
READ语句:COBOL语言中数据的输入输出主要是通过对外部文件的读写进行的。
READ 语句就是从外部文件上读入数据输出到程序中的数据项中。
在程序中用到的所有文件都需要在环境部中指定程序中用到的文件名与实际外部文件的联系。
数据部也要对文件加以描述。
指定数据结构各数据项所占的内存单元长度以及数据形式。
COBOL 的存取是以文件为对象以记录为单位的。
READ语句的最简单的格式为: READ 文件名ENVIRONMENT DIVISION。
INPUT-OUTPUT SECTION。
FILE-CONTROL。
SELECT IN-FILLE ASSIGN TO 外部文件名。
为了存储读入的记录,必须在内存开辟一个与文件记录长度相等的存储区,即…输入文件纪录区‟。
每一个输入文件都有相应的…输入文件纪录区‟,与之一一对应。
亦即在数据部中描述文件的数据结构。
3。
READ语句:假设IN-FILE 文件每一记录中包含的内容为:产品代码,产品数量,产品单价,生产日期。
设某一记录的具体数据如下:0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 9 9 9 0 3 2 2prodcode quantity price year mon day如果我们希望读入该记录并对各数据项进行处理,则需要在…输入纪录区‟中划分出各数据项,以便存放相应的数据。
定义输入纪录区以及划分记录区中各数据项的工作是由数据部来完成的。
下面我们简单介绍数据部定义记录区方法,针对上面输入数据的特点,我们可以在数据部中对记录区作如下描述:DATA DIVISION。
FD IN-FILE LABLE RECORD IS STANDARD。
01 IN-RECORD。
(定义记录区名为IN-RECORD)02 PROD-CODE PIC 9(4)。
02 PROD-QUANTITY PIC 9(5)。
02 PROD-PRICE PIC 9(6)。
02 MANU-DATE。
(生产日期为一组合项)05 DATE-CCYY PIC 9(4)。
05 DATE-MM PIC 9(2)。
05 DATE-DD PIC 9(2)。
其中,FD 即FILE DESCRIPTION,表示从该行起是…文件描述体‟。
LABLE RECORD IS STANDARD :所有的磁盘文件和磁带文件都必须写明此句。
01 层定义…输入纪录区‟ 的名字为IN-RECORD,由于01层属于FD描述体,因此也就指定了IN-RECORD 和IN-FILE 的关系。
亦即从IN-FILE 读入的数据存放在IN-RECORD记录区中。
这样,在执行一次READ语句后,文件中一个记录的数据便输入到内存记录区,按排列顺序分别送到记录区中各数据项中。
注意文件的各记录中的数据是不分数据项的,只是按一定的顺序把数据存放在各字节中。
所以数据部对记录区中各数据项的描述应该与文件的记录中各数据排列次序和长度相一致。
READ 语句的一般形式:READ 文件名RECORD [INTO 标识符] [AT END 执行语句] ,例如:READ IN-FILE INTO TEMP-RECORD AT END STOP RUN 该语句除了将读到的数据传送到IN-RECORD之外,还传送到TEMP-RECORD中。
在遇到文件尾时,程序结束运行。
4。
WRITE语句:将内存中的数据输出到外部设备,主要是由WRITE 语句来完成的。
WRITE语句的最简单的格式为:WRITE 记录名(注意WRITE语句的操作对象是记录,所以是…记录名‟而不是…文件名‟)与输入文件相似输出文件也要在环境部中指定所对应的实际存在的外部文件:ENVIRONMENT DIVISION。
INPUT-OUTPUT SECTION。
FILE-CONTROL。
SELECT OUT-FILLE ASSIGN TO 打印机名。
也要在数据部中定义输出记录区:DATA DIVISION。
FD OUT-FILE LABLE RECORD IS OMITTED。
01 OUT-RECORD。
02 PROD-CODE PIC 9(4)。
02 PROD-QUANTITY PIC 9(5)。
02 PROD-PRICE PIC 9(6)。
02 MANU-DATE05 DATE-CCYY PIC 9(4)。
05 DATE-MM PIC 9(2)。
05 DATE-DD PIC 9(2)。
LABLE RECORD IS OMITTED :凡输出设备是打印机的都必须写明此句。
如输出设备是磁盘,则仍用LABLE RECORD IS STANDARD。
01 层定义…输出纪录区‟ 的名字为OUT-RECORD,由于01层属于FD描述体,因此也就指定了OUT-RECORD 和OUT-FILE 的关系。
在用WRITE 语句输出一个记录之前,应向输出记录区传送数据。
如已将数据传送到上述各数据项中,则在执行W RITE OUT-RECORD 语句后,则记录区中的数据通过打印机打印出来。
WRITE 语句的一般形式:标识符2 LINEBEFORE 整数 LINESWRITE 记录名[FROM 标识符1 ] AFTER ADVANCING 助忆名PAGE5。
OPEN语句:程序中如果需要读写文件,则该文件必须先用OPEN语句打开,系统在执行READ,WRITE以前先检查该文件是否已在规定的外部设备上准备就绪。
OPEN语句的一般格式为:INPUT 文件名1 [,文件名2]。
OPEN OUTPUT 文件名3 [,文件名4]。
6。
CLOSE语句:当对一个文件的读或写的操作已完成,就应关闭该文件。
CLOSE语句的一般格式为:CLOSE 文件名 1 [,文件名2]。
COBOL通过2位长度的文件状态字(FILE-STATUS)来表示文件的操作结果是否成功,常见的文件状态值及意义:二。
算数运算语句1。
ADD语句:格式1:ADD 标识符1 ,标识符2。
TO 标识符m [,标识符n]。
常量1 ,常量2格式2:ADD 标识符1 ,标识符2 ,标识符3常量1 ,常量2 ,常量3。
GIVING 标识符m [,标识符n]。
2。
SUBTRACT语句:格式1:SUBTRACT 标识符1 ,标识符2 。
FROM 标识符m [,标识符n]。
常量1 ,常量2格式2:SUBTRACT 标识符1 ,标识符2 。
FROM 标识符常量1 ,常量2 常量GIVING 标识符n [,标识符p]。
3。
MULTIPLY语句:格式1:MULTIPLY 标识符1 BY 标识符2 [,标识符3]。
常量1,格式2:MULTIPLY 标识符1 BY 标识符2 GIVING 标识符3 [,标识符4]。
常量1 ,常量24。
DIVIDE语句:格式1:DIVIDE 标识符1 INTO 标识符2 [,标识符3]。
常量1格式2:DIVIDE 标识符1 INTO 标识符2 GIVING 标识符3 [,标识符4]。