COBOL基础培训-课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《COBOL基础培训-课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- COBOL 基础 培训 课件
- 资源描述:
-
1、IntouchCOBOL基础培训基础培训因特驰软件北京有限公司因特驰软件北京有限公司Intouch课程设置课程设置u 课程安排课程安排上课:上课:3天,天,6节课,每节课节课,每节课50分钟分钟练习:练习:18天天验收:作业验收:作业+测试(笔试测试(笔试+上机)上机)u 学习方法学习方法(理论学习(理论学习+实际操作)实际操作)1.上课要做好课堂笔记上课要做好课堂笔记2.课下熟读课下熟读PPT,掌握,掌握PPT上的所有要点知识上的所有要点知识3.结合练习,在实操中掌握结合练习,在实操中掌握COBOL的编程技巧的编程技巧4.学习重点在于学习重点在于PPT中涉及到的内容中涉及到的内容u 学习目标
2、学习目标根据项目的程序式样书,编写出合格的根据项目的程序式样书,编写出合格的COBOL程序。程序。Intouch培训内容培训内容一一COBOL概述概述二标识部二标识部三环境部三环境部四数据部四数据部五过程部五过程部六六VSAM文件文件七各部之间的关系七各部之间的关系八程序举例八程序举例九九COBOL的编译、链接、执行的编译、链接、执行十十COBOL语言编程规范语言编程规范Intouch一一.COBOL概述概述1.什么是什么是COBOL语言语言2.COBOL语言的特点语言的特点3.COBOL程序的基本结构程序的基本结构4.COBOL程序结构示意图程序结构示意图5.COBOL程序的书写区域程序的书
3、写区域6.COBOL程序的书写格式程序的书写格式7.COBOL的字符的字符Intouch一一.COBOL概述概述1.什么是什么是COBOL语言语言 COBOL是Common Business Oriented Language的缩写,是面向商业通用编程语言。它是专门为商业数据处理而设计的计算机高级程序语言。广泛用于数据管理领域。应用于多个行业如:银行,证券,金融,制造,等等。1960年4月正式发表COBOL 61。目前最新版COBOL 2002。2.COBOL语言的特点语言的特点 描述性好,能根据需要描述各种形式的数据。适合大批量数据处理,能对数据进行严密的组织(运算简单但运算量大,逻辑运算多
4、)语法接近自然语言(英语),成文自明。遵循ISO标准,通用性强,移植方便。格式固定,结构严谨,层次分明。缺点是比较繁琐。Intouch一一.COBOL概述概述3.COBOL程序的基本结构程序的基本结构 标识部(IDENTIFICATION DIVISION)用来标识程序名称,记录程序的文档记录信息如作者和日期等。环境部(ENVIRONMENT DIVISION)用来描述程序运行和编译的计算机环境,内部数据文件与系统设备的对应关系。数据部(DATA DIVISION)定义程序中所有数据的类型和所占内存的大小。过程部:(PROCEDURE DIVISION)编写程序要执行的语句,是程序的核心。In
5、touch一一.COBOL概述概述4.COBOL程序结构示意图程序结构示意图cobol标识部标识部过程部过程部数据部数据部环境部环境部段段节节段段句子句子节节描述体描述体句子句子节节段段句子句子Intouch一一.COBOL概述概述4.COBOL程序结构示意图程序结构示意图部下设置节,节下设置段或描述体,段下或节下包含句子。节是由一个或多个段组成的,节的定义从节名开始到下一个节名或文本结束为止。定义格式:节名 SECTION.(节名分为系统定义和用户自定义两种)段由一个或多个句子组成,段的定义从段名开始到下一个段名或文本结束为止。定义格式:段名.(段名+点号)(段名分为系统定义和用户自定义两种
6、)文件描述体只能在数据部数据部中定义,用于描述外部文件的属性及其记录的格式。定义格式:FD 文件名.(文件描述体用FD(File Description)语句定义)句子是完整的指令,用相应的动词表示其操作,以一个句号加一个以上的空格来结束。Intouch一一.COBOL概述概述5.COBOL程序的书写区域程序的书写区域 标准COBOL程序每行80列,被分为五个区域 第第0106列为列为“标号区标号区”标号是6位数字,应从小到大,但不一定连续,标号只是方便查阅程序,可以省略。第第07列为列为“注释区注释区”,“DEBUG标识区标识区”“*“:表示本行是注释行,用于注释程序说明。“D“:表示本行是
7、DEBUG行,用于程序调试。第第0811列为列为“A区区”程序中下列语句必须从该区开始书写:部名、节名、段名,描述符部名、节名、段名,描述符(FD),01和和77层层。第第1272列为列为“B区区”程序正文部分,过程部语句必须从该区开始书写。第第7380列为列为“注释区注释区”行注释区,写入此区的内容在编译时被忽略,(一般不推荐使用)Intouch一一.COBOL概述概述6.COBOL程序的书写格式程序的书写格式 大小写字母等价,但引号中的字符除外。如:MOVE A TO B =MOVE a TO b DISPLAY HELLO DISPLAY hello 相邻的两个COBOL字之间有一个以上
8、的空格。运算符和等号左右必须各有一个以上的空格;圆括号外侧必须有一个以上的空格,内侧不必。如:COMPUTE R =A (B +C)/D 逗号,句号,分号左边不能有空格,而右边应有。如:DISPLAY A=,AIntouch一一.COBOL概述概述7.COBOL的字符的字符COBOL字符集包括:数字0-9,字母 A-Z,a-z,15个专用符号:+-*/=,(逗号).(句号);(分号)(引号)$()空格。属于系统字符集而不属于COBOL字符集的字符,只能出现在COBOL程序的字符串或注释行中。如:DISPLAY#HELLO#COBOL字是由上述字符组成的最小单位。(保留字,用户字)保留字:规定五
9、种类型专门用途的字(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等用户字:用户自定义的名字。如:程序名,文件名,节名,段名,数据名等Intouch一一.COBOL概述概述7.COBOL的字符的字符数据名:相当于其它语言中的变量名,它代表一个具体的数据
10、项。只能由字母(至少一个),数字和连字符“-“组成,连字符不能出现在两端,不能包含空格数据名长度不能超过30个字符(lengthBDIVIDEAINTO B GIVINGC 是指B/A-CDIVIDEABY BGIVINGC是指 A/B-CIntouch五五.过程部(过程部(PROCEDURE DIVISION)7.算数运算语句算数运算语句COMPUTE语句语句:综合算数运算语句,使用算数表达式完成计算一般格式:COMPUTE标示符1,标示符2=算数表达式运算符优先级由高到低顺序为:()、正负号、*、*或 /、+或 例如:C=3,D=5,E=2,F=1COMPUTE A,B=-(C+D)*2/
11、E*3 FC 则:A=-3、B=-3ROUNDED语句语句:四舍五入。用于带有小数点的十进制数运算带有小数点的十进制数运算。当计算结对小数点最右边的数字需要截断时进行四舍五入处理。例如:A,B,C均定义为9V9COMPUTE A ROUNDED =B *CBEFORE 1.0 1.2 1.8AFTER 2.2 1.2 1.8 /2.16Intouch五五.过程部(过程部(PROCEDURE DIVISION)7.算数运算语句算数运算语句ON SIZE ERROR语句语句:长度溢出判断。十进制数运算时,计算结果比数据项的长度要长,则被称为长度溢出。当发生溢出错误时,按程序设计者事先指定的操作处理
12、。例如:A,B,C均定义为9V9COMPUTE A =B *CON SIZE ERROR DISPLAY SIZE ERROR STOP RUN.DISPLAY A.如A,B,C均定义为9V9,B=1.2、C=9.0则AB*C,应该为10.8,此时发生长度溢出。当ROUNDED 与ON SIZE ERROR 一起使用时,先按ROUNDED 作四舍五入处理,再判断是否溢出。REMAINDER语句语句:用于除法语句(DIVIDE)求余数。例如:A、B、C、D均定义为9(02)V9DIVIDE A INTO B GIVING C REMAINDER DBEFORE 3 10 0 0AFTER 3 1
13、0 3.3 0.1 商和余数的值不仅取决于除数和被除数,还取决于数据部中对商和余数的描述如用ROUNDED语句,它只对商起作用,余数不作四舍五入处理长度溢出也只检查商的值是否溢出,而不检查余数Intouch五五.过程部(过程部(PROCEDURE DIVISION)8.字符串语句:字符串语句:STRING、UNSTRING、INSPECTSTRING语句:语句:用来将多个非数值型数据项的值连接后发送到一个接收数据项中,在合并过程中可以删除某些指定的字符。一般格式:STRING str1DELIMITED BYsymbol1 str2DELIMITED BYsymbol2 INTO strn W
14、ITH POINTER position1 ON OVERFLOW perform.END-STRINGDELIMITED BY SIZE:按发送项的长度全部传送到接收项77APICX(04)VALUEABC.77BPICX(04)VALUEJKL.77CPICX(04)VALUEXYZ.77DPICX(16)VALUE*.STRING A,B,C DELIMITED BY SIZE INTO D./D=ABC_JKL_XYZ_*DELIMITED BY SPACE:将发送项空格之前的字符串传送到接收项STRING A,B,C DELIMITED BY SPACE INTO D/D=ABCJK
15、LXYZ*(末尾七个*)Intouch五五.过程部(过程部(PROCEDURE DIVISION)8.字符串语句:字符串语句:STRING、UNSTRING、INSPECTSTRING语句:语句:DELIMITED BY 字符常量:使用其它字符作为定界符,各个发送项可以使用不同的定界符STRING A DELIMITED BY B B DELIMITEDBYL C DELIMITED BY MINTO D./D=AJKXYZ_*(末尾9个*)可以在传送中插入所需字符STRING A,*,B,=,C DELIMITED BY SPACE INTO D/D=ABC*JKL=XYZ*(末尾五个*)P
16、OINTER:如果不想从接收项的最左端开始接收字符,可以使用POINTER短语指定从某一字符位开始接收字符MOVE 3 TO P.STRING A,B,C DELIMITED BY SPACEWITH POINTER PINTO D./D=*ABCJKLXYZ*(头部两个,末尾五个*)Intouch五五.过程部(过程部(PROCEDURE DIVISION)8.字符串语句:字符串语句:STRING、UNSTRING、INSPECTSTRING语句:语句:ON OVERFLOW:如果接收项的字符个数不足,则发生“溢出”,可以进行溢出处理77 D PIC X(10)STRING A,B,C DEL
17、IMITED BY SIZE INTO DON OVERFLOW DISPLAY OVER FLOW./D=ABC_JKL_XY OVER FLOW注意:接收数据项必须是初等项指针项必须是一个整型的初等项STRING语句结束后,接收项中未送入的字符位置上保持原有内容,而不是自动设置空格Intouch五五.过程部(过程部(PROCEDURE DIVISION)8.字符串语句:字符串语句:STRING、UNSTRING、INSPECTUNSTRING语句:语句:将一个发送字符串拆成若干个接收字符串,是STRING语句的逆操作可以使用DELIMITED子句设置分解时的定界符。自左向右累计字符,直到遇
18、见定界符,符号左面的内容按MOVE语句的规则传送到接收项。77 A PIC X(23)VALUE DATE PRODUCT QUANTITY.77 B PIC X(5).77 C PIC X(8).77 D PIC X(8).UNSTRING A DELIMITED BY SPACE INTO B,C,D/B=DATE_、C=PRODUCT_、D=QUANTITYUNSTRING A DELIMITED BY T INTO B,C,D/B=DA_、C=E_PRODUC、D=_QUAN_Intouch五五.过程部(过程部(PROCEDURE DIVISION)8.字符串语句:字符串语句:STRI
19、NG、UNSTRING、INSPECTINSPECT语句:语句:检查一个字符串数据项中某个字符INSPECT TALLYING:统计字符串出现的次数INSPECT A TALLYING N FOR SPACE.检查数据项A中是否有空格,找到一个就将计数器N加1INSPECT REPLACING:用别的字符串替换该字符串INSPECT A REPLACING SPACE BY,.将数据项A中所有空格替换成逗号INSPECT TALLYING REPLACING:替换并统计字符串的次数INSPECT A TALLYING N FOR ALL SPACEREPLACING ALL SPACE BY,
20、.检查数据项A中空格的个数,并将数据项A中所有空格替换成逗号Intouch五五.过程部(过程部(PROCEDURE DIVISION)9.IF语句:语句:条件转移语句。根据给出的判断条件是否满足,来决定执行哪一部分语句一般格式:IF条件条件 语句组语句组1ELSE 语句组语句组2END-IF.关系运算符:ISGREATERTHANISLESSTHANISNOTLESSTHANNOT=ISLESSTHANOREQUALTO=Intouch五五.过程部(过程部(PROCEDURE DIVISION)9.IF语句:语句:条件转移语句。根据给出的判断条件是否满足,来决定执行哪一部分语句关系运算规则:数
21、值变量之间按其代数值进行比较3-200字母型数据之间字典序进行比较xcap ccobol字符型数据之间按其编码规则进行比较ASCII编码:1 A 在条件判断表达式中,只能将同类型的数据进行比较,即数值型数据和数值型数据比较,字符型数据和字符型数据比较。IF结构中.的用法IFA0 DISPLAYA -ADDATOTOTA-END-IFDISPLAY TOTAL.IFA0 DISPLAYA.-ADDATOTOTAL.-DISPLAYTOTAL.Intouch五五.过程部(过程部(PROCEDURE DIVISION)9.IF语句:语句:条件转移语句。根据给出的判断条件是否满足,来决定执行哪一部分语
22、句复合条件:由若干个简单的“条件”组合而成的条件,使用逻辑运算符AND(与),OR(或),如果在一个IF语句中同时用到AND,OR,其优先级是:AND ORIF(A1000 AND A 0类型条件:检查数据项的类型是否符合指定的要求,即数据项的内容是否全为数字或字母IF 数据名 IS NOT NUMERIC|ALPHABETIC|ALPHABETIC-LOWER|ALPHABETIC-UPPER 77 T PIC A(4)VALUE WANG.IF T IS ALPHABETIC/trueIntouch五五.过程部(过程部(PROCEDURE DIVISION)9.IF语句:语句:条件转移语句
23、。根据给出的判断条件是否满足,来决定执行哪一部分语句条件名条件:简单的说,条件名就是用一个数据名代表一个条件例如:为鼓励存款,存款数小于1000元,利息为2%;大于等于1000元但小于10000元,利息为3%;大于等于10000元但小于50000元,利息为4%;大于等于50000元但小于100000元,利息为5%在数据部中可以这样定义:77CKPIC9(05).88T1VALUE0THRU999.88T2VALUE1000THRU9999.88T3VALUE10000THRU49999.88T4VALUE50000THRU99999.CK是条件变量,定义为数值变化的范围T1T4是条件名,紧跟在
24、条件变量之后,必须用层号88定义VULUE子句的作用不是赋初值,而是为条件变量的一个可能值命名对于“88 T1 VALUE 0 THRU 999”应理解为:当CK的值在0999时,条件T1为“真”在过程部可以直接使用条件名条件:IF T1 MOVE 0.02 TO RATE.IF(CK=0 AND CK 10.PERFORM过程名1 VARYING标识符1 FROM初值(整数/标示符)BY 步长(整数/标示符)UNTIL 条件PERFORMTEST-RTN VARYINGT1FROM1BY1UNTIL T1 10.循环变量T1的初值可以为正,负或零;步长不能为零!循环变量T1的值在每次循环中自
25、动按步长增加 Intouch五五.过程部(过程部(PROCEDURE DIVISION)11.PERFORM语句:语句:作为执行语句和实现循环控制语句PERFORM语句可以实现多重循环一般格式:PERFORM段名1 THRU 段名2 VARYING参数1FROM 初值1 BY 步长1 UNTIL 条件1 AFTER 参数2 FROM 初值2 BY 步长2 UNTIL 条件2 AFTER 参数3 FROM 初值3 BY 步长3 UNTIL 条件3PERFORM T VARYINGXFROM 1 BY 1 UNTIL X 9 AFTERYFROM 1 BY 1 UNTIL Y XPERFORM 语
展开阅读全文