FORTRAN语言第8章(共8章).ppt

  1. 1、本文档共88页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FORTRAN允许在语句函数定义中没有形参,此时在引用时也不能有实参,但一对括号不能省略。 语句函数的引用可以嵌套。 PROGRAM MAIN2 N=3 Y=(S(N)+S(N+1)+S(N+2))/(S(N+3)+S(N+4)) WRITE(*,100) Y=,Y 100 FORMAT(1X,A,E13.6) END 例4:已知 , 其中 求sinh(x) PROGRAM MAIN3 REAL MYEXP WRITE(*,*) 输入X:‘ READ(*,*) X Y=(MYEXP(X)-MYEXP(-X))/2.0 WRITE(*,100) X,Y 100 FORMAT(1X,sinh(,F5.2,)=,E13.6) END (1) SUBROUTINE语句是子例行程序的声明语句。它表示子例行程序定义开始。同时给出子例行程序所需的各种虚参。 (2)程序体包括:说明部分和执行语句。 说明部分:对形参和子例行程序中所用变量、数组等说明 执行语句:完成子例行程序的运算和操作功能。 (3)子例行程序中的END或RETURN语句使执行流程返回到调用程序。 说明几点: ⑴子例行程序名的命名规则与变量名相同。(但不标识类型) ⑵如果没有虚参,括号可以省略。 例:subroutine abc ⑶虚参可以是变量名、数组名和过程名,但不允许用常量和数组元素。 ⑷子例行子程序的名字只起标识作用,没有值的概念,仅仅为了调用。因此,在子程序体中,它不允许出现。 三、子例行子程序的调用 一般形式: call 子例行程序名(实参表) call 子例行程序名 执行过程:类似函数子程序 例:编写子例行程序分别求出5×5矩阵两个对角线上元素之和。 program main subroutine opp(a,s1,s2) real w(5,5) real a(5,5) read *,((w(i,j),j=1,5),i=1,5) s1=0.0 call opp(w,x1,x2) do i=1,5 write(*,50)x1,x2 s1=s1+a(i,i) 50 format(1x,x1=,f5.2, end do $2x,x2=,f5.2) s2=0.0 end do i=1,5 j=5-i+1 运行结果: s2=s2+a(i,j) x1=15.00 x2=25.00 enddo end 8.4 实参和虚参之间的数据传递 在Fortran程序设计中子程序的虚参可以是变量名、数组名、函数名、子例行程序和星号。 下面讨论当虚参为变量名和数组名时的实参和虚参之间的数据传递问题,也称“虚实结合”问题。 一、变量名作虚参时的虚实结合 对应的实参可为同类型的常量、变量或数组元素。 ⒈ 结合方式 是按地址结合的。即虚参和实参共用一个存储单元。 ⒉ 结合过程 program main integer a,b,c,d data a,b/10,15/ call sub(a,b,c,d) print *,a,b,c,d end subroutine sub(w,x,y,z) integer w,x,y,z y=w*x z=x*y w=x x=y end 注意

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档