编辑: You—灰機 2019-07-11

, R A = 4.0 * PI * R**2 PRINT*,'

THE AREA OF SPHERE IS:'

,A V = 4.0 / 3.0 * PI * R**3 PRINT*,'

THE VOLUME OF SPHERE IS:'

,V END PROGRAM

3 3

4 R V π =

2 4 R S π =

第二节 函数 FUNCTION 函数名([虚拟参数列表]) [声明语句]!必须声明函数名的数据类型 [执行语句] END FUNCTION [函数名] 主程序对函数的调用方式: 函数名([实际参数表]) 通过函数名将值带回调用程序 实参:常量、变量、表达式 实参:常量、变量、表达式 虚参:变量 虚参:变量 对应关系:位置 数据类型:匹配

第二节 函数 ? 当函数放在主程序内部时,位于主程序的CONTAINS关键字和 END语句之间,其构造形式为 PROGRAM 程序名 声明语句 执行语句 ... 函数名([实际参数表]) ... CONTAINS FUNCTION 函数名([ 虚拟参数列表 ]) [声明语句] [执行语句] END FUNCTION [函数名] END z 赋值语句 z 直接使用

第二节 函数 PROGRAM Main IMPLICIT NONE REAL R,A,V REAL, PARAMETER ::PI = 3.1415926 PRINT*, '

请输入球体的半径... '

READ*, R A = AREA(R) V = VOLUME(R) PRINT*,'

THE AREA OF SPHERE IS:'

,A PRINT*,'

THE VOLUME OF SPHERE IS:'

,V CONTAINS FUNCTION AREA(Radius) REAL AREA, Radius AREA = 4.0 * PI * Radius**2 END FUNCTION AREA FUNCTION VOLUME(Radius) REAL VOLUME, Radius VOLUME = 4.0 / 3.0 * PI * Radius**3 END FUNCTION VOLUME END PROGRAM REAL FUNCTION AREA(Radius) REAL FUNCTION VOLUME(Radius)

第二节 函数 PROGRAM Equation IMPLICIT NONE real a, b a =

10 b = y(a) PRINT*, a, b CONTAINS FUNCTION y(x) real x, y y = 3*x**2 + 2*x +

1 END FUNCTION y END

第二节 函数 ? CONTAINS语句把内部例程从其所在的程序单元隔离 开,不是可执行的.当程序运行到CONTAINS语句时, 它后面的语句就不会接着执行,而是直接转移到该程序单 位的END语句.需要注意的是,无论一个程序单元包含几 个内部函数,都只能包含一个CONTAINS语句. ? 在Fortran中,通过将表达式的值赋给函数名来实现.此时,赋值号左边的函数名不能带参数表. ? 正确:AREA = PI * Radius **2 ? 错误:AREA(Radius) = PI * Radius **2

第二节 函数 ? 局部变量:变量的作用域仅限于它所在的程序单元内 ? 全局变量:变量的作用范围是整个程序. ? 同名覆盖:如果在全局变量和局部变量同名,全局变量则 会被屏蔽,函数子程序和子例程子程序运用的是局部变量 ? 滥用全局变量会破坏程序的模块化结构,使程序难以理解 和调试. ? 在内部例程中声明所有变量应成为一个良好的编程习惯, 以消除全局变量带来的负面影响.假如需要从程序单元向 内部例程传递数据,最安全的方式是利用参数传递.假如 需要在多个内部例程中共享大量数据,最好的办法是在模 块中声明全局变量,需要访问这些全局变量的内部例程引 用该模块即可.

第二节 函数 PROGRAM Factorial IMPLICIT NONE INTEGER I DO I = 1,10 PRINT*,I, Fact(I) END DO CONTAINS FUNCTION Fact(N) INTEGER Fact, N, Temp Temp =

1 DO I = 2, N Temp = I * Temp END DO Fact = Temp END FUNCTION Fact END PROGRAM Factorial

第三节 子程序 SUBROUTINE 子程序名[(参数列表)] [声明语句] [执行语句] END SUBROUTINE[子程序名] 主程序对子程序的调用方式: CALL 子程序名[(实参列表)] 通过实参与虚参的联系(共享内存地址),将值 带回调用程序,即虚实结合.

第三节 子程序 PROGRAM SPHERE IMPLICIT NONE REAL R,A,V REAL, PARAMETER PI = 3.14159265 PRINT*,'

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题