FORTRAN90 程序设计计算机中心 Fortran 90 Visual Fortran 90 程序设计§ 概述§ 子程序的嵌套调用§ 函数子程序§ 模块§ 子例子程序§ 递归过程§ 虚实结合§ 其他部分§ 程序举例 Fortran 90 § 概述主程序的结构: 主程序的结构: 单位定义说明部分输入计算或处理输出 END 用子程序完成用子程序完成用子程序完成子程序子程序引入子程序的目的: 模块化设计引入子程序的目的: 模块化设计所有功能都在主程序单位内完成 Fortran 90 1、一个 Fortran90 程序主程序单元个数: 1个 2、子程序单元: 0-n 个子程序单元被主程序单元或被其它子程序单元调用,甚至可以递归调用(调用本身) 源程序的结构源程序的结构 Fortran 90 主程序: 单位定义说明部分输入调用子程序输出 END 计算或处理子程序: 最简单的源程序的结构最简单的源程序的结构 Fortran 90 子程序分类子程序分类 1、函数子程序分为内部函数子程序外部函数子程序 2、子例行子程序分为内部子例行子程序外部子例行子程序用于完成复杂的计算返回一个或多个值用于完成复杂计算, 返回一个或多个值, 或用于其它数据处理 Fortran 90 § 外部函数子程序单位定义语句说明部分程序体:具体计算 END 语句外部函数子程序的结构外部函数子程序的结构 FUNCTION F(X,Y,Z)RESULT(F_RESULT) IMPLICIT NONE REAL::X,Y,z,F_RESULT F_RESULT=X+Y Z=X-Y END PROGRAM NAIN …… READ * ,A,B D=F(A,B,c) PRINT * ,C,D END 两单位相互独立编译必须进行数据的传递 Fortran 90 END [FUNCTION [ 函数名]] 子程序 END 语句写法子程序 END 语句写法 1、函数单位的结束标志 2、将控制返回到主调程序。子程序 END 语句功能子程序 END 语句功能 Fortran 90 函数单位定义语句的写法函数单位定义语句的写法[RECURSIVE]FUNCTION 函数名(虚元表) RESULT( 结果名) 1、函数子程序的第一行(注释行除外)。 2、如果函数是递归的,则应以 RECURSIVE 开头。 3 、函数名为全局名:作用域为整个程序,不与已有的全局名同名。各独立程序单位的名字为全局名 Fortran 90 4、主调程序与被调程序两个单位之间的数据传递①结果名:子程序的一个输出一般写法: 函数名_RESULT ,用于保存一个计算结果,称为函数值。且结果名有类型,必须在子程序说明部分说明类型。②虚元表:子程序的所有输入,及除函数值之外的其他计算结果的输出。函数值返回给调用式由实元传递给对应的虚元虚元数据返回给对应的实元
FORTRAN90第6章子程序-课件(PPT演示稿) 来自淘豆网www.taodocs.com转载请标明出处.