COBOL学习
COBOL概述
什么是COBOL语言:
标识部
标识部的作用
标识部是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语言编程规范
COBOL学习的更多相关文章
- informatica 学习日记整理
1. INFORMATICA CLIENT的使用 1.1 Repository Manager 的使用 1.1.1 创建Repository. 前提: a.在ODBC数据源管理器中新建一个数据源连接至 ...
- GCC、Makefile编程学习
相关学习资料 http://gcc.gnu.org/ https://gcc.gnu.org/onlinedocs/ http://zh.wikipedia.org/zh/GCC http://blo ...
- 《C语言学习笔记》指针数组及其应用
C语言中,最灵活但又容易出错的莫过于指针了.而指针数组,是在C中很常见的一个应用.指针数组的意思是说,这个数组存储的所有对象都为指针.除了存储对象为指针,即一个地址外,其它操作和普通数组完全一样. # ...
- C#学习笔记一:C#开发环境的设置
C#是.NET Framework的一部分,用于编写.NET应用程序. C#集成开发环境(IDE) 微软提供了以下C#编程开发工具: Visual Studio 2010 (VS) Visual C# ...
- python学习------面向对象的程序设计
一 面向对象的程序设计的由来 1940年以前:面向机器 最早的程序设计都是采用机器语言来编写的,直接使用二进制码来表示机器能够识别和执行的指令和数 据.简单来说,就是直接编写 和 的序列来代表程序语言 ...
- 一步步Cobol 400 上手自学入门教程01 - 基础概念
先学习基础概念 1.COBOL字符:包含: User-defined words 用户定义字符 System-names Reserved words 关键字 2.用户定义字符User-defin ...
- C#学习——入门简介
# C#简介 #原版出处点击这里 C#是一个现代的.通用的.面向对象的编程语言,它是由微软(Microsoft)开发的,由Ecma和ISO核准认可的. C#是由Anders Heilsberg和他的团 ...
- 关于wcf,webservice,webapi或者其他服务或者接口有什么区别 WCF、WebAPI、WebService之间的区别 【转载】HTTP和SOAP完全就是两个不同的协议 WebService学习总结(一)——WebService的相关概念
wcf,webservice采用的是rpc协议,这个协议很复杂,所以每次要传递.要校验的内容也很复杂,别看我们用的很简单,但实际是frame帮我们做掉了rpc生成.解析的事情webapi遵循是rest ...
- C++学习笔记(四)--指针
1.指针(变量的地址): 指针变量:存放指针(地址)的变量 直接存取(访问):按变量地址取值 间接存取(访问):将变量的地址放入指针变量中 定义指针变量:基类型 *指针变量名 2.与指针有关的运算符: ...
随机推荐
- [C#参考]事件机制
还是那个项目,为了降低程序的耦合性,我决定小小的重构一下自己原来的代码,把Socket通信和帧的分析这两部分分别封装成一个类,当然线程没有变,只是封装了一下,为的就是模块测试完容易拼接.这也是我打算降 ...
- Java处理java.util.ConcurrentModificationException异常
代码: public static void reduce(HashMap<String, Integer> hashMap, final Integer count) { Iterato ...
- Clear all username or password for login.
Open cmd.exe In command, type in: control keymgr.dll. This is go to watch the password which you rem ...
- IOS 特定于设备的开发:基于加速计的滚动视图
倾斜滚轮使用设备的内置加速计来控制在UIScrollView的内容周围移动.当用户调增设备时,材料会相应的下落,他不会把视图定位在屏幕上,而是把内容视图滚动到一个新的偏移位置. 创建这个界面的挑战在于 ...
- 15-C语言结构体
目录: 一.大型软件开发 二.头文件和static 三.结构体 四.联合 五.枚举 回到顶部 一.大型软件开发 将一个代码中的内容,拆分成多个文件,最后的可执行文件只要一个. 操作步骤: 1 原来只有 ...
- Jsoup代码解读之三-Document的输出
Jsoup代码解读之三-Document的输出 Jsoup官方说明里,一个重要的功能就是output tidy HTML.这里我们看看Jsoup是如何输出HTML的. HTML相关知识 分析代码前 ...
- 自己动手写RTP服务器——用RTP协议传输TS流
上一篇文章我们介绍了关于RTP协议的知识,那么我们现在就自己写一个简单的传输TS流媒体的RTP服务器吧. 预备知识 关于TS流的格式:TS流封装的具体格式请参考文档ISO/IEC 13818-1.这里 ...
- VB.NET版机房收费系统---SqlHelper
SqlHelper,最早接触这个词儿的时候,好像是13年的暑假,那个夏天来的比往年来的稍晚一些,呵呵,sqlhelper,翻译成中文就是数据库助手,帮手.百度百科这样对她进行阐述: SqlHelper ...
- PDFium-PDF开源之旅(1)-初探代码下载编译
近日,Google和Foxit合作开源了Foxit的PDF源代码. 叫PDFium 相关新闻不少.哈,虽说已经不是程序猿了.只是还是有兴趣跑起来围观看看.废话少说.先说编译代码的步骤(事实上Googl ...
- IronJs 无相关源?
在工作中用到了IronJs 一切正常 就是 在启动项目的时候 报错说无相关源,将取消引用之后 就可以正常运行 如果不取消引用需要重新启动~ 是这个样子滴~ 说明: 在编译向该请求提供服务所需资源的过 ...