• 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区”
                                      程序正文部分,过程部语句必须从该区开始书写。
                           第73——80列为“注释区”
                                       行注释区,写入此区的内容在编译时被忽略(一般不推荐使用。)
     
               COBOL程序的书写格式
                            大小写字母等价,但是引号中的字符除外。
                            相邻的两个COBOL字之间有一个以上的空格。
                             运算符和=左右必须各有一个以上的空格;圆括号外面必须有一个以上的空格,内侧不必。
                             逗号、分号、句号左边不能有空格,而右边应有。
                COBOL的字符
                              COBOL的字符集包括:数字0-9,字母A-Z,a-z,15个专用符号:+ - * / = ,(逗号)  .(句号) ;(分号) '(引号) $ () <> 空格。属于系统字符集而不属于COBOL字符集的字符,只能出现在COBOL的字符串或注释行中。
                              COBOL字是由上述字符组成的最小单位。(保留字、用户字)
                              保留字:规定五种类型专门用途的字(300多个)
                                      键字:如MOVE ADD 等
                                      可选字:如USAGE IS等
                                      专用字符:如运算符:+ - * /等;比较符><=等
                                      表意常量:如ZERO/ZEROS/ZEROES;SPACE/SPACES;QUOTE/QUOTES;HIGH-VALUE/HIGH-VALUES;LOW-VALUE/LOW-VALUES;ALL;NULL/NULLS
                                       专用寄存器:如:LENGTH OF;RETURN-CODE等。
                              用户字:用户自定义的名字。
                                      如:程序名、文件名、节名、段名、数据名等。
     
                              数据名:相当于其它语言中的变量名,它代表一个具体的数据项。
                                     只能由字母(至少一个),数字和连字符“-”组成,连字符不能出现在两端,不能包含空格。
                                     数据名长度不能超过30个字符
                                    尽量使用有意义的英文
                                    不能使用保留字作为数据名,多使用连字符,如NAME-OF-STUDENT
                              常量:COBOL常量分为数据常量,非数值常量,表意常量
                                     数值常量:由数字0-9,正负号和小数点组成,如:123,25.67,-73
                                     非数值常量:用匹配的引号(单引号)括起来的字符串,如‘$123’ ,由纯数字组成的非数值常量不能用于数学运算,如‘123’和123不同。
                                     表意常量:
                                        
     

    标识部

               标识部的作用

                          标识部是COBOL程序的第一部分,用来为程序设定标识,以便识别,每个程序(包括主程序和子程序)都必须有一个名字,系统按名字对程序管理和调用。标识部下面不设置节,只设置段,部名和段名都从A区开始书写。

                书写格式

                         

                 PROGRAM-ID命名规则

                          只能使用字母、数字和连字符

                          最少一个字符,不能以连字符开头或者结尾

                          最长30个字符,但通常工作中要求不超过8个字符(和分区数据集下的member名一致)

                         书写格式:PROGRAM-ID.     PROGRAM-NAME.

    环境部

                 环境部的作用

                         环境部用来说明程序运行的软硬件环境,是COBOL程序中唯一与设备相关的部分,将程序中的内部文件与外部文件建立起联系。

                         环境部包括两个节:配置节和输入输出节(当无配置说明和文件应用时可省略。)

                        

                         配置节包括三个段

                         

                         输入输出节

                        

                        

    数据部

                 1、数据部的作用

                              程序中涉及到的全部数据(输入、输出、中间)都要在此定义,对它们的属性进行说明。主要描述以下属性:

                              数据类型(数值/字符)和存储形式(长度)

                              数据项之间的关系(层次和层号)

                              文件与记录的关系

                 2、数据部的结构

                              根据数据项的用途不同,数据部可以分为:

                              文件节(file section)

                                      用来描述程序中用到的输入输出文件及记录中各数据项的属性

                              工作单元节(working-storage section)

                                      用来描述程序中用到的中间数据

                              联接节(linkage section)

                                       用来描述与调用程序间发生数据传递的数据项(即参数)

                 3、数据定义

                              COBOL中把有层属关系的数据用层次关系来描述

                             

                              层次规定:

                              

                              

                 4、文件节(file section)

                             程序中的每个输入、输出文件的数据格式都要在此描述,包括:

                                     文件名称和属性

                                     文件中包括的记录的名字

                                     每个记录中数据的层次关系

                                     记录中各数据项的格式和占内存的大小

                             文件的描述一般格式

                                     FD 文件名(内部文件名)

                                     01 记录名

                                           05 数据项1 PIC 。。。。。。

                                           05 数据项2 PIC 。。。。。。

                                     FD语句是文件描述体,用来描述文件与记录的属性,如记录名称、格式、长度

                                     FD语句下所有的数据组和和数据项组成了该文件的一条记录

                                     记录描述:记录描述体由01层号开始,后跟记录名。用于定义记录的数据格式,即各下层的数据项的数据类型和长度。如果记录本身就是一个初等项,则在记录名后描述记录型和长度。

                                    举例说明:

                                   

                 5、工作单元节(working-storage section)

                           

                           

                 6、COBOL中的数据类型(数值型、字母型、字符型、编辑型)

                            

                           

                           

                           

                          

                          

                 7、链接节(linkage    section)

                           作为主程序与子程序间参数传递的数据名定义在子程序的linkage section。也就是该子程序的接口。数据项的定义形式与在工作单元节一致。

                            

    过程部

               1、过程部的作用。

                     编写程序要执行的语句,是程序的核心。

               2、INITIALIZE语句

                     

               3、ACCEPT语句:用于接收从键盘或指定设备上获得输入数据

                      

               4、DISPLAY语句:从计算机内存中的数据输出到某一指定的输出设备上,如监视器、系统输出流等。

                     

                      

               5、MOVE语句:相当地赋值语句,可以将常量或一个数据项的内容传送到另一个数据项中

                     

                      

                     

                     

                     

               6、文件操作语句(OPEN READ WRITE CLOSE)

                      

                     

                     

                    

                    

                    

               7、算术运算语句

                     

                      

                      

                      

                     

                     

               8、字符串语句(STRING UNSTRING INSPECT)

                      

                     

                     

                     

                     

               9、IF语句(条件转移语句。根据给出的判定条件是否满足,来决定执行哪一部分语句)

                      

                     

                     

                     

                                       

               10、EVALUATE语句(多分支选择结构)

                      

                       

                                        

               11、PERFORM语句(作为执行语句和循环控制语句)

                       

                                   

               12、EXIT语句

                       提供一组过程的公共出口,或者说它指出了被调用过程的逻辑终点,一般用作perform语句序列的出口。EXIT必须是段中唯一的语句,前面必须有段名。

               13、CONTINUE语句

                         用来指定一个空操作,即什么也不做,用来占位置。程序将顺序执行到CONTINUE的下一条语句。

               14、GOTO语句

                        

               15、CALL语句(调用子程序)

                       

                       

                       

               16、GOBACK语句

                        返回语句。停止运行,将控制权返回给上一级。子程序必须用GOBACK,而不能用STOP,因为STOP停止的是一个RUN UNIT(运行单元)。

               17、STOP RUN语句

    停止语句。STOP RUN在逻辑上应该是程序的最后一个语句。STOP RUN执行后,程序停止运行,停止后不能再接着运行,如需要,可再重新运行一次。主程序一般通过STOP RUN语句结束运行单元。

    VSAM文件

               1、什么是VSAM

                    

               2、VSAM的组织形式和存取方法

                     

                     

               3、VSAM在环境部

                     

               4、VSAM在数据部

                     

               5、VSAM在过程部

                    

                   

              

    COBOL语言编程规范

                            

                           

  • 相关阅读:
    linux获取日志指定行数范围内的内容
    python解决open()函数、xlrd.open_workbook()函数文件名包含中文,sheet名包含中文报错的问题
    robot framework添加库注意事项
    robot framework取出列表子元素
    Vue 及框架响应式系统原理
    响应式布局和自适应布局的不同
    前端综合学习笔记---异步、ES6/7、Module、Promise同步 vs 异步
    前端综合学习笔记---变量类型、原型链、作用域和闭包
    doT.js模板引擎及基础原理
    Spring Boot入门第五天:使用JSP
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3325017.html
Copyright © 2020-2023  润新知