初级Cobol经验
COBOL培训教程-7
PERFORM语句的改进 PERFORM语句的改进
• 将被执行部分变成了可选部分,并增加了可选项“语句序 将被执行部分变成了可选部分,并增加了可选项“ END和内置语句部分。 列END-PERFORM” 和内置语句部分。
例:PERFORM VARYING ITEMC FROM 1 BY 2 UNTIL ITEMC > 7 MOVE A(ITEMC) TO B(ITEMC) ENDEND-PERFORM.
执行语句的多重循环形式
• COBOL允许用到三重循环,其一般格式为: COBOL允许用到三重循环,其一般格式为: 允许用到三重循环
THROUGH 过程名1 PERFORM 过程名1 过程名2 过程名2 THRU 参数1 初值1 步长1 条件1] [VARYING 参数1 FROM 初值1 BY 步长1 UNTIL 条件1] 参数2 初值2 步长2 条件2] [AFTER 参数2 FROM 初值2 BY 步长2 UNTIL 条件2] 参数3 初值3 步长3 条件3] [AFTER 参数3 FROM 初值3 BY 步长3 UNTIL 条件3]
多分支选择语句
• EVALUATE语句的一般格式为: EVALUATE语句的一般格式为: 语句的一般格式为
标识符1 标识符1 常量1 EVALUATE 常量1 … 条件式1 条件式1 ANY TRUE WHEN FALSE 标识符2 标识符2 THROUGH [NOT] 常量2 常量2 THRU 语句序列2 WHEN OTHER 语句序列2 NDEND-EVALUATE.
循环PERFORM语句 循环PERFORM语句 PERFORM
• 循环PERFORM语句的一般格式为: 循环PERFORM语句的一般格式为: PERFORM语句的一般格式为
cobol教程
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程序。
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学习基础教程 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(标识部) : 主要用来指定源程序的名字,也可以写入其他做备忘的某些信息。
07_第十课_COBOL编程入门
e.g compute A = a * (b + c) – d
一、标识部
北京德派克公司
作用:标识COBOL源程序名及一些备忘信 息,以供系统管理和调用。 格式:
IDENTIFICATION DIVISION. PROGRAM-ID. 程序名. [AUTHOR. 作者姓名] [……]
二、环境部
商业数据处理:银行、证券系统 数据管理领域:人事管理、库存管理、财 会工作、报表统计、情报检索等。
数据处理的特点:算术计算量少而逻辑处理 多;输入输出量大;数据间存在着一定的 逻辑关系;大量的分类排序。主要功能是 描述数据结构和分析处理大批量的数据。
COBOL语言特点
北京德派克公司
常量
北京德派克公司
数值常量 100,30,29.2,-123 非数值常量 ‘abc’‘123’ 表意常量 ZERO/ZEROS/ZEROES,SPACE/SPACES, HIGH-VALUE,LOW-VALUE,ALL
编码方式
北京德派克公司
COBOL的源程序书写格式
区间 关 键点
北京德派克公司
北京德派克公司
·每个字符占一格 ·主机系统一般都用大写字母。 ·相邻的两个字(如COBOL的保留字或用户自定义)之间 必须留一个以上的空格。 ·运算符(如加、减、乘、除、乘方)和等号左右两边必 须各留一个空格。在过程部中左括号的左侧和右括号 的右侧要留一空格,而内侧不必留空格。 ·逗号、句号、分号的左边不能留空格,而右边应有空 格。 ·一个空格和多个空格作用相同
HOST LANGUAGE SOURCE
COMPILE OBJECT MODULE
COBOL培训教程-11
COBOL培训教程-11COBOL是一种过程型编程语言,最初由美国联邦政府财政部和IBM公司共同开发,主要应用于商业和金融领域。
随着计算机技术的不断发展和商业需求的变化,COBOL确立了其在企业信息系统中的重要地位。
而为了满足企业对COBOL程序员的需求,也为有志成为COBOL开发人员的IT专业人士提供了学习机会,许多培训机构开始提供COBOL培训教程,其中包括“COBOL培训教程-11”。
一、“COBOL培训教程-11”是什么?“COBOL培训教程-11”是一个专门为COBOL初学者或想深入学习COBOL的人提供的培训教程。
本教程涵盖了COBOL的基本语法、程序结构、数据类型、数据处理、文件处理、子程序等内容,同时还涉及到企业级COBOL程序的编写和调试。
本教程注重实践操作,通过编写实际的程序来帮助学习者更好地理解和掌握COBOL编程。
二、为什么要学习COBOL?COBOL是一种非常稳定、安全、高效的编程语言,被广泛应用于金融、制造、保险、医疗等行业的业务处理和管理系统。
许多企业的信息系统至今仍在使用COBOL编写的程序,需要维护和升级。
因此,学习COBOL开发有非常广阔的就业前景。
除此之外,COBOL还有以下优点:1. 语法简单易懂,学习门槛不高。
2. 可以处理大型数据,并有效地组织和管理数据。
3. 可以与其他编程语言或工具集成,提供灵活性。
4. 可以从源代码的角度审计系统,保证信息安全。
三、“COBOL培训教程-11”的学习流程1. 熟悉COBOL开发环境学习COBOL之前,需要熟悉COBOL开发环境。
现有的主流开发环境包括微软Windows、Linux、UNIX等,还需要安装COBOL编译器和调试器等开发工具。
在学习过程中需要熟练掌握开发环境的基本使用方法。
2. 学习COBOL基本语法COBOL的基本语法包括程序结构、基本语句、数据类型、运算符等。
学习者需要熟悉这些基本语法,从而能够编写简单的COBOL程序。
COBOL基础培训
➢ 1960年4月正式发表COBOL 61。目前最新版COBOL 2002。
➢ 常量:COBOL常量分为数值常量,非数值常量,表意常量。 ✓ 数值常量:由数字 0 ~ 9 ,正负号和小数点组成,如:123, 45.67, -890 ✓ 非数值常量:用匹配的引号(单)括起来的字符串,如:’$123’,’HELLO!’。 由纯数字组成 的非数值常量不能用于数学运算,如:’123’和123不同。 ✓ 表意常量: QUOTE, QUOTES表示引号,如:QUOTE ‘HENRY’ QUOTE ZERO, ZEROS, ZEROES : 表示零字符;SPACE, SPACES : 表示空格 HIGH-VALUE, HIGH-VALUES : 表示具有最高值的字符(每个字符二进制为11111111) LOW-VALUE, LOW-VALUES : 表示具有最低值的字符 (每个字符二进制为00000000) ALL : 表示由该量组成的字符串
➢ 数据名:相当于其它语言中的变量名,它代表一个具体的数据项。 ✓ 只能由字母(至少一个),数字和连字符“-“组成,连字符不能出现在两端,不能包含空格 ✓ 数据名长度不能超过30个字符 (length<=30) ✓ 尽量使用有意义的英文字或拼音,如:NAME,XING-MING ✓ 不能用保留字作为数据名,多使用连字符,如: NAME-OF-STUDENT
ENVIRONMENT
INPUT-OUTPUT
FILE-CONTROL.
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打开前动态指定文件路径。
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语言基础教程
C O B O L语言基础教程(总25页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除cobol语言基础培训教程2009年04月23日| 5:23 下午分类:大型机|Mainframe| 标签:cobol 数据类型、COBOL 程序举例、cobol入门、cobol教程、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—80 IDENTIFICATION 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区”。
COBOL基础操作
AHEADETP MF4组1班COBOL上机实验报告姓名:编号:CN0001日期: 2011.02.XXListCOBOL Exercise (3)1. HELLO (3)2. ACCEPT1 (5)3. READ1 (12)4. WRITE (14)5. SIGN1 (21)6. STRING (25)7. DATE1 (29)8. PARM1 (32)9. COPY1 (36)10. SUBPROGRAM (38)11. TABLE1 (45)12. SEARCH1 (52)13. SORT1 (54)14. SEQ1000 (57)15. SEQ2000 (60)16. RPT1000 (63)COBOL Exercise1.HELLO这是一个入门程序,功能是显示:“HELLO WORLD”创建CN0001.COBLE.LOADLIB 的PDS数据集文件:COBOL语言编译的HELLO源程序代码,源代码如图:文件名为COMPILE的JCL文件源代码如图:文件名为GOHELLO的JCL文件源代码如图:2.ACCEPT1这个程序主要是学习ACCEPT语句,该语句主要用于接收数据,当用户从终端上输入数据时,这些数据将通过ACCEPT语句保存到相应变量中。
文件名为ACCEPT1的COBOL文件源代码如图:运行后结果如图:运行文件名为GACCEPT1的JCL文件源代码如图:运行结果如图:COMPUTE1和COMPUTE2利用ACCEPT语句接受数据,然后进行简单的运算。
COMPUTE1:COBOL代码如图:把文件名为COMPILE 的JCL文件SUB,使相应的COBOL变为可执行文件,运行后如图:编写Gcompute1的JCL源程序代码文件,它可调用上步生成的可执行文件,源代码如图:运行后结果如下图:COBOL代码如图:把文件名为COMPILE 的JCL文件SUB,使相应的COBOL变为可执行文件,运行后如图:编写文件名为Gcompute2的JCL源程序代码文件,它可调用上步生成的可执行文件,源代码如图:对接收的值N.的一系列运算过程参照相应的COBOL程序,如下图:运行后值=【(12+3)/5 – 2 】* 8=08,下图为运行结果:3.READ1这个程序主要是学习READ语句,该语句用于从文件中读取数据。
cobol 实例以及入门基础
1.关于COBOL的初步知识◆COBOL是Common Business Oriented Language (通用商业语言,或称管理语言)的缩写◆最适用于数据处理◆比较接近于自然语言(英语)◆COBOL的结构严谨,层次分明◆COBOL的缺点是比较烦琐。
Batch Program (VSAM/Batch COBOL)◆COBOLVSAM/ONLINE PGMCICS ONLINE ProgramDBS/ONLINE PGM◆本课以ANSI COBOL 1974为标准1.1一个例子:**************************************************************** * * * HUMAN RESOURCE INFORMATION SYSTEM * * VERSION 2.1.0 COPYRIGHT (C) 1998 * * DALIAN NEU-BITCO SOFTWARE CO., LTD. * * ALL RIGHTS RESERVED. * * * **************************************************************** IDENTIFICATION DIVISION.(标识部)PROGRAM-ID. YTP008.(程序名)AUTHOR. DALIAN NEU-BITCO SOFTWARE CO.,LTD.(作者姓名)INSTALLATION. DALIAN. (编写场所,大连)DATE-WRITTEN. 1998/7/11. (编写日期)DATE-COMPILED. 1998/8/1. (编译日期)SECURITY. THIS PROGRAM RESTRICTED TO PERSONNEL.**************************************************************** * * * SYSTEM : HUMAN RESOURCE INFORMATION SYSTEM * * * * PROGRAM : YTP008 * * * * TYPE : VSAM/VS COBOL II BATCH * * * * TITLE : INFORMATION ENTRY * * * * INPUTS : CARD FILE QSAM FILE * * - - - - - - - - * * * * OUTPUTS HUMAN RESOURCE (YTF019) * * * * FUNCTION : THIS BATCH PROGRAM IS TO SCAN AN IDCAMS SOURCE * * MEMBER, EACH IDCAMS SOURCE MEMBER REPRESENTS A * * * * * **************************************************************** **************************************************************** * * * REVISION LOG * **************************************************************** * CTL NO * DATE * INIT. * DESCRIPTION * **************************************************************** * * 7/11/98 * NEU-BITCO*INITIAL INSTALLATION BY ZYB * ****************************************************************ENVIRONMENT DIVISION.(设备部或称环境部)CONFIGURATION SECTION.(配置节)SOURCE-COMPUTER. IBM-3084. (源计算机名,编译)OBJECT-COMPUTER. IBM-3084. (目标计算机名,运行)MEMORY SIZE IS 整数 (WORDS, CHARACTERS, MODLES).SPECIAL-NAMES. CONSOLE IS CRT.(专用名描述项)DECIMAL-POINT IS COMMA.(小数点是逗号)CURRENCY SIGN IS ‘Y’. (代替$)INPUT-OUTPUT SECTION.(输入输出节)FILE-CONTROL.(文件控制描述体)SELECT FD-YTI008 ASSIGN TO UR-S-YTI008*?? FOLLOWING LINE SHOULD BE DELETED FOR M/FORGANIZATION IS LINE SEQUENTIALFILE STATUS IS WS-FILE-STATUS.- - - - ---------DATA DIVISION.(数据部)FILE SECTION.(文件节)FD FD-YTI008LABEL RECORDS ARE STANDARD.01 YTI008-REC.05 YTI008-IDCAMS PIC X(80).- - - - - - --- - - - - --**************************************************************** * WORKING STORAGE**************************************************************** WORKING-STORAGE SECTION.(工作单元节)01 FILLER PIC X(50) VALUE'PROGRAM YTP008 WORKING-STORAGE BEGINS HERE'.*?? FOLLOWING LINES SHOULD BE DELETED FOR M/F77 UR-S-YTI008 PIC X(30) VALUE 'YTI008.DAT'.01 WORK-STORAGE.05 WS-SYS-DATE PIC 9(6).05 FILLER REDEFINES WS-SYS-DATE.10 WS-SYS-YY PIC 9(2).10 WS-SYS-MM PIC 9(2).10 WS-SYS-DD PIC 9(2).05 WS-SYS-TIME PIC X(6).05 FILLER REDEFINES WS-SYS-TIME.10 WS-SYS-HH PIC 9(2).10 WS-SYS-MN PIC 9(2).------PROCEDURE DIVISION.(过程部)DISPLAY ' PROGRAM YTP008 HAS BEEN STARTED .............'UPON CRT.PERFORM 1000-OPEN-FILE THRU1000-OPEN-FILE-EXIT.-- - - - --- - - - -STOP RUN.1.2 COBOL 程序的结构(1/p4)部(Division) 一部可包括若干节节(Section) 一节可包含若干段段(Paragraph) 一段可包含若干句子句子(Sentence) 一个句子可包含若干语句语句(Statement) 制定计算机完成一定的操作子句(Clause) 制定完成某一方面的功能每个程序应包含四个部IDENTIFICATION DIVISION (标识部)主要用来指定源程序名字,也可以写入其他用作备忘的某些信息(如日期、作者等)。
COBOL培训教程-9
表的建立
• 表的建立就是定义一个表。表名应在数据部中说 表的建立就是定义一个表。 明。 • 表元素可以是初等项,也可以是组合项。 表元素可以是初等项,也可以是组合项。 • 引用表元素是只需一个下标的,是一维表,需要 引用表元素是只需一个下标的,是一维表, 两个下标的则是二维表。 两个下标的则是二维表。 • 可以直接从数据部的描述看出:如果在数据项描 可以直接从数据部的描述看出: 述体中有一个OCCURS子句, OCCURS子句 述体中有一个OCCURS子句,而在它的上属数据项 的描述体中没有OCCURS子句,则它是一维表, OCCURS子句 的描述体中没有OCCURS子句,则它是一维表,反 则为二维表。当然还可以定义三维表。 之,则为二维表。当然还可以定义三维表。
给表元素赋初值(二) 给表元素赋初值(
• 例1: 01 TABLE VALUE IS ZERO. 03 A OCCURS 20 TIMES PIC 9(3). • 例2 : UNIT-PRICE03 UNIT-PRICE-TABLE. 05 FILLER PIC X(10) VALUE ‘0100001350’. 05 FILLER PIC X(10) VALUE ‘0200001420’. UNIT-PRICE-TABLE03 UNIT-PRICE-TABLE-R UNIT-PRICEREDEFINES UNIT-PRICE-TABLE. 05 TABLE OCCURS 2 TIMES. PROD07 PROD-CODE PIC X(4). PROD07 PROD-PRICE PIC X(6).
标识符1 [,标识符2]… 标识符1 [,标识符2]… SET 位标1 [, 位标2] 位标1 [, 位标2] TO 标识符3 标识符3 位标3 位标3 整数 标识符 整数
COBOL程序设计语言入门教程
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语言基础教程
COBOL语言基础教程1.数据定义:在COBOL中,数据定义是程序的核心。
它定义了各种数据项的类型和长度,如数值、字符串、日期等。
COBOL提供了特殊的关键字和语法用于定义这些数据项。
2.数据处理:COBOL提供了许多内置函数和操作符,用于处理和计算数据。
这些函数和操作符可用于进行数学运算、日期计算、字符串处理等。
COBOL还具有丰富的条件和循环语句,用于控制程序的流程。
3.文件处理:COBOL是一种事务处理语言,它可以处理大量的数据。
在COBOL中,可以定义文件结构和记录布局,并使用特殊的关键字和语句来读取、写入和更新文件数据。
这使得COBOL成为处理大型数据库的有效工具。
4.子程序:COBOL支持子程序的概念,用于将程序分割成一系列可重用的模块。
这使得程序的开发和维护更加容易。
子程序可以被其他程序调用,并传递参数进行数据交换。
5.错误处理:COBOL具有强大的错误处理机制。
它提供了异常处理和错误检测的能力,以确保程序能够适应各种错误情况,并采取适当的措施。
这有助于保护程序免受潜在的错误和异常的影响。
6.编程规范:COBOL具有一套严格的编程规范和命名约定。
这些规范旨在使程序易于理解和维护,并提高程序员之间的协作。
遵循这些规范将使程序具有一致的外观和结构。
7.部署和调试:COBOL代码可以在各种计算机系统上运行,包括大型主机和小型服务器。
由于COBOL的稳定性和广泛性,许多工具和调试器可用于帮助开发和调试COBOL程序。
总结起来,COBOL是一种功能强大且广泛应用于商业应用程序开发的编程语言。
它有自己独特的语法结构和特殊的数据处理功能,适用于处理商业交易和数据处理。
掌握COBOL的基础知识将有助于开发和维护商业应用程序的工作。
cobol考前知识点 (1)
U11.COBOL是Common Business Oriented Language (通用商业语言)2. COBOL的组成部分:(1)标识部(IDENTIFICATION DIVISION):用于标识程序名(一般不超过8位)。
在标识部下面不设节.直接设段(2)环境部(ENVIRONMENT DIVISION):用于说明程序运行的环境。
(3)数据部(DATA DIVISION):用于说明程序中涉及的所有数据。
数据部下设节,节下面是描述体(4)过程部(PROCEDURE DIVISION):是程序的核心部分,它决定计算机应进行什么操作。
过程部可以设节,下面再设段,也可以直接设段(部-节-段-句子-语句-子句)3.COBOL 源程序的书写格式:第1 至6 列为―标号区‖。
第7列为―续行标志区‖。
第8至此11列,称为―A区‖。
程序中有些内容如部头,节头,段头,层号01,层号77 及文件描述符FD等应从A区开始写。
第12至此72列,称为―B区‖。
写程序中的正文部分。
如过程部中的句子只能从B 区开始写。
第73至80列,称为―注释区‖。
书写注意事项:运算符(如加、减、乘、除、乘方)和等号左右两边必须各留一个空格。
在过程部中左括号的左侧和右括号的右侧要留一空格,而内侧不必留空格。
逗号、句号、分号的左边不能留空格,而右边应有空格。
4.COBOL语言的元素―#‖―!‖―?‖―%‖只能在COBOL程序中的字符串中出现。
每一个COBOL字不能超过30个字符。
5.数据名的定名规则(1)每个数据名的长度为1-30个字符之间。
(2)只能由字母数字和连接符―-‖组成,而且其中至少应有一个字母。
连接符只能出现在数据名的中间。
(3)数据名中不能出现空格。
(4)不应选择COBOL的保留字作为数据名。
(5)并不要求数据名是有意义的英文字。
6.COBOL程序的运行JCLU21.标识部(1)必写部分IDENTIFICATION DIVISION. (标识部)PROGRAM-ID. 程序名. (程序标识段)程序名不超过30个字符。
Cobol语言开发实践与维护技巧
Cobol语言开发实践与维护技巧随着信息技术的不断发展,计算机编程语言也在不断涌现和更新。
然而,有些古老的编程语言仍然在某些领域中发挥着重要的作用。
其中一种饱经岁月洗礼的编程语言就是Cobol(Common Business-Oriented Language)。
Cobol语言自从上世纪50年代诞生以来,一直被广泛用于金融、保险、政府等领域的应用开发和维护。
本文将探讨Cobol语言的开发实践和维护技巧,以帮助开发人员更好地应对Cobol项目。
一、充分了解Cobol语言的特性和语法在进行Cobol语言开发之前,首先需要充分了解Cobol语言的特性和语法。
Cobol是一种面向业务的编程语言,注重数据处理和文件管理。
它采用英语式的语法,可读性较高。
开发人员需要熟悉Cobol语言的数据类型、操作符、条件语句、循环语句等基本语法。
二、使用有效的命名规范和注释良好的命名规范和注释是保持代码可读性和可维护性的关键。
对于Cobol语言的开发,建议使用有意义的变量名称,以便于他人理解代码的含义。
同时,为了方便日后的维护工作,应该为每个程序和子程序添加详细的注释,解释代码的作用、输入输出以及实现逻辑等。
三、模块化设计和重用代码在Cobol语言开发中,模块化设计是非常重要的。
将复杂的代码划分为不同的模块,每个模块负责特定的功能,可以提高代码的可读性和可维护性。
同时,模块化设计还可以促进代码的重用。
开发人员可以将一些常用的功能封装为子程序或函数,提高代码的效率并减少代码的冗余。
四、合理使用调试工具和技巧调试是开发过程中不可或缺的环节。
Cobol语言也提供了一些调试工具和技巧,方便开发人员定位问题并进行排除。
例如,可以使用Cobol的调试命令来跟踪程序的执行流程,查看变量的值,以及捕获错误信息。
此外,还可以使用断点技巧,将程序的执行暂停在特定的位置,以便进行代码逐行调试。
五、错误处理和异常处理机制在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学习笔记_20121231
cobol语言.修订版.(上册+下册).pdf2012-12-14(1~22 )COBOL语言特点:(1) 适合数据处理(算术计算量小而逻辑处理多;输入输出数据量大;数据间有一定逻辑关系,即层次关系;大量分类排序;对报表要求高、多样化等)(2) 接近自然语言英语,易于理解(3) 通用性强,易于移植(4) 结构严谨,层次分明,每个程序分为4部分(division:标示部Identification division、环境部envroNment division、数据部data division、过程部procedure division)、每部分分为若干节(section 有节头标示,类似部头)、节下面分为若干段(paragraph 有段头标示)。
每一部分都有固定格式。
(5) 缺点是比较繁琐。
不乱程序逻辑如何,都必须按照四大部分生成,对每部分都必须定义和说明,即使该部分实际上没有内容,也要写出头部,导致源程序冗长。
=================一个简单的COBOL程序:Code:IDENTIFICATION DIVISION.PROGRAM-ID. EXAM1.ENVIRONMENT DIVISION.DATA DIVISION.PROCEDURE DIVISION.S. DISPLAY 'THIS IS A COBOL PROGRAM.'STOP RUN.=================IDENTIFICATION DIVISION: 用来指定源程序名称,也可写入其他信息(如作者、日期、保密等)。
ENVIRONMENT DIVISION: 程序中用到的数据文件名和计算机的设备的对应关系,即把某一数据文件和一外部设备关联起来。
此外,还可以指定目标程序中使用的专门控制方法和程序所用内存区的大小。
DATA DIVISION: 程序用到的所有数据的类型和占用内存的情况。
PROCEDURE DIVISION: 用来给出程序要执行的命令,是计算机产生相应的操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
cobol
COBOL程序的书写区
域
第01——06列为“标识
区”
标号是6位数字,应从小到大,但不一定连
续,标号只是方便查阅程序,可以省略。
层 01-49第7列为“注释区”
66层用于重命名“*”:表示本行为注释行,用于注释程序说明。
77层一般用于定义无
层次的变量
第08——11列为“A区”
88层用于定义条件名
程序中一列语句必须从该区开始书写:部
名、节名、段名,描述符(FD),01和第12——72列为“B区”
程序正文部分,过程部语句必须从该区开
始书写。
第73——80列为“注释
区”
DB CURSOR
declear
在WORKING -STORAGE 或者PROCEDURE
DIVISION 中声明
按行从SELECT 取出的数据赋予到宿主变
量中
EXEC SQL
DECLASE SAMPL1 CURSOR FOR
SELECT NAME,AGE,SEX FROM
ALL.TABLE
WHERE CLASS = A
END-EXEC
inner join(内连
接),在两张表进行
连接查询时,只保留
两张表中完全匹配的
结果集。
left join,在两张表
进行连接查询时,会
返回左表所有的行,
即使在右表中没有匹
配的记录。
open PROCEDURE DIVISION 中去定义
full join 不匹配fetch EXEC SQL
FETCH SAMPLE1
INTO:FNAME,:FAGE,:FSEX END-EXEC
close PROCEDURE DIVISION 中使用
EXEC SQL
CLOSE SAMPLE1
END-EXEC
STOP RUN 终止程序
将控制权返回系统
EXIT PROGRAM 子程
序返回主程序 主程
序无效
go back //STP0200 EXEC PGM=SORT
//SORTIN DD
DSN=ADCDMST.TEST.DAT AC,DISP=SHR
//SORTOUT DD
DSN=ADCDMST.TEST.SOR T
//
DISP=(NEW,CATLG,DELE TE),
//
UNIT=SYSDA,SPACE=(TR K,(5,2),RLSE),
//
DCB=(RECFM=FB,LRECL= 80)
//SYSOUT DD SYSOUT=*
//SYSIN DD * SORT
FIELDS=(1,5,CH,A) END
/*
组成
标识部标识程序的功能
环境部程序运行的环境,用到的文件
数据部文件节
(file
section
)
用来描述
程序中用
到的输入
输出文件
及记录中
各数据项
的属性工作单元
节
(worki
ng-
storage
section)
用来定义
程序中用
到的变量
联接节
(linkag
e
section)
定义调用
子程序所
用到的参
数
过程部程序执行
的语句
过程部中
应该包括
一个程序
出口语
句:EXIT
PROGRAM.
IEBCOPY IEFBR14
拷贝整个
数据集
自身没什
么用,删
除后续生
成的文件
合并数据
集
备份并压
缩一个
PDS
JCL常用程序
jcl DD语句
参数dsn 数据集的物理名
DISP DISP=(状态(打开方式),正常时的处理,异常时的处理)
DCB RECFM =
FB,
LRECL =
80
数据集的
物理特征
VOL卷标JCL
ERROR,一
般是JCL语
句的语法,
格式错误
IGD17001I 数据集有重名
IEFC630I 关键字或字段拼写错
IEFC019I DD语句位置错误
读文件,
写记录IDCAMS
创建,删
除,重命
名,编
目,取消
编目数据
集。
通常用于
管理VSAM
数据集。
临时文
件:&&
NEW OLD
SHR MOD
KEEP
DELETE
CATLG
UNCATLG
PASS
new一个
数据集时
定义文件
长度,定
长或者变
长。