- 第一章 Fortran 语言程序设计初步
- 第二章 改变程序流程
- 第三章 循环结构
- 第四章 数据结构
- 第五章 数组
- 第六章 过程和模块
- 第七章 输入输出和文件
1.4.2 内在函数
用 Fortran 解题往往要用到一些专门运算。如求三角函数,
,开根
,绝对值
,对数
,指数
,求一组数中最大数和最小数等。Fortran 提供了一些系统内在函数来完成这些运算。程序设计者不必自己设计进行这些运算的语句组(即程序段或子程序),只需写出一个函数的名字以及结出一个或若干个自变量,就可以得到所需的值。例如:
SQRT(4.0) →
SIN(2.0) → 2(弧度) 的正弦值 ← 注意三角函数中的自变量单位为弧度!
EXP(3.5) →
LOG(3.0) →
常用的 Fortran77 函数如下表所示。
函数名 | 含 义 | 应用例子 | 相当数学上的运算 |
ABS EXP SIN COS ASIN ACOS TAN ATAN LOG LOGlO INT MOD SIGN REAL MAX MIN | 求绝对值 指数运算 正弦值 余弦值 反正弦 反余弦 正切 反正切 自然对数 常用对数 取整 求余 求符号 转换为实型 求最大值 求最小值 | ABS(X) EXP(X) SIN(X) COS(X) ASIN(X) ACOS(X) TAN(X) ATAN(X) ALOG(X) ALOG10(X) INT(X) MOD(X1,X2) SIGN(Xl,X2) REAL(I) MAX0(I1,I2,I3) MIN(Xl,X2,X3) |
|
内在函数的执行方法
Fortran 将这些内在函数分别编成单个子程序,组成函数库,存在于外部介质(如磁盘) 上。在完成源程序的编译之后,用 LINK 命令实现连接,即将已翻译成二进制指令的目标程序与函数库连接。也就是将程序中出现函数名的地方用函数库中相应的一组指令代入之,组成一个统一的“可执行目标块”。例如程序中出现一个 SIN 函数,在连接时就将一组求正弦值二进制指令直接插入到程序中出现 SIN 的地方。由于是插入到程序内部的,所以称为“内在函数”。
一个内在函数可要求一个或多个自变量
例如,SQRT 函数只能有一个自变量,而 MOD 函数要求两个自变量,MAX 和 MIN 函数要求两个以上自变量。注意当自变量个数规定为 2 个时,自变量的顺序不应任意颠倒,如 MOD(8,3) 表示 8 被 3 除的余数,其值为 2,而 MOD(3,8) 则表示 3 被 8 除的余数,其值为 3。当自变量个数为>2 时,自变量的顺序无关。
函数的自变量是有类型的,函数值也是有类型的
例如 MOD(8,3) 中自变量 8 和 3 是整型,函数 MOD(8,3) 的值“2”也是整型,如果写成 MOD(8.0,3.0),自变量是实型的,函数值也是实型的,其值为 2.0。
函数名分为“通用名”和“专用名”
例如求余函数的“通用名”为 MOD,“专用名”有三个(MOD,AMOD,DMOD)。根据自变量的类型就自动确定了函数值的类型,如 MOD(8,3) 的值为整型,而 MOD(8.0,3.0) 的值为实型。当调用子程序时如果用内在函数作为自变量(实参),必须使用该内在函数的专用名。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论