返回介绍

6.1.3 过程

发布于 2025-03-08 16:28:36 字数 1170 浏览 0 评论 0 收藏 0

a) 外部过程

如果过程是一个独立于主程序单元的程序单元,它就是外部过程。外部过程也可以通过非 Fortran 语言(通常是汇编语言) 来定义。外部过程的形式有两种:

外部函数 :FUNCTION 语句

[说明部分]

[可执行部分]

[CONTAINS

内部过程]

END [FUNTION 函数名]

外部子程序:SUBROUTINE 语句

[说明部分]

[可执行部分]

[CONTAINS

内部过程]

END [SUBROUTINE 子程序名]

b) 内部过程

内部过程是包含于外部过程、模块或主程序单元之中的程序单元。在宿主程序单元中,以 CONTAINS 语句把内部过程与其他部分分开。内部过程也具有两种形式:

内部函数 :FUNCTION 语句

[说明部分]

[可执行部分]

END [FUNTION 函数名]

内部子程序:SUBROUTINE 语句

[说明部分]

[可执行部分]

END [SUBROUTINE 子程序名]

注意内部过程中不能再包含内部过程,即 F90 不是过程嵌套式语言。

c) 内在过程

内在过程是 Fortran 含于编译器程序库中的过程,它不需任何其它声明或说明即可使用。F90 中定义了 113 个内在过程,它们为科学计算提供了极大方便,内在过程除了第一章中介绍的部分内在函数和第五章中介绍的部分数组函数外,还有其他一些内在函数及内在子程序,其具体使用方法请查看 Visual Fortran 的联机帮助。内在过程共分为四类:

1、查询函数:它们的返回值是根据变元的性质而非变元的取值。

2、 基本过程:由标量变元指明的基本过程,但可以用标量或数组实元进行调用。有许多函数是这种基本函数,并有一种基本内在子程序(MVBITS)。如果变元是标量,则结果也是标量。如果变元是数组,则对数组的每个元素施加过程,其结果是与变元形状相同的数组。例如,a 是数组的话,则 b=sin(a) 也是数组。

3、 变换函数:其变元是数组,但过程不施加于每个元素,而是把变元变换成另一数组。

4、 非基本过程:只能以标量实元进行调用,除了 MVBITS 以外的所有内在子程序都是非基本过程。

如果要用内在过程名作为其它过程的实元,需要用 INTRINSIC 语句加以声明。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文