欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    COBOL基础培训.ppt

    • 资源ID:5422126       资源大小:556KB        全文页数:101页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    COBOL基础培训.ppt

    COBOL基础培训,因特驰软件北京有限公司,课程设置,课程安排上课:3天,6节课,每节课50分钟练习:18天验收:作业+测试(笔试+上机)学习方法(理论学习+实际操作)1.上课要做好课堂笔记2.课下熟读PPT,掌握PPT上的所有要点知识3.结合练习,在实操中掌握COBOL的编程技巧4.学习重点在于PPT中涉及到的内容学习目标根据项目的程序式样书,编写出合格的COBOL程序。,培训内容,一COBOL概述二标识部三环境部四数据部五过程部六VSAM文件七各部之间的关系八程序举例九COBOL的编译、链接、执行十COBOL语言编程规范,一.COBOL概述,什么是COBOL语言COBOL语言的特点COBOL程序的基本结构COBOL程序结构示意图COBOL程序的书写区域COBOL程序的书写格式COBOL的字符,一.COBOL概述,1.什么是COBOL语言COBOL是Common Business Oriented Language的缩写,是面向商业通用编程语言。它是专门为商业数据处理而设计的计算机高级程序语言。广泛用于数据管理领域。应用于多个行业如:银行,证券,金融,制造,等等。1960年4月正式发表COBOL 61。目前最新版COBOL 2002。2.COBOL语言的特点描述性好,能根据需要描述各种形式的数据。适合大批量数据处理,能对数据进行严密的组织(运算简单但运算量大,逻辑运算多)语法接近自然语言(英语),成文自明。遵循ISO标准,通用性强,移植方便。格式固定,结构严谨,层次分明。缺点是比较繁琐。,一.COBOL概述,3.COBOL程序的基本结构标识部(IDENTIFICATION DIVISION)用来标识程序名称,记录程序的文档记录信息如作者和日期等。环境部(ENVIRONMENT DIVISION)用来描述程序运行和编译的计算机环境,内部数据文件与系统设备的对应关系。数据部(DATA DIVISION)定义程序中所有数据的类型和所占内存的大小。过程部:(PROCEDURE DIVISION)编写程序要执行的语句,是程序的核心。,一.COBOL概述,4.COBOL程序结构示意图,cobol,标识部,过程部,数据部,环境部,段,节,段,句子,节,描述体,句子,节,段,句子,一.COBOL概述,COBOL程序结构示意图部下设置节,节下设置段或描述体,段下或节下包含句子。节是由一个或多个段组成的,节的定义从节名开始到下一个节名或文本结束为止。定义格式:节名 SECTION.(节名分为系统定义和用户自定义两种)段由一个或多个句子组成,段的定义从段名开始到下一个段名或文本结束为止。定义格式:段名.(段名+点号)(段名分为系统定义和用户自定义两种)文件描述体只能在数据部中定义,用于描述外部文件的属性及其记录的格式。定义格式:FD 文件名.(文件描述体用FD(File Description)语句定义)句子是完整的指令,用相应的动词表示其操作,以一个句号加一个以上的空格来结束。,一.COBOL概述,5.COBOL程序的书写区域标准COBOL程序每行80列,被分为五个区域第0106列为“标号区”标号是6位数字,应从小到大,但不一定连续,标号只是方便查阅程序,可以省略。第07列为“注释区”,“DEBUG标识区”“*“:表示本行是注释行,用于注释程序说明。“D“:表示本行是DEBUG行,用于程序调试。第0811列为“A区”程序中下列语句必须从该区开始书写:部名、节名、段名,描述符(FD),01和77层。第1272列为“B区”程序正文部分,过程部语句必须从该区开始书写。第7380列为“注释区”行注释区,写入此区的内容在编译时被忽略,(一般不推荐使用),一.COBOL概述,6.COBOL程序的书写格式大小写字母等价,但引号中的字符除外。如:MOVE A TO B=MOVE a TO b DISPLAY HELLO DISPLAY hello相邻的两个COBOL字之间有一个以上的空格。运算符和等号左右必须各有一个以上的空格;圆括号外侧必须有一个以上的空格,内侧不必。如:COMPUTE R=A(B+C)/D逗号,句号,分号左边不能有空格,而右边应有。如:DISPLAY A=,A,一.COBOL概述,7.COBOL的字符COBOL字符集包括:数字0-9,字母 A-Z,a-z,15个专用符号:+-*/=,(逗号).(句号);(分号)(引号)$()空格。属于系统字符集而不属于COBOL字符集的字符,只能出现在COBOL程序的字符串或注释行中。如:DISPLAY#HELLO#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等用户字:用户自定义的名字。如:程序名,文件名,节名,段名,数据名等,一.COBOL概述,7.COBOL的字符数据名:相当于其它语言中的变量名,它代表一个具体的数据项。只能由字母(至少一个),数字和连字符“-“组成,连字符不能出现在两端,不能包含空格数据名长度不能超过30个字符(length=30)尽量使用有意义的英文字或拼音,如:NAME,XING-MING不能用保留字作为数据名,多使用连字符,如:NAME-OF-STUDENT常量: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:表示由该量组成的字符串,二.标识部(IDENTIFICATION DIVITION),标识部的作用书写格式PROGRAM-ID 命名规则,二.标识部(IDENTIFICATION DIVITION),标识部的作用标识部是COBOL程序的第一部分,用来为程序设定标志,以便识别,每个程序(包括主程序和子程序)都必须有一个名字,系统按名字对程序管理和调用。标识部下面不设置节,只设置段,部名和段名都从A区开始书写。书写格式IDENTIFICATIONDIVISION.PROGRAM-ID.程序名.AUTHOR.作者名.INSTALLATION.计算机设置场所.DATE-WRITTEN.源程序编写日期.DATE-COMPILED.源程序编译日期.SECURITY.保密程度.,二.标识部(IDENTIFICATION DIVITION),3.PROGRAM-ID 命名规则只能使用字母,数字和连字符最少一个字母,不能以连字符开头或结尾最长30个字符,但通常工作中要求不超过8个字符书写格式:PROGRAM-ID.program-name.,三.环境部(ENVIRONMENT DIVITION),环境部的作用配置节输入输出节,三.环境部(ENVIRONMENT DIVITION),环境部的作用环境部用来说明程序运行的软硬件环境,是COBOL程序中唯一与设备相关的部分,将程序中用到的内部文件与外部设备建立起联系。环境部包括两个节:配置节和输入输出节。(当无配置说明和文件应用时可省略)ENVIRONMENTDIVISION.CONFIGRATIONSECTION.SOURCE-COMPUTER.计算机名.OBJECT-COMPUTER.目标计算机名.SPECIAL-NAMES.专用名描述项.INPUT-OUTPUTSECTION.FILE-CONTROL.文件控制描述体.I-O-CONTROL.输入输出控制描述体.配置节:配置节包含三个段SOURCE-COMPUTER.computer-name.标识对该COBOL程序进行编译的计算机。OBJECT-COMPUTER.computer-name.标识运行该COBOL程序的计算机。SPECIAL-NAMES.用来通知系统把原来规定的设备名或符号改为用户自己指定的名字或符号。例如:CURRENCY SIGN IS$($是默认货币符号,可换成其他非数值常量),三.环境部(ENVIRONMENT DIVITION),3.输入输出节程序中如果用到输入输出文件,就在该节把程序中的内部文件和外部文件(设备)联系起来。输入输出节包括两个段:文件控制段,输入输出控制段。FILE-CONTROL.为程序使用的文件命名,指出存放该文件的外部设备及文件控制信息。ENVIRONMENTDIVISION.INPUT-OUTPUTSECTION.FILE-CONTROL.SELECTFILE-1ASSIGNTOINPUTFILE ORGANIZAIONIS(SEQUENCIAL,INDEXED,RELATIVE)ACCESS MODEIS(SEQUENCIAL,RANDOM,DYNAMIC)FILESTATUSIS变量名FILE-1是内部文件名,用于COBOL程序内部。INPUTFILE是运行JCL中的DSN指定的数据集,用于指定待操作的数据集。ORGANIZATION指定文件的逻辑结构SEQUENTIAL:记录的次序由其在文件中的物理顺序决定INDEXED:记录的位置由索引来确定,每条记录都必须包含有一个作为主键的项目RELATIVE:记录根据其相对于文件开头的位置来决定,文件中第1条记录的相对记录号为1,第10条记录的相对记录号为10,依次类推。,三.环境部(ENVIRONMENT DIVITION),3.输入输出节FILE-CONTROL.为程序使用的文件命名,指出存放该文件的外部设备及文件控制信息。ACCESS MODE指定文件中的记录以何种方式可用SEQUENTIAL:可用于上述任一ORGANIZATION的文件。对于SEQUENTIAL文件,记录按照物理顺序(即记录原先被写入文件的顺序)读写;对于INDEXED文件,记录按照键值的升序读写;对于RELATIVE文件,记录按其相对记录号的升序读写。如果省略ACCESS从句,将默认为本方式。RANDOM:只能用于INDEXED和RELATIVE文件。由索引键值/相对键值指定所读写的记录,一次存取一条。DYNAMIC:只能用于INDEXED和RELATIVE文件。纪录可按上述两种方式读写,取决于所用输入输出语句的具体形式。FILE STATUS监视文件每一次操作的执行。系统会给由FILE STATUS指定的项目传送一个值。I-O-CONTROL.指定目标程序运行时,几个文件共用一个内存区,以省内存。在此暂不作介绍。,四.数据部(DATA DIVISION),数据部的作用数据部的结构数据定义文件节(FILE SECTION)工作单元节(WORKING-STORAGE SECTION)COBOL中的数据类型联接节(LINKAGE SECTION),四.数据部(DATA DIVISION),数据部的作用程序中涉及到的全部数据(输入、输出、中间)都要在此定义,对它们的属性进行说明。主要描述一下属性:数据类型(数值/字符)和 存储形式(长度)数据项间的关系(层次和层号)文件与记录的关系数据部的结构根据数据项的用途不同,数据部可以分为:文件节(FILE SECTION)用来描述程序中用到的输入输出文件及其记录中各数据项的属性。工作单元节(WORKING-STORAGE SECTION)用来描述程序中用到的中间数据项。联接节(LINKAGE SECTION)用来描述与调用程序间发生数据传递的数据项(即参数),四.数据部(DATA DIVISION),3.数据定义:COBOL中把有从属关系的数据用层次关系来描述数据的层次结构:文件(file)记录(record)字段(field)(组合项(group item)/初等项(elementary item))文件:包含若干记录的集合。与存储在外部介质上的文件(数据集)对应。记录:具有一定层次关系的一组数据项的最大集合。组合项:由若干初等项和低层组合项组成,在逻辑上存在联系(平等或从属)。初等项:相互独立,没有内在联系的数据项,是数据的基本单位。举例说明:FDSTUDENT-FILE.01STUDENT-RECORD.05STUD-IDPIC9(03).05STUD-NAMEPICX(20).05STUD-BIRTH.10BIRTH-YYYYPIC9(04).10BIRTH-MMPIC9(02).10BIRTH-DDPIC9(02).,四.数据部(DATA DIVISION),3.数据定义:COBOL中把有从属关系的数据用层次关系来描述层次规定:描述层次结构的层号从 01 49,层号越大层次越低,高层为01层,最低层为49层。每个数据项都是一个单独的条目,都必须被赋予一个层号。从属项的层号比其上属项的层号大,但层号不必连续。如果多个数据项都从属于同一组合项但互不从属,则这几个数据项应具有相同的层号。一个层号为N的组合项包括它下面所有层号比它大的数据项,直到遇到小于或等于N的层次为止。66层:用于重新编制前面已定义的数据项,必须包含一个RENAMES从句。77层:用于标识一个独立的初等项。它不属于其它组合的初等项。88层:用于标识一个条件名变量。重要的是不同层次数据间的关系,而不是数据的层号。,四.数据部(DATA DIVISION),3.数据定义:COBOL中把有从属关系的数据用层次关系来描述举例说明:01 STUDENT-RECORD.01 STUDENT-RECORD.03 STUD-IDPIC 9(03).05 STUD-IDPIC 9(03).03 STUD-NAME.05 STUD-NAME.05 FIRST-NAMEPIC 9(10).10 FIRST-NAME PIC 9(10).05 LAST-NAMEPIC 9(10).10 LAST-NAME PIC 9(10).03 STUD-BIRTH.05 STUD-BIRTH.05 BIRTH-YYYYPIC 9(04).10 BIRTH-YYYY PIC 9(04).05 BIRTH-MMPIC 9(02).10 BIRTH-MM PIC 9(02).05 BIRTH-DDPIC 9(02).10 BIRTH-DD PIC 9(02).,四.数据部(DATA DIVISION),4.文件节(FILE SECTION)程序中每个输入、输出文件的数据格式都要在此描述,包括:文件名称和属性文件中包括的记录的名字每个记录中数据的层次关系记录中各数据项的数据形式和占内存的大小文件的描述一般格式FD文件名(内部文件名).LABLERECORDISSTANDARD/OMITTED DATARECORDIS记录名01 记录名.05数据项1 PIC 05数据项2 PIC FD语句是文件描述体,用来描述文件与记录的属性,如记录名称,格式,长度 STANDARD:标准磁盘(带)文件带有标号的记录 OMITTED:省略文件记录的标号,用作输出打印的文件 缺省为STANDARD。也可写为:LABEL RECORDS ARE STANDARD/OMITTED.FD语句下所有的数据组和数据项组成了该文件的一条记录。记录描述:记录描述体由01层号开始,后跟记录名。用于定义记录的数据格式,即各下层数据项的数据类型和长度。如果记录本身就是一个初等项,则在记录名后描述记录型和长度。,四.数据部(DATA DIVISION),4.文件节(FILE SECTION)举例说明:外部文件STUDENTFILESTUD-ID STUD-NAME STUD-BIRTH101LILEI_19900521102HANMEIMEI_19910610FDIN-FILE.01STUDENT-RECORD.05STUD-IDPIC9(03).05STUD-NAMEPICX(20).05STUD-BIRTH.10BIRTH-YYYYPIC9(04).10BIRTH-MMPIC9(02).10BIRTH-DDPIC9(02).,四.数据部(DATA DIVISION),5.工作单元节(WORKING-STORAGE SECTION)程序中用于非文件输入输出的数据项,如运算的中间结果等,在工作单元节中描述PIC:PIC即PICTURE的缩写。用来描述每一个初等项的属性(数据类型、数据长度)。如:01STUD-NAMEPIC X(20).VALUE:用于给变量赋初值。如:01APIC9(03)VALUE123.01BPICX(03)VALUEABC.只有工作单元节的数据项可以赋初值,不能对文件节中文件中的记录数据项赋初值如果在组合项的描述体中使用VALUE子句,初值只能是表意常量或非数值型常量当用一个带符号的数值作初值时,相应的PIC子句中应有S描述符否则初值无效赋初值应注意类型的一致性初值应适合PIC子句描述的范围,否则会出现截断或产生错误RENAMES:用在66层,对之前已经定义的数据项重新组合。格式:层号 新数据项 RENAMES 原数据项1THRU原数据项n如:01ADDRESS.05STREETPICX(15).a05CITYPICX(15).b05STATEPICX(02).cc05ZIPPIC9(05).12345 66FULL-ADDRESSRENAMES STREET THRUSTATE.,四.数据部(DATA DIVISION),5.工作单元节(WORKING-STORAGE SECTION)OCCURS:用于在数据部的工作存储节定义一个表(数组)格式:层号 数据项 OCCURS N TIMES.如:01YEAR-SALARY.05MONTH-SALARYOCCURS 12 TIMES.10SALARY PIC 9(5)V9(2).10BONUS PIC 9(5)V9(2).引用:组项目 组项目 基本项目YEAR-SALARY MONTH-SALARY(1)SALARY(1)BONUS(1)。REDEFINES:用于定义多个数据项共享同一段内存空间格式:层号 新数据项 REDEFINES 原数据项如:01A.PIC 9(08)2013123001BREDEFINESA.05B1PICX(04).2013 05B2PIC9(02).1205B3PICX(02).30注意:原数据项和新数据项必须有相同的层号REDEFINES的数据项应紧跟被重定义的数据项描述之后REDEFINES子句中不能使用VALUE子句赋初值REDEFINES子句不能用于文件节的01层(文件记录)REDEFINES子句可以改变数据的结构(类型和长度),四.数据部(DATA DIVISION),6.COBOL中的数据类型:数值型、字母型、字符型、编辑型数值型数据:用来描述在程序中用于计算或只存放数字的数据项 9描述符:表示该位置上可以放入一个0 9 之间的数字如:01 APIC999.或9(03).表示A可以存放000 999 之间的一个三位数。有几个9表示有几位数注意:在数值型数据项中只能放数字不能放其他字符用9描述符只能表示正整数和零,如输入小数和负数,则小数和负号被舍弃9V9描述符:定义一个用于存放带小数点的数据项,V代表数据结构中隐含的小数点的位置,因此小数点不占内存单元。如:01 APIC999V99.或9(03)V9(02).表示A可以存放000.00 999.99之间的一个数。小数点不占位,在传送或运算时起作用如:56.89A显示:05689实际数值:56.89S9描述符:定义一个用于存放带符号的数据项,S代表数据结构中隐含的符号的位置,因此符号不占内存单元。如:01 APICS9(03).表示可以存放一个带符号的三位整数。并且符号不占位。如:-569A显示:569实际数值:-569S9V9 型表示可以存放一个带小数的,带符号的数值,四.数据部(DATA DIVISION),6.COBOL中的数据类型:数值型、字母型、字符型、编辑型字母型数据:用来描述在程序中只存放字母和空格的数据项A描述符:表示该位置上可以放入一个字母或空格如:01 APICA(03).表示可以存放一个三位由字母和空格组成的数据,例如:XYZ或X Z字符型数据:用来描述在程序中可以存放由任意COBOL字符集组成的数据,它是非数值型的,不能用于计算。X描述符:表示该位置上可以放入任何一个COBOL字符如:01 APICX(03).表示可以存放一个三位由任意COBOL字符组成的数据,例如:123、X Z、1#Z字符型数据型数据可以用X来描述,也可用9、A、X描述符一起来描述如:描述数据COB-74可以用PIC X(06),也可以用 PIC A(03)X(01)9(02)编辑型数据:用来描述在程序中只是作为输出数据时增加或改变某些所需的符号,起编辑作用。不能用于计算。9.9描述符:插入小数点,使数值型数据中隐含的小数点能在相应的位置上显示出来。如:数值为:456.78 01 APIC9(03)V9(02).输出:45678长度:5个字节 01 BPIC9(03).9(02).输出:456.78长度:6个字节,四.数据部(DATA DIVISION),6.COBOL中的数据类型:数值型、字母型、字符型、编辑型编辑型数据,描述符:插入逗号,用作分隔符。如:数值为:100000 01APIC9(07).输出:0100000长度:7个字节 01APIC9,999,999.输出:0,100,000长度:9个字节B描述符:插入空格。如:数值为:2012 09 17 138 1000 1000 01APIC9(04)BB9(02)BB9(02).输出:201长度:12个字节+、-描述符:插入正负号。+描述符,一侓加符号;-描述符只对负值加负号。如:数值为:456 01APICS9(03).输出:456长度:3个字节 01BPIC+9(03).输出:+456长度:4个字节 01CPIC-9(03).输出:_456长度:4个字节如:数值为:-456 01APICS9(03).输出:456长度:3个字节 01BPIC+9(03).输出:-456长度:4个字节 01CPIC-9(03).输出:-456长度:4个字节,四.数据部(DATA DIVISION),6.COBOL中的数据类型:数值型、字母型、字符型、编辑型编辑型数据$描述符:插入$,可以和.、,、+、-一起使用。如:数值为:1000.12 01APIC$9999.99.输出:$1000.12长度:8个字节 01BPIC$999,999.输出:$001,000长度:8个字节 01CPIC+$999,999.输出:+$001,000长度:9个字节浮动插入正负号,$如:数值为:12345.00 01APIC$,$.99.输出:$2,345.00长度:9个字节 01BPIC+,+.99.输出:+2,345.00长度:9个字节如:数值为:120 01APIC$,$.99.输出:_$120.00长度:9个字节 01APIC+,+.99.输出:_+120.00长度:9个字节,四.数据部(DATA DIVISION),6.COBOL中的数据类型:数值型、字母型、字符型、编辑型编辑型数据*、Z描述符:在高位零的位置上代以空格或*如:数值为:2345.00 01APIC99999.99.输出:02345.00长度:8个字节 01BPICZZZZZ.99.输出:_2345.00长度:8个字节 01CPIC*.99.输出:*2345.00长度:8个字节当*、Z与,一起使用时,当插入的,前面是被取消的零时,该,位也被空格或*代替。如:数值为:120.00 01APICZZ,ZZZ.99.输出:_120.00长度:9个字节 01BPIC*,*.99.输出:*12.00长度:9个字节如果使用*、Z对应所有字符,当数值为0时,则所有数值位全部由空格或*代替,小数点位由空格代替,或保留。如:数值为:0 01APICZZZ.ZZ.输出:_长度:6个字节 01BPIC*.*.输出:*.*长度:6个字节 01CPIC*.99.输出:*.00长度:6个字节,四.数据部(DATA DIVISION),6.COBOL中的数据类型:数值型、字母型、字符型、编辑型编辑型数据DB和CR描述符:在银行业务中,有时用到DB(debit,借方)和CR(credit,贷方),DB和CR只能用作固定插入,只作为最后一个描述符。当数值为负时,将数据项最后两个字节设置为DB或CR;当数值为正时,设置为空格。如:数值为:-123 01APIC999DB.输出:123DB长度:5个字节 01APIC999CR.输出:123CR长度:5个字节如:数值为:123 01APIC999DB.输出:123_长度:5个字节 01APIC999CR.输出:123_长度:5个字节,四.数据部(DATA DIVISION),7.联接节(LINKAGE SECTION)作为主程序与子程序间参数传递的数据名定义在子程序的LINKAGE SECTION。也就是该子程序的接口。数据项的定义形式与在工作单元节一致。如:LINKAGESECTION.01LNK-IN-DATA.05 STUDENT-LEN PIC9(02)COMP.05STUDENT-NAMEPICX(20).05STUDENT-AGEPIC9(02).01注:参数除了可以通过主程序的CALL语句来传送之外,也可以通过JCL的EXEC语句的PARM参数来传送。=AAAAAAAAAAAAAAAA18,五.过程部(PROCEDURE DIVISION),五.过程部(PROCEDURE DIVISION),1.过程部的作用编写程序要执行的语句,是程序的核心。2.INITIALIZE语句:将数据项的值设为初始值。字符型初始化成空格,数字型初始化成0。用于组合项时,相当于将所有的基本项都初始化。一般格式:INITIALIZE 数据项1数据项2如:01A.02A1PICX(3).02A2PIC9(2)V9.02A3PICA(3).PROCEDUREDIVISION.INITIALIZE A.A1=_A2=000A3=_,五.过程部(PROCEDURE DIVISION),3.ACCEPT语句:用于接收从键盘或指定设备上获得输入数据一般格式:ACCEPT标识符FROM 助忆名ACCEPT 后只能有一个标识符,标识符可以是组合项。FROM 助忆名:指定环境中特定的设备,助忆名需要在环境部中定义。ENVIRONMENTDIVISION.CONFIGRATIONSECTION.SPECIAL-NAMES.(专用名描述项)CONSOLEIS ABC.ACCEPTTFROMABC.则表示要从控制台接收数据如:ACCEPTTEST-DATA.表示从数据项TEST-DATA运行JCL中的SYSIN的DD语句接收一个数据。固定取得系统提供的日期和时间信息ACCEPT标示符FROMDATE./系统当前日期(YYMMDD)DATE-YYYYMMDD/系统当前日期(YYYYMMDD)DAY./一年中第几天(YYDDD)DAY-OF-WEEK./当天是星期几(W)TIME./当前系统时间(HHMMSS99)DISPLAY语句:从计算机内存中的数据输出到某一指定的输出设备上,如监视器、系统输出流等。一般格式:DISPLAY(标识符1,常量1)标识符2,常量2UPON 助忆名UPON 助忆名:与ACCEPT相同。标识符之间用空格相隔,DISPLAY语句结束后自动换行。如:DISPLAYA=A.,五.过程部(PROCEDURE DIVISION),5.MOVE语句:相当于赋值语句,可以将常量或一个数据项的内容传送到另一数据项中。一般格式:MOVE标示符1/常量 TO标示符如:MOVEIBM TOCOMPANY MOVE 10 TOCOUNT MOVEZERO TOBLANKFIELD MOVEV1 TOV2数据传送规则:(假设 TO 左侧是发送项A,右侧是接收项B)如果A和B的数据类型及长度相同,则按字节相对应传送如果A和B都是数值型,但长度不同,则按小数点对齐原则传送;如A比B长,则产生截断;如B比A长,则多余位补零如果A和B的长度不相同,且二者都是非数值型,则按左侧对齐原则;如A比B长,则从右端截断;如B比A长,则多余位补空格A和B可以是初等项,也可以是组合项,或者两者混合,同样遵守以上原则发送项和接收项都是组合项,而且结构和描述均相同,则可以看作将各个初等项一一对应传送,如:01A.A07123CDE 02 A1PIC X(3)VALUEA07.02 A2PIC 9(2)V9VALUE12.3.02 A3PIC A(3)VALUECDE.01B.A07123C02 B1PIC X(3).A0702 B2PIC 9(1)V912.302 B3PIC X(1)C MOVE A TO BB1=A07 B2=12.3 B3=CDE,五.过程部(PROCEDURE DIVISION),5.MOVE语句:相当于赋值语句,可以将常量或一个数据项的内容传送到另一数据项中。数据传送规则:(假设 TO 左侧是发送项A,右侧是接收项B)发送项和接收项长度相同,但数据结构形式不同,则将发送项的内容原样不动地自左而右顺序地传送到接收项,例如:01A.A07123CDE02 A1PIC X(3)VALUEA07.02 A2PIC 9(2)V9VALUE12.3.02 A3PIC A(3)VALUECDE.01B.A07123CDE_02 B1PIC X(1).A02 B2PIC X(2).0702 B3.123 03B31 PIC X(2).12 03B32 PIC X(1).302 B4PIC X(5).CDE_ MOVE A TO BB1=A B2=07 B31=12 B32=3 B4=CDE最常见的传送类型:同类型数据间传送数值型向数值编辑型的传送,便于输出各类型数据项(不包括非整型)向字符型数据项的传送,五.过程部(PROCEDURE DIVISION),5.MOVE语句:相当于赋值语句,可以将常量或一个数据项的内容传送到另一数据项中。数据名的受限和受限名的引用在COBOL程序中,标识名必须唯一识别。受限名的引用使用OF限定符。例如:01 TODAY-DATE.03 YEARPIC 9(04).03 MONTHPIC 9(02).03 DATPIC 9(02).01 LAST-DATE.03 YEARPIC 9(04).03 MONTHPIC 9(02).03 DATPIC 9(02).MOVE 2012 TO YEAR?MOVE 2012 TO YEAR OF TODAY-DATE.如果限定一次还不能成为唯一,可以多次使用限定符。,五.过程部(PROCEDURE DIVISION),5.MOVE语句:相当于赋值语句,可以将常量或一个数据项的内容传送到另一数据项中。CORRESPONDING(CORR):对应传送一般格式:MOVE CORR 数据项1TO数据项2把一个组合项中若干项传送给另一组合项中同名的项例如:MOVECORRTODAY-DATETOLAST-DATE 01 TODAY-DATE.2012102901 LAST-DATE.29102012 03 YEARPIC 9(04).03 DATPIC 9(02).29 03 MONTHPIC 9(02).03 MONTHPIC 9(02).10 03 DATPIC 9(02).03 YEARPIC 9(04).如果两个组合项中包括的项不同,则只传送同名的项例如:MOVECORRA TOB 01 A.01 B.03 A1PIC 9(04).03 B1PIC 9(04).03 A2PIC 9(02).03 A1PIC 9(02).03 A3PIC 9(02).03 A2PIC 9(02).传送的两者间必须有成对的同名数据项,而且这一对中必须至少有一个项是初等项,否则不能作为对应项传送例如:MOVECORRA TOB 01 A.01 B.03 A1PIC 9(04).03 A1PIC 9(04).03 A2.03 A2.05 A3PIC 9(02).05 A5PIC 9(02).05 A4PIC 9(02).05 A6PIC 9(02).,五.过程部(PROCEDURE DIVISION),5.MOVE语句:相当于赋值语句,可以将常量或一个数据项的内容传送到另一数据项中。CORRESPONDING(CORR):对应传送对应传送与层号无关例如:MOVECORRA TOB 01 A.01 B.03 A1PIC 9(04).05 A1PIC 9(04).03 A2.05 A2PIC 9(04).05 A3PIC 9(02).05 A4PIC 9(02).所谓同名,指的是它们有相同的全程受限(全程同名)例如:MOVECORRA TOB 01 A.01 B.02 X.02 X.03 A1PIC 9(04).03 B1PIC 9(04).03 A2PIC 9(02).03 A1PIC 9(02).03 A3PIC 9(02).03 A2PIC 9(02).02 Y1.02 Y2.03 A4PIC 9(04).03 A4PIC 9(04).03 A5PIC 9(02).03 A5PIC 9(02).,五.过程部(PROCEDURE DIVISION),6.文件操作语句:OPEN、READ、WRITE、CLOSE OPEN:当需要文件操作时,必须先OPEN文件,即在读写之前检查该文件是否已经准备好。一般格式:OPENINPUT/OUTPUT/I-O/EXTENDFILE1,FILE2可以用一个OPEN语句打开多个输入输出文件,FILE1、FILE2 是内部文件名。文件打开形式:INPUT、OUTPUT、I-O、EXTENDINPUT:输入文件,打开的文件只能读取。写入、修改、删除记录会发生错误。若打开的文件不存在,则产生错误。OUTPUT:输出文件,打开的文件只能写入。如果打开的文件已经存在记录,则删除所有现存的记录,写入新的记录。也就是覆盖的形式写入。I-O:输入输出文件,打开的文件可以读取也可以写入。若打开的文件不存在,则产生错误;EXTEND:输出文件,打开顺序文件,只能写入,将记录插入到现有文件的末尾。若打开的文件不存在,则产生错误;CLOSE:对一个文件的读写操作完成后应该用CLOSE语句关闭。一般格式:CLOSEFILE1,FILE2.注意:文件关闭后,不能再对该文件有任何的读写操作,如需再次读写该文件,则需要再次使用OPEN语句打开。CLOSE语句保证了文件中的信息不被意外的错误操作而毁坏,同时也释放了对内存的占用。,五.过程部(PROCEDURE DIVISION),6.文件操作语句:OPEN、READ、WRITE、CLOSE READ:从外部文件(PS、VSAM)读取数据存储到指定的数据项中。一般格式:READ内部文件名 INTO数据项 ATENDSTATEMENTNOTATENDSTATEMENT END-READ.READ语句并不是读取整个文件,而是每次读取一条记录,将其存入输入记录缓冲区(在数据部文件节中定义的数据项,既文件的记录属性)。INTO语句将读取的记录另存到其它数据项。AT END 子句可以判

    注意事项

    本文(COBOL基础培训.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开