- 第一章 Fortran 语言程序设计初步
- 第二章 改变程序流程
- 第三章 循环结构
- 第四章 数据结构
- 第五章 数组
- 第六章 过程和模块
- 第七章 输入输出和文件
6.2.1 什么是过程
Fortran 编译系统提供内在函数,可以在任意程序单元中引用。但是在许多时候仅仅使用系统的内在函数并不能满足程序设计的需要,因此就需要自行编制相应的函数或子程序来扩充程序的处理能力。
过程是在程序的执行中可被直接调用的、封装在一起的、进行计算或处理的语句序列。它是任何一种过程型程序设计语言的重要组成部分,对 Fortran 语言也不例外。F90 中,一个过程的定义就是指它是一个函数或是一个子程序。
过程的引用就是调用一个过程。建立过程的目的就是建立可多次重复执行的程序段,以便多次调用它们。通常过程是带有参数的,在 Fortran 中把参数称为变元(实元或哑元),过程定义中的变元是哑元,过程引用中的变元是实元。在调用过程时,要用实元代替哑元,这就是哑实结合。
a) 分类
过程包括下面几种类型:
外部过程:它是在某个外部程序单元中定义的独立过程,或是用非 Fortran 语言编写的过程。
内部过程:在程序单元内部定义而且只能被该程序单元调用。
内在过程:由编译系统内部定义,不用任何附加声明或说明就可以可直接引用。
模块过程:它在模块中定义,可以被所有使用该模块的程序调用。包含过程的模块称为宿主。
哑过程 :如果一个哑元被指明为过程或作为过程名出现在过程引用中,那么该哑元代表的过程为一个哑过程。
语句函数:它是由单个语句定义的函数,其形式为:函数名([哑元名表])=标量表达式。F90 不推荐使用,因为它不符合过程的一般规则。
b) 特性
过程的特性包括,将过程分为函数和子程序的分类特性和它的哑元的特性,对于函数还包括有结果的特性。
一个哑元可以是一个虚拟数据对象、哑过程或作为选择返回指示符的星号。当一个哑元不是星号时,它可有 OPTIONAL 属性,表示对该过程引用时不需要有实元与该哑元结合。一个哑元数据对象的主要特性包括它的类型、种别值、形状、输入输出意向(INTENT)、是否可选(OPTIONAL)、是否一个指针(POINTER) 或目标(TARGET)。哑过程的特性包括其接口是否显式给出、作为过程的特性(如果其接口显式给出) 以及它是否可选。函数结果的主要特性包括它的类型、类别值、秩以及是否指针等。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论