- 1
- 0
- 约1.56万字
- 约 88页
- 2017-05-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 注意
您可能关注的文档
- 分豆教育张金荣在大数据时代领跑的唯一赛道是小数据.ppt
- CTD文件介绍.ppt
- cxy胡适《我的母亲》课件-(1).ppt
- 刘义庆及世说新语.ppt
- C程序设计(第三版)(谭浩强)课件第十章.ppt
- 分析优酷的受众结构及广告价值3.ppt
- 刘德华御用替身吴可影视资料2013.ppt
- C语言chap6(函数与宏定义).ppt
- C语言-第3章顺序结构.ppt
- 刘昕第九册《孔子》课件.ppt
- XX县税务局领导班子2025年度民主生活会对照检查材料.docx
- XX县检察院党组班子2025年度民主生活会对照检查材料.docx
- 集团党组书记在2025年度民主生活会准备会上的讲话.docx
- 在银行新员工入职座谈会上的讲话.docx
- XX县委宣传部部长2025年度民主生活会对照检查材料.docx
- XX县财政局局长2025年度民主生活会对照检查材料.docx
- XX企业领导班子2025年度述职报告.docx
- 在XX市委常委会听取下级党委(党组)“一把手”述责述廉情况汇报会上的讲话.docx
- XX县政协党组班子2025年度民主生活会对照检查材料.docx
- 在2026年第一季度安全生产重点工作推进会上的讲话.docx
原创力文档

文档评论(0)