FORTRAN90第6章1.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FORTRAN90第6章1

FORTRA90源程序基本结构 1、由若干个程序单元组成: 主程序、子程序、模块 2、主程序结构 [program 程序名称]一般省略 [声明语句部分] [执行语句部分] END[program [程序名称]] 注意:END是停止运行、结束标记,不可省略 子程序分类 Fortran90程序中的过程有两种:函数子程序过程和子例子程序过程。这两者的形式、功能与调用方法都有所不同,但总称为过程或子程序。 P111 FUNCTION函数名(虚元表)RESULT(结果名) 说明部分:虚元表中的所有虚元、函数结果名、其它变量 的类型 程序体: 实现函数功能的语句,结果名至少赋值一次 End [ function[函数名]] 编写求1+2+3+……+N的值的函数子程序 Function isum(n) result(isum_result) integer::n, isum_result,I isum_result=0 do I=1,n isum_result=isum_result+I end do End function 调用子程序的执行流程 例6-1 编写求1+2+3+……+N的值的函数子程序。 函数定义 Function isum(n) result(isum_result) integer::n, isum_result,I isum_result=0 do I=1,n isum_result=isum_result+I end do End function 例6-1 编写求1+2+3+……+N的值的函数子程序。 主程序(函数调用) Program main integer::n integer::isum read*,n print *,isum(n) end 求X的绝对值 Function f(x) result(r) real::x,r if (x0)then r=x else r=-x endif end Program main real::I,f read *,i Print *,f(i) end 总结 函数子程序编写思路 funtion函数开始语句 虚元表 函数参数 结果名 不能和函数名同名 说明语句 虚元表中的所有虚元、函数结果名;其它变量 执行语句 完成函数的功能 至少有一次对结果名赋值 程序单位结束语句 END Function 例6-3求出20-50间的素数,调用函数实现 主调程序: PROGRAM MAIN IMPLICIT NONE INTEGER::N,PRIME DO N=20,50 IF(PRIME(N)==1) PRINT*,N ENDDO END PROGRAM MAIN 改写PRIME函数(使用逻辑变量): FUNCTION PRIME(M) RESULT(PR) IMPLICIT NONE INTEGER::M,I LOGICAL::PR PR=.TRUE. DO I=2,sqrt(real(m)) IF(MOD(M,I)==0) PR=.FALSE. ENDDO END FUNCTION PRIME 主调程序: PROGRAM MAIN IMPLICIT NONE INTEGER::N LOGICAL::PRIME DO N=20,50 IF(PRIME(N)==.true.) PRINT*,N ENDDO END PROGRAM MAIN 练习题 1.下面的子例行程序过程说明语句中,正确的是 : A)SUBROUTINE MYSUB( ) RESULT(RE) B)SUBROUTINE MYSUB (X,Y) C)SUBROUTINE MYSUB(1,2) D)SUBROUTINE MYSUB(AREA) RESULT(RE) 2.下面对函数程序过程的描述,那一句是错误的? A) 函数过程由FUNCTION语句来说明,函数名的命名方式与变量相同。 B) 虚元表中可以包含变量名、过程名、数组名和指针等。 C) 结果变量用于存放函数执行结果,它应该在过程体中至少被赋值一次。 D) 函数子程序不是一个独立的程序单位,它能被任何程序单位调用。 例2.计算 x+1 x0 f(

文档评论(0)

文档精品 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档