- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十一章 子程序
第十一章 子程序 【重点】 函数子程序、子例行程序的定义 与调用,实参与虚参的数据传递 本章内容 11.1函数子程序 11.2子例行程序 11.3实参与虚参之间的数据传递 11.4利用子程序实现程序的模块化设计 11.5在子程序中save语句与data语句 11.6程序举例 11.1 函数子程序 FORTRAN的子程序有函数子程序、子例行程序和数据块子程序三种。 子程序可以被主程序调用,也可以被其它子程序调用。但不能直接或间接地自己调用自己(递归调用)。调用子程序的主程序和子程序统称为调用程序(调用单位),被调用的子程序统称为被调用程序(被调用单位)。 11.1 函数子程序 在FORTRAN 77中,允许使用三种函数:(1)内部函数;(2)语句函数;(3)函数子程序(外部函数)。函数子程序是一个独立的程序单位,它不属于调用程序所在的程序单位,因此它称为外部函数。内部函数是FORTRAN 77提供的系统标准函数,可以被任何程序单位调用。 11.1.1函数子程序的定义 一、函数子程序的定义 函数子程序必须以FUNCTION语句开头,以END语句结束。 FUNCTION语句的形式为: 第一种: 类型说明 FUNCTION 函数名(虚拟参数表) 第二种: FUNCTION 函数名(虚拟参数表) 类型说明 函数名 注意:1.函数名的取名与变量名相同; 2.函数名既表示函数的名字又代表函数的函数值; 3.若省略对函数名的类型说明,按隐含类型规则处理。 11.1.1函数子程序的定义(续) 4. 函数名后一对括号中为虚拟参数,当参数多于一个时,它们之间用逗号隔开,虚参可以是变量名、数组名、子程序名; 5. 如果没有虚参时,一对括号不能省,形式应为: 类型说明 FUNCTION 函数名( ) 6. FUNCTION语句到对应的END语句组成函数体,函数体中说明语句在前,执行语句在后; 7. 在程序的执行流程返回调用单位之前,必须把所求的函数值赋给函数名: 函数名=表达式 11.1.1函数子程序的定义(续) 8. 函数是一个独立的编译单位,所以函数体内的所有变量、语句标号等的作用仅局限于本程序单位内,除函数名和虚参以外其他程序单位没有任何联系; 9. RETURN语句与END语句的关系: RETURN语句可以有多个,可根据需要放在适当的位置上,程序执行的流程在遇到它时就立即返回调用单位,它可以省略; END语句只有一个,且必须放在子程序的最后。 11.1.2函数子程序的调用 外部函数的调用形式与内部函数的调用相同其形式如下: 函数名(实在参数,… ) 或者 函数名( ) 注意:1.它可以在任何允许函数值出现的表达式中调用函数,只能在表达式中对函数进行调用; 2.在调用程序中使用外部函数名和函数子程序定义中的函数名的类型应完全一致; 3.实参个数必须与对应的虚参个数完全相同,实参与虚参按它们的位置建立一一对应的联系,实参的名字和对应位置上的虚参无需相同,但类型必须完全一致。 运用函数子程序编程 编写一个函数子程序IFAC用来求n!,要求所得函数值为实型。调用此函数求 C=R!/((R-K)!*K!) 举例源程序 (home) INTEGER R REAL IFAC 10 WRITE(*,*)’输入正整数R,K(RK)’ READ(*,*)R,K IF(R .GE.0 .AND. K .GE.0 .AND S . R-K .GE.0 )THEN C=IFAC(R)/ (IFAC(R-K)* IFAC(K)) ELSE WRITE(*,*)’数据有误,重输’ GOTO 10 ENDIF WRITE(*,*)’C= ’,C END 11.2 子例行程序 1.子例行程序的定义 子例行程序以SUBROUTINE语句开头,以END语句结束。 SUBROUTINE语句的形式为: SUBROUTINE 子例行程序名(虚拟参数,…) 当没有虚参时形式为: SUBROUTINE 子例行程序名 11.2 子例行程序 说
您可能关注的文档
- 第五章 成本计算基本方法.ppt
- 第五章 实体建模.ppt
- 第五章 斯太尔发动机润滑系.ppt
- 第五章 收入、货币资金与应收款项.ppt
- 第五章 曲线运动 章末整合 课件(人教版必修2).ppt
- 第五章 耦合场分析概况.ppt
- 第五章 空间查询.ppt
- 第五章 股份支付.ppt
- 第五章 昆虫的排泄器官.ppt
- 第五章 汽车发动机润滑系统.ppt
- 专题04 天气与气候(期末真题汇编,广东专用)(解析版).docx
- 专题04 中国的经济发展(百题精选)(期末真题汇编)(原卷版).docx
- 专题05 建设美丽中国(专项训练)(原卷版).docx
- 专题05 建设美丽中国(专项训练)(解析版).docx
- 专题05 居民与文化 发展与合作(百题精选)(期末真题汇编)(解析版).docx
- 2024年下半年教师资格考试中学《教育知识与能力》真题(含答案和解析).docx
- 专题05 居民与文化 发展与合作(百题精选)(期末真题汇编)(原卷版).docx
- 专题05 居民与文化 发展与合作(期末真题汇编,广东专用)(解析版).docx
- 专题05 居民与文化 发展与合作(期末真题汇编,广东专用)(原卷版).docx
- 统编版七年级语文上册课件《雨的四季》.pptx
原创力文档


文档评论(0)