- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 Fortran 过程程序设计 本章介绍Fortran 95语言中过程的程序设计 方法。通过本章的学习, 应了解Fortran过程 的基本概念,掌握Fortran的外部过程(函数子 程序?子例行子程序) 和内部过程的定义和调 用方法, 理解公用语句与等价语句的形式与作 用,了解数据块子程序的形式及作用。 6.1 FORTRAN过程概述 一个FORTRAN程序由若干个程序单元组成。程序单元可以是主程序单元、外部程序单元、模块程序单元或数据块程序单元。其中,只能包含一个主程序单元。 所谓过程,是指一些由系统提供或用户自己编写的程序块。 在解决实际问题时,为了降低问题的复杂程度,常常把一个大问题分解为若干个小问题,然后再把这些小问题分解为更小的问题,这样重复下去,直到各个小问题都能解决为止。这样,原来的问题就可以解决了。在程序设计中,也往往遵循这样的思想,将程序的功能逐步分解成若干个子功能,每个子功能还可以再分解为更小的若干个子功能,直到每个子功能都可以较简单地实现,也就是说,采用“自顶向下?逐步求精”的方法,将一个大型程序的设计任务分解成若干个较小的子任务来完成。这就是模块化程序设计方法,它是构成大型复杂软件的一种重要方法,是结构化程序设计的主要手段。FORTRAN语言中的“过程”就是实现这一方法的重要工具。 在Fortran 95语言中包括以下过程: 内部过程(internal procedure) 内部过程是在程序单元内部定义而且只能被该程序单元调用的过程。内部 过程也称为标准过程。 外部过程(external procedure) 外部过程是在某个外部程序单元中定义的独立过程,或是用非Fortran语言 编写的过程。Fortran的外部过程包括函数子程序和子例行子程序。 模块过程(module procedure) 模块过程是在模块中定义, 可以被所有使用该模块的程序调用的过程。包 含过程的模块称为宿主。 内在过程(intrinsic procedure) 内在过程是由编译系统内部定义, 不用任何附加声明或说明就可以可直接 引用的过程。 哑过程(dummy procedure) 如果一个哑元(形式参数)被指明为过程或作为过程名出现在过程引用中,那 么该哑元代表的过程为一个哑过程。 语句函数(statement function) 语句函数是由单个语句定义的函数。Fortran 95不推荐使用,因为它不符合 过程的一般规则。建议使用内部过程替代它。 下面通过例子介绍语句函数的用法。 例6.1 利用梯形法 计算定积分的值。 语句函数定义的形式为: 语句函数名([哑元名表])=表达式 语句函数定义语句,必须出现在其它说明语句之后?第一个可执行语句之前 program ex601 implicit none real::a=0.0,b=1.0,s=0.0,h,f,x integer::n,i f (x)= 1.0/(1+x) !语句函数f的定义语句 write(*,(输入等分区间的个数n:) ,advance=no) read *,n h=(b-a)/n do i=1,n-1 s=s+f (a+i*h) !调用语句函数f的语句 end do s=h*(f (a)+f (b)+2.0*s)/2.0 !调用语句函数f write ( *,(定积分的值为: ,f10.6))s end 程序执行示例: 输入等分区间的个数n:100 定积分的值为: 0.6931533 前面所举的程序例子,大多只有一个主程序块。实际上fortran 程序通常是由多个程序块组成的。各程序块之间是相互独立 的,即各程序块中的变量名? 数组名?语句函数和语句标号只 在本块中有效。本章重点介绍外部过程(函数子程序和子例行 子程序),以及与过程相关的一些语句。 6.2 外部函数子程序 由fortran语言提供的内在过程,虽然在任何程序单元中都可以随意调用,但是仅仅限于内在过程远远不能满足许多应用的需要。因此,任何一种程序设计语言都提供某种方法,使用户能够根据实际问题的要求,自行编写相应的函数或子程序来扩充程序的处理能力。 如果被计算的任务既不是内在函数,也不能用一个表达式表示,或者虽然能用一个表达式表示,但有多个程序块都要使用它,在这些情况下,可以用一个外部函数子程序定义它。 6.2.1 外部函数子程序的定义 外部函数子程序又分为普通的?递归的和并行的三种。此处仅讨论普
您可能关注的文档
最近下载
- 草地复垦协议书范本最新.docx VIP
- 经典英文故事绘本_Winnie the Witch 女巫温妮_亲子读物.pdf VIP
- 铁道工程概论课件学习课件(共165张PPT).ppt VIP
- 25法考柏浪涛-刑法每日一题(1-165题).pdf VIP
- 箱涵监理规划.doc VIP
- 小学生中国象棋入门课件.pptx VIP
- IMT-20306G推进组2024年6G通信感知一体化协作感知关键技术前沿报告72页.pdf VIP
- 业主业主委员会精品课件.pptx VIP
- 美剧剧本绝望主妇台词本中英文对照精排版第一季第一集.pdf VIP
- 2025年上半年中学教师资格证《教育知识与能力》考试真题及答案(完整版.pdf VIP
文档评论(0)