ImageVerifierCode 换一换
格式:DOCX , 页数:79 ,大小:65.43KB ,
资源ID:13565629      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-13565629.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(COBOLCommonBusinessOrientedLanguage通用商业语言.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

COBOLCommonBusinessOrientedLanguage通用商业语言.docx

1、COBOLCommonBusinessOrientedLanguage通用商业语言第一章COBOL 概述一、 COBOL 的语言特点:COBOL:Common Business Oriented Language通用商业语言它是专门为数据管理而设计的计算机高级语言。COBOL语言的主要特点:1、 适用于数据处理,(科学计算、数据处理、过程控制、计算机辅助设计、人工智能等)数据处理的特点:算术计算量多而逻辑处理少,输入输出量大;数据项之间有清晰的层次关系;大量的分类排序;对打印报表的高要求及多样化等等2、 通用性强使用是要注意它的特殊性,COBOL有较高的标准化程序硬件集中管理不同厂家生产的计算

2、机系统所提供的COBOL是COBOL 的标准的全集或子集,设备的逻辑名可能不一样。3、 机构严谨、层次分明、比较接近于自然语言,便于初学者模仿。二、 COBOL的发展概况1959年12月在美国提出了世界上第一个COBOL语言文本并于1960年4月由美国政府印刷局正式发表称之为COBOL60COBOL61COBOL65ANSI标准(美国国家标准化协会)ANSI COBOL68-(修订扩充)-ANSI COBOL-74-ANSI COBOL-85ISO 标准(国际标准化组织)ISO COBOL-72-ISO COBOL-78三、 COBOL源程序结构及书写格式源程序示例:例(P8)将A和B的值相加

3、其和放在B中源程序的结构部(DIVISION):标识部、环境部、数据部、过程部 以部头开始以“.”和空格结束节(SECTION):每个节以节头作标识,以“.”和空格结束如WORKING_STORAGE SECTION (工作单元节)段(PARAGRAPH):每个短都有一个段名,以“”和空格结束如PROGRAM_ID EXAM2句子(SENTENCE):用空格分开的多条语句称为句子最后以“.”和空格结束的一个语句序列语句(STATEMENT):一条完整的指令用于完成一定的操作子句(CLAUSE):用于完成某一方面的特定功能如环境部中的SELECT子句。描述体:在数据部中有若干个节,每个接中有若干

4、个描述体,(每个描述体又有若干个子句构成)如数据项描述体77,文件描述体FD,记录描述体01等注:标识部只有段没有节,环境部既有节又有段;数据部只有节没有段;过程部中的段和节是有程序员自己定义的,如果使用了节则其后的段必须包含在此节中直到遇到下一个节为止。书写格式COBOL 的程序格式标号区续行标志A区B区(正文)注释区1-6列第7列8-11列12-72列73-80列标号区:标号不是程序的执行顺序它可写可不写写是要求按照从小到大的顺序但不一定连续标号有程序的编写者自定义。续行区:空格 续行但插入一个空格 绕行紧接不插入空格*:注释行/: 换页打印源程序A区:COBOL规定:部头、段头、节头、层

5、号01、层号77、文件描述符FD、过程名等必须从A区开始书写(但不一定从第八列开始)其他层号也可以在A区书写B区:除了在A区书写的源程序内容外其他的内容都可以在B区书写书写源程序注意事项:(1) 允许一行内书写多个语句(用空格分开)或一个语句写在几行上(2) 一个空格和多个空格作用相同(3) 相邻的两个字(保留字、自定义的名字)必须用空格分开(4) 运算符(+-*/)和等号两侧必须个留一个空格过程部中的“(”和“)”的外侧留而内侧不留空格(5) 逗号、点、分号的左边不留空格而右边留空格四、 COBOL字符集和COBOL字1. COBOL字符集共51个不同的计算机系统可能不一样,有0-9,A-Z

6、和15个专用字符2. COBOL的字:COBOL保留字:在COBOL中作专门用途如ADD,SELECT,ZERO.SPACE用户字:如变量名、助记名、过程名、条件名等等系统名:由编译系统定义的字,如计算机名。外部设备名等等五、 数据名和常量1、 数据名:在其它语言中成为变量名数据名不能去保留字,数据名中不能出现空格,最好去有意义的英文字2、 常量(1) 数值常量:由正负号、小数点、0-9组成,但小数点不可以出现在常量的最右边,即整数是不加小数点因小数点在COBOL中有特殊用途。数据常量的长度不可以超过18个数字(不包含小书店和符号)。数据之间不能有空格。(2) 非数值常量:用引号括起的字符串,

7、使用单引号还是双引号又具体的计算机系统规定,非数值常量的长度不能超过120个字符(又具体的计算机系统确定)。例:MOVE ABC TO AMOVE QUOTE ABC QUOTE TO B(3):表意常量:P20页表格 表意常量的说明:1 ZERO 即可作为字符型常量也可作为表意型常量 2 单数形式和复数形式等价 3表意常量与其他数据项连用是其他数据串长度与它的联用的数据项长度相同。 4单独使用是字符串长度为1。如:DISPLAY ZERO ;显示一个0六:COBOL所处理的数据的特点:层次概念工资统计GZTJ 夜班补助YBBZ托儿费TEF水电费SDF实发工资SFGZ扣除KC 收入SR职工名Z

8、GM 病事假BSJ房租费FZF附加工资FJFZ基本工资JBGZ01 GZTJ02 ZGM02 SR04 JBGZ 04 FJGZ 04 YBBZ02 KC04 BSJ 04 FZF04 SDF04 TEF 注意:具有一定层次关系的一组数据项的最大集合。文件:文件是建立在外部介质上的纪录的集合任何一种外部设备的介质都可以作为文件的载体(如:卡片文件、磁带文件、磁盘文件等等) 七:源程序输入计算机的方式(一) 键盘输入:先按一下TAB键从第八列开始,输入完一列按回车。用于微机。(二) 卡片输入:用于大、中型机算机上通过读卡机以批处理方式运行COBOL程序。(三) 软盘磁带输入。 一般的,在大中型计

9、算机系统中,COBOL源程序一般用读卡机,也可以用键盘或其他的外设输入;在微型机算机系统中多用键盘输入,如果配有纸带输入机也可以用纸带输入。 第二章 标识部和设备部一、标识部:程序编译时不生成任何目标代码。部头和段头都在A区开始书写。 部头: IDENTIFICATION DIVISIONPROGRAM_ID 程序名.AUTHOR. 程序员名.段头:INSTALLATION. 计算机设置的场所.DATE_WRITTEN. 源程序编写的日期.DATE_COMPLLED. 源程序编译的日期.SECURITY. 保密程序二、环境部(设备部):COBOL源程序中唯一与硬件有关的部分。可理解成源程序运行

10、的环境指硬件环境。 ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE_COMPUTER. 源计算机名. OBJECT_COMPUTER. 目标计算机名. SPECIAL_NAMES. 专用计算机名. ;专用名段 DECIMAL_POINT IS COMMA. CURRENCY SIGN IS 非数值常量. 专用名 IS 助记名. INPUT_OUTPUT SECTION. ;输入输出节 FILE_CONTROL. ;文件控制段 SELECT 文件名 ASSIGN TO 设备名. SELECT 文件名 ASSIGN TO 设备名. I-O-C

11、ONTROL. 输入输出控制描述体. ;输入输出控制段用来指定目标程序运行时,几个文件共用一个内存区以节省内存。(不做要求)说明:助记名:用户自己定义的名字。专用名:系统规定的一些设备名或功能名或符号。设备名是指系统规定的,各机器规定不同,使用适应查说明书。系统名是由编译系统定义的字,如:计算机名和外部设备名等等。常用专用名: 打印机:PRINTER 控制台:CONSOLE 宽行打印机:SYSOUT 读卡机:SYSIN 磁带机:TAPE 磁盘机:DISK注意:SELECT子句应从B区开始书写。例: IDENTIFICATION DIVISION. PROGRAM_ID. EX1. ENVIRO

12、NMENT DIVISION. CONFIGURATION SELECTION. SOURCE_COMPUTER. FACOM_MISOF. OBJECT_COMPUTER. FACOM_MISOF. SPECIAL_NAMES. CURRENCY IS Y. INPUT_OUTPUT SECTION. FILE_CONTROL. SELECT A1 ASSIGN TO PRINTER. SELECT A2 ASSIGN 第三章 过程部之一(最基本语句)四分支语句(一) 无条件转向语句 Goto 过程名注:过程是指过程部中的节名或段名,它代表一段过程。(二) 开关语句Go To 过程名1,过成

13、名2.过程名n DEPENDING ON 标记名注:表示符的值在1且n否则执行此语句是出错例1:银行有几种不同的利率(6%,%5,%4,2.5%)对不同的存储户根据其特点确定一个利率并计算利息(p45:源程序略)(三) 条件语句(IF)1. IF 语句的基本形式:格式一:IF 条件语句(称为语句组或句子较合适,以下类同)格式二:IF 条件语句1ELSE 语句2格式三:IF 条件 语句1 语句2 ELSE NEXT SENTENCE NEXT SENTENCE例某公司对顾客购买商品的1000件以上的给3%的优惠IF QUANTITY IS NOT LESS THAN 1000MULTIPLY 0

14、.97 BY PRICE例2:某公司对顾客购买商品1000件以上的给3%优惠,否则给1%的优惠IF QUANTITY1000 MULTIPLY 0.99 BY PRICE ELSEMULTIPLY 0.97 BY PRICE例3:IF B*24*A*C NOT0NEXT SENTENCEELSE DISPLAY B*24*A*C NOTBMOVE A TO B IF ABELSE =IS GREATER THAN 或 IS LESS THAN 或 NOT LESS THAN 或 NOT NOT EQUAL TO 或NOT =注:比较原则对字符型数据根据计算机系统采用的字符编码(ASC码或EBC

15、DIC码)。流程图示 打开/关闭文件 处理:算术运算,数据传输,编辑操作等 判断 一个过程的起点和终点 卡片的输入/输出 打印的输出 磁盘输入/输出磁带输入/输出 连接符 五文件的基本操作语句 (一) 打开语句 OPEN格式: INPUT 文件名1 ,文件名2 OPEN OUTPUT 文件名3 ,文件4 例:OPEN INPUT x1,x2,x3OPEN OUTPUT Y1,Y2,Y3或 OPEN INPUT x1,x2,x3 OUTPUT INPUT Y1,Y2,Y3(二)关闭语句 close格式:close 文件名1 ,文件名2 .例 Close x1,x2,x3,Y1,Y2,Y3(三)读

16、语句READ该语句是从外部数据中读一条纪录到内存的对应输入区。每一个输入文件在内存区都有一个对应的输入记录区。格式:READ 文件名 RECODE INTO 表示符 ,AT END强制语句 说明:INTO 将输入记录区的内容使送到另一个数据项中故此时当前纪录同时存在于内存的输入纪录区和数据项两个域中。 READ CARD-FILE INTO A AT END GoTo A1. READ CARD-FILE AT END GO TO A1. MOVE CARD-RECORD TO T AT END :当数据文件中的最后一条纪录读出后,则下一次读语句将转去执行AT END 后面的强制语句,所谓强制

17、是指一定要执行的语句如:MOVE DISPLAY STOP RUN等而不带ELSE子句得IF不属于强制语句注:读入一个字句后要处理完毕读下一条纪录READ语句必须作为一个句子使用即必须依句点和空格结束;例:数据文件的操作12列 年(YEAR)34列 月(MONTH)56列 日(DAYY)注:DAY 是保留字710列 产品代码(PRODUCT-CODE)1114顾客代码(CUSTOMER-CODE )1520数量(OUANTITY)2126 单价(UNIT-PRICE)2780 空白某张卡片纪录数据如下:82 03 10 0010 0002 00020 000200 年 月 日 产品号 顾客号

18、数量 单价(2)在环境部中对数据文件对应的数据的设备进行描述ENVIRONMENT DIVISION 环境部INPUT-OUTPUT SECTION 输入输出节FILE-CONTROL. 文件控制段L:SELECT CARD-FILE ASSIGN TO SYSIN 读卡机在数据部中对纪录进行描述FILE SELECTFD CARD-FILE LABEL RECORD IS OMITTED.01 CARD-RECORD(记录名) 02 DATE-C.(组合项)03 YEAR PIC 99.03 MONTH PIC 99. 03 DAYY PIC 99.02 PRODUCT-CODE PIC 9

19、(4).02 CUSTOMER-CODE PIC 9(4).02 QUANTITY PIC9(6).02 UNIT-PRICE PIC9(6).02 FILLER PIC X(54)注:FILLER 是保留字为填充项数据名但不能单独使用可以作为纪录或者组合项的一部分一起被引用在过程部中对文件操作OPEN INPUT CARD-FILE.READING-DATA.(段名)READ CARD-FILE AT END GOTO A1.ADD QUANTITY TO TOTAL.GOTO READING-DATAA1:DISPLAY TOTALCLOSE CARD-FILE.STOP RUN.(四).

20、写语句WRITE写语句数将内存中输出记录缓冲区的内容输出到对应的输出文件上格式: WRITE 记录名 FORM表示符 表示符2 LINE BEFORE (移动行数) (先打印后移动) ADVANCING 整数 LINES(先移动后打印)AFTER 助记名 (特殊控制) (换页) PAGE 说明:(10)FORM表示符 表示先把内存区中的一个数据项的内容送给输出记录区,然后在输出记录区的内容如:WRITE T FROM T1 AFTER 3 MOVE T1 TO T WRITE T AFTER 3(2)执行完WRITE 语句后,需要改变输出区的内容,再执行WRITE语句(3)在许多计算机系统的C

21、OBOR中,输出记录区的第一个字符作用“纵向走纸控制“用不输出。01 T02 FILLER PIC X(走纸控制位)02 T-REC PIC X(120) 输出信号区(假设打印机每行可容120个字符)(4)有些计算机系统提供一些专用名来实现特殊的输出控制如:重叠打印,移到本页末尾等功能。用户可以在设备部的专用名段中定义一个助记名与此专用名相联系,来实现特殊控制,即 WRITE 语句 中 助记名功能 PAGE例:将从控制台输入三个数据,经过计算机后从打印机输出(P65 源程序略)第三章 过程部之一一、 加法语句(ADD) 格式1: 标识符1 ,标识符2 标识符mROUNDED ON SIZE A

22、DD TO ERROR常量 ,常量2 格式2: 标识符1 标识符2 , 标识符3ADD , 常量1 常量2 , 常量3GIVING 标识符m ,标识符n 注:格式中的标志符,是指能唯一标志一个数据项的数据名。例: ADD A TO B ;A+B=BADD 15 TO C ;15+C=C ADD A, B TO C ; A+B=C=CADD 15, 25 TO C ;15+25+C=CADD A, 25 GIVING T ; 15+25=TADD A, B TO C, D ; A+B+C=C, A+B+D=DADD A, X GIVING Y, Z; A+X=Y, A+X=Z若有记录如下:例:

23、01 A 01 B02 B1 02 B203 C 03 C 03 D 03 D则: ADD C TO D ADD C OF B1 TO D OF B1ADD C OF B2 TO D OF B2 (二) 减法语句 SUBTRACT 格式1: 标志符1 ,标识符2 SUBSTRACT FROM 标识符m ,标识符 n 常量1 ,常量2格式2: 标志符1 ,标识符2 标识符m SUBTRACT FORM 常量1 ,常量2 常量 m GIVIN G 标识符n ,标识符p 例; SUBTRACT B FROM A ; A-B=A SUBTRACT B, C FROM A ; A-B-C=A SUBTR

24、ACT B, C FROM A, T ; A-B-C=A, T-B-C=T SUBTRACT B, C FROM A GIVING X ; A-B-C=X(A的值恒不变)(三)乘法指令 MULTIPLY 标识符1格式1: MULTIPLY 常量1 BY 标识符2 标识符3 标识符1 标识符2格式2: MULTIPLY 常量1 BY 常量 2 GIVING 标识符3 标识符 4 例: MULTIPLY A BY B ;AB=BMULTIPLY 0.5 BY B ;0.5B=BMULTIPLY A BY B GIVING C ;AB=CMULTIPLY 1.5 BY 3 GIVING C, A ;

25、1.53=C,1.53=AMULTIPLY A BY B,C ; AB=B,AC=C(四)除法指令 DIVIDE 标识符1 格式1: DIVIDE 常量1 INTO 标识符2 ,标识符3 标识符1 INTO 标识符2格式2: DIVIDE 常量1 BY 常量2 GIVIGNG 标识符3 ,标识符4 例: DIVIDE A INTO B ; =B DIVIDE A INTO B GIVING C ; =C DIVIDE A BY B GIVING C ; =CDIVIDE A BY B ;=BDIVIDE A BY B GIVING C, D, E ; =C, =D, =E注:进行除法运算时,若

26、除不尽则多余位截去。若除数为0,则引起长度溢出错误.。例:计算A-B+CADD A TO CSUBTRACT B FROM C 例2::A*B*CMULTIPLIY A BY BMULTIPLUY B BY C例3:阅读程序:P35源程序略。(计算语句)COMPUTER格式:COMPUTER 标识符号ROUNDED算术表达式ONSIZE ERROR、*、/、*单边运算符(、)例: W W(A+B)/C+D X+X-3 X*2+X3 +C(X+1) B/A+C*(X+1)*2 AA (A*2) A A/(B*2) 注意: 所有运算符两侧均应留一部分空格括号的外侧应留空格,内侧不要留空格.初等项、

27、组合项例: 阅读程序:P38三 传送语句 标志符MOVE TO标志符,标志符 常量 数值常量、非数值常量、表意常量例: MOVE 1285 TO AMOVE ZERO TO COUNTMOVE SPACE TO BLANKFIELDMOVE BOOK TO TMOVE 1981/8/30 TO W、X、YMOVE AMOUNT TO TOTAL说明:对数值型数据,按小数点对齐的原则向两边扩展,不足的补零,多佘位截断. 对非数值型数据.按”左对齐的原则传送,”不足位补空格,多佘位截断.例: MOVE A(123.45) TO B(PIC 999V99)A:123 4512345123451234

28、512345234534545 B、PIC 999V99 PIC 99 V99 PIC 9V99 PIC V99 例:MOVE CHINA TO BC HINACHINCHB PIC A(6)PIC A(4)PIC A(2) 另外MOVE 可以将一个组合项内容传送给一个初等项,或一个初等项传送给一个组合项或一个组合项内容传给另一个组合项.初等项 初等项(又称基本项)组合项目 组合项二、输入输出语句(一) 接收语句 ACCEPT 格式:ACCEPT 标志符 FROM 助记名 省略 表示系统隐含指定的设备上读入一个数据。不省略时表示从助名代表的外部设备上输入数据。助记名代表哪个逻辑设备名。需要在环境部的专用名段中指定。例:ENVIRONMENT DIVISION. CONHGURATION SECTION. SPECIAL-NAMES. CONSOLE IS A BC ACCEPT A FROM ABC注:若标识符为组合项,则输入时应一次输入该组合项中各个初等项的值. 接收数

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2