Fortran - 过程
-
简述
一个procedure是一组执行定义明确的任务的语句,可以从您的程序中调用。信息(或数据)作为参数传递给调用程序,传递给过程。有两种类型的程序 -- 函数
- 子程序
-
函数
函数是返回单个数量的过程。函数不应修改其参数。返回的数量称为function value, 并用函数名表示。Syntax函数的语法如下 -下面的示例演示了一个名为 area_of_circle 的函数。它计算半径为 r 的圆的面积。当您编译并执行上述程序时,它会产生以下结果 -请注意 --
您必须指定implicit none在主程序和程序中。
-
被调用函数中的参数 r 被调用dummy argument.
结果选项
如果您希望返回的值存储在函数名以外的其他名称中,可以使用result选项。您可以将返回变量名称指定为 - -
-
子程序
子例程不返回值,但它可以修改其参数。Syntax调用子程序
您需要使用call陈述。以下示例演示了子例程交换的定义和使用,它更改了其参数的值。当您编译并执行上述程序时,它会产生以下结果 - -
指定参数的意图
意图属性允许您指定在过程中使用参数的意图。下表提供了意图属性的值 -值 用作 解释 in 意图(输入) 用作输入值,在函数中不改变 out 意图(输出) 用作输出值,它们被覆盖 inout 意图(输入) 参数被使用和覆盖 以下示例演示了该概念 -当您编译并执行上述程序时,它会产生以下结果 - -
递归过程
当编程语言允许您在同一函数内调用函数时,就会发生递归。它被称为函数的递归调用。当一个过程直接或间接调用自身时,称为递归过程。你应该在这个词前面声明这种类型的程序recursive在其声明之前。当一个函数被递归使用时,result必须使用选项。以下是一个示例,它使用递归过程计算给定数字的阶乘 - -
内置过程
当一个过程包含在一个程序中时,它被称为程序的内部过程。包含内部过程的语法如下 -以下示例演示了该概念 -当您编译并执行上述程序时,它会产生以下结果 -