FORTRAN90第6章子程序.ppt
《FORTRAN90第6章子程序.ppt》由会员分享,可在线阅读,更多相关《FORTRAN90第6章子程序.ppt(27页珍藏版)》请在三一办公上搜索。
1、FORTRAN90程序设计,计算机中心 2006.3,Visual Fortran 90 程序设计,6.1概述,6.5 子程序的嵌套调用,6.2 函数子程序,6.6 模块,6.3 子例子程序,6.7 递归过程,6.4 虚实结合,6.8 其他部分,6.9 程序举例,6.1 概述,主程序的结构:,单位定义说明部分输入计算或处理输出END,引入子程序的目的:模块化设计,所有功能都在主程序单位内完成,1、一个Fortran90程序主程序单元个数:1个2、子程序单元:0-n个子程序单元被主程序单元或被其它子程序单元调用,甚至可以递归调用(调用本身),源程序的结构,最简单的源程序的结构,子程序分类,1、函
2、数子程序 分为内部函数子程序 外部函数子程序,2、子例行子程序 分为内部子例行子程序 外部子例行子程序,用于完成复杂的计算返回 一个或多个值,用于完成复杂计算,返回一个或多个值,或用于其它数据处理,6.2外部函数子程序,单位定义语句说明部分程序体:具体计算END语句,外部函数子程序的结构,FUNCTION F(X,Y,Z)RESULT(F_RESULT)IMPLICIT NONEREAL:X,Y,z,F_RESULTF_RESULT=X+YZ=X-YEND,PROGRAM NAINREAD*,A,BD=F(A,B,c)PRINT*,C,DEND,两单位相互独立编译必须进行数据的传递,END F
3、UNCTION 函数名,子程序END语句写法,1、函数单位的结束标志 2、将控制返回到主调程序。,子程序END语句功能,函数单位定义语句的写法,RECURSIVEFUNCTION 函数名(虚元表)RESULT(结果名)1、函数子程序的第一行(注释行除外)。2、如果函数是递归的,则应以RECURSIVE开头。3、函数名为全局名:作用域为整个程序,不与已有的全局名同名。各独立程序单位的名字为全局名,4、主调程序与被调程序 两个单位之间的数据传递,结果名:子程序的一个输出一般写法:函数名_RESULT,用于保存一个计算结果,称为函数值。且结果名有类型,必须在子程序说明部分说明类型。,虚元表:子程序的
4、所有输入,及除函数值之外的其他计算结果的输出。,函数值返回给调用式,由实元传递给对应的虚元,虚元数据返回给对应的实元,FUNCTION F(X,Y,Z)RESULT(F_RESULT)IMPLICIT NONEREAL:X,Y,z,F_RESULTF_RESULT=X+YZ=X-YEND,PROGRAM NAINREAD*,A,BD=F(A,B,c)PRINT*,C,DEND,主,子,5、虚元的含义:编写子程序时没有具体值(调用时或调用结束后才获得数值),因此只是一个符号,表示输入、输出,名字可随便用户取。6、虚元可以是变量名、数组名、过程名、指针等。7、虚元的可选属性INTENT:INTEN
5、T(IN):作为子程序的输入(不得再改变其值)INTENT(OUT):子程序的输出(对应的实元不能是表达式)INTENT(INOUT):子程序的输入输出例:REAL,INTENT(IN):X,Y,子程序程序体的写法,分为说明部分和执行部分。1、说明部分应对程序体内一切变量、数组等实体(包括虚元)作出说明,同时还要说明函数结果变量名,但不可说明函数名。2、执行部分中必须对函数结果名至少赋值一次。,FUNCTION F(X,Y,Z)RESULT(F_RESULT)IMPLICIT NONEREAL:X,Y,z,F_RESULTF_RESULT=X+YZ=X-YEND,两单位独立编译,1、调用式是表
6、达式,调用结束后调用式得到函数值。2、常见形式:Y=函数名(实元表)PRINT*,函数名(实元表)IF(函数名(实元表)注意:实元与虚元一般必须在个数、次序、类型上保持一致;但实元与虚元名字可以不同。,函数子程序的调用,例1:编写子程序求K=M*N,L=M-N,主程序输入2,3,调用子程序,计算2*3及2-3。,Program mainImplicit noneInteger:M,N,K,L,FRead*,M,NK=F(M,N,L)PRINT*,K,LEND,FUNCTION F(M,N,L)RESULT(F_RESULT)IMPLICIT NONEINTEGER:M,N,L,F_RESULT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FORTRAN90 章子 程序
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6505856.html