COBOL课件第5章子程序幻灯片.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Introduction to the new mainfame ? Copyright IBM Corp., 2005. All rights reserved. COBOL 语言程序设计 第5章 子程序 子程序 用已介绍过的执行语句(PERFORM语句)可以使某一语句序列重复执行若干次。但这种调用方式只限于在本程序中使用。 可以把要调用的语句序列不放在本程序中,而另外编成一个程序,就是子程序。把原来的程序称主程序。 一. 举例:编一个打印一行“*”符号的子程序 1 主程序(只写与调用子程序有关的部分) IDENTIFICATION DIVISION. (标识部) PROGRAM-ID. A. (程序名为A) ENVIRONMENT DIVISION. (环境部) …… DATA DIVISION. (数据部) …… PROCEDURE DIVISION. (过程部) …… CALL ‘B’. (调用子程序B) 2. 子程序 IDENTIFICATION DIVISION. PROGRAM-ID. B. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 77 X PIC X(80). PROCEDURE DIVISION. MOVE ALL ’*’ TO X. DISPLAY X. END PROGRAM B. 在程序设计中使用子程序的优点: 1)可以不必写一个庞大的主程序。 2)易于编写和调试。 3)由于子程序有相对的独立性,便于多个程序员合作 共同编制一个复杂的程序。 4)修改子程序比较容易。 5)通用性强。 二.调用程序与被调用程序间的数据联系 调用程序和被调用程序间的数据之间往往需要发生某些联系,这就是程序间的数据联系。 调用语句的一般格式: CALL 子程序名[ USING 数据名1 [,数据名2]……] 被调用程序中过程部部头的一般格式: PROCEDURE DIVISION [USING 数据名1[,数据名2]……] 说明: 1)主程序除了CALL语句外,其它与以前介绍过的没有什么不同。 2)主程序CALL语句中USING子句用到的参数和子程序中过程部部 头USING子句用到的参数个数和长度必须相等。 3)主程序和子程序中USING子句中各参数是依照它们各自的次序 确定关系的,而不是依照名字相同来确定。 4)可以由主程序将参数传送给子程序,也可以由子程序将数据传 送回主程序。共享内存中同一段存储单元。并且当执行完子程 序后,主程序与子程序之间的这种关系就不存在了。 5)也可以无数据的传送。 三.子程序的结构 1.标识部 说明子程序的名字,以供调用。 2.环境部 3.数据部 (1)文件节(FILE SECTION) (2)工作单元节(WORKING-STORAGE SECTION) (3)联接节(LINKAGE SECTION):如果子程序过程部部头的USING子句中有数据名,则此数据名应在此节中加以说明。 4.过程部 过程部的部头:PROCEDURE DIVISION USING 数据名1,数据名2,…… 过程部中应该包括一个程序出口语句: END PROGRAM 程序名. 例题:简单参数传递 主程序: 子程序SUB: 思考:怎么编译联接包含调用子程序的源程序? 四 IS INITIAL 子句 第一次调用子程序,该子程序处于初始态:所有文件处于关闭状态,数据项根据VALUE子句得到初始值 缺省状况下,下次调用的时候,程序保留其上次调用后的状态,所有打开的文件仍然打开,所有数据项保留上次运行时决定的值 保留上次运行状态有时候很有用,有时候则比较麻烦,可能造成程序不够清晰并难以调试。 可以将子程序强制设置为每次调用都从初始状态进行:方法是在PROGRAM-ID 中使用IS INITIAL子句 IDENTIFICATION DIVISION. PROGRAM-ID. Steadfast IS INITIAL. DATA DIVISION. WORKING-STORAGE SECTION. 01 RunningTotal PIC 9(7) VALUE 50. LINKAGE SECTION. 01 ParamValue PIC 99. PROCEDURE DIVISION USING ParamValue. Begin. ADD ParamValue TO RunningTotal. DISPLAY Total = , RunningTotal. EXIT PROGRAM. 12 Total = 62 5 Total = 55 12 Total = 62 IDE

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档