华中科技大学 FORTRAN课件 第11章 极力推荐入门教程!!!!!
Fortran科学计算编程课件
Fortran科学计算编程课件Fortran(即Formula Translation的缩写)是一种用于科学计算和数值分析的编程语言。
由于其高效性和可靠性,Fortran在科学计算领域广泛应用。
本课件将为您介绍Fortran编程语言,并提供相关的科学计算示例和实践。
第一部分:Fortran简介Fortran是一种面向过程的编程语言,由IBM在1950年代开发,旨在为科学计算提供高性能和可移植性。
Fortran以其强大的数学计算和数组处理能力闻名,是科学家和工程师们首选的编程语言之一。
第二部分:Fortran基本语法2.1 变量和数据类型在Fortran中,变量的类型必须在声明时指定,并且不同类型的变量可以存储不同类型的数据,如整数、实数和字符等。
这一部分将详细介绍Fortran的常用数据类型和变量声明方法。
2.2 控制结构Fortran支持常见的控制结构,例如条件控制语句(if-else语句)、循环语句(do循环)和跳转语句(goto语句)。
我们将逐一介绍这些结构的语法和使用方法,并给出实例演示。
第三部分:科学计算实例为了帮助您更好地理解Fortran的应用,本课件将提供一些科学计算的实例,包括线性代数运算、梯度下降算法等。
通过这些实例,您将学会如何用Fortran编写科学计算程序,并了解其在实践中的应用。
第四部分:Fortran编程工具和资源4.1 编译器Fortran编程需要一个符合语言标准的编译器来将代码转化为可执行文件。
我们将向您介绍几个常用的Fortran编译器,并给出安装和配置的指南。
4.2 开发环境为了提高编程效率,许多IDE(集成开发环境)和编辑器提供了对Fortran的支持。
我们将为您介绍几个常用的Fortran开发环境,并给出使用方法和建议。
4.3 学习资源如果您想深入学习Fortran,我们还准备了一些在线教程和学习资源的链接,方便您进一步扩展知识和技能。
结语通过本课件的学习,您将对Fortran科学计算编程有更深入的了解,并掌握基本的语法和应用技巧。
FORTRAN语言程序设计ppt课件
do i=1,10 !循环语句
s=s+i
!循环体
enddo
上述循环所要执行的重复操作是: s=s+i (即循环体),但每一次循环时,循环 体的操作数据s,i的值是不同的。
.
精选2021版课件
8
2.3 算法的表示方法
(1)传统流程图 即用有向线段将描述算法步骤的各功能框连接起来.如下图所示:
A B 图(a)顺序结构
1.逻辑常量仅有两个,.TRUE.(真)和.FALSE.(假)。注意:逻辑常量 两侧的两个小数点不能省略。逻辑型常量是具有逻辑型数据类型的非数 值数据,又称为逻辑值或布尔值。
2.对于逻辑值.TRUE.,在其存储单元字节内每位为“1”,可视为整数值 -1;对于逻辑值.FALSE.,在其存储单元字节内每位为“0”,可视为整数 值0,它们均能参与整数运算。如7+.FALSE.,结果仍为7。1+.TRUE., 结果则为0。
数组、函数、过程等实体的名称。
名称的定义(即语法描述):由英文字母开头的31个以内 的字母、数字、下划线(_)以及美元符字符序列组成。
例:NUMBER、x1、root_2、y$ _ab、5xy、x.y
5.2.2 保留字 一个语句中的特定单词,如PROGRAM、END、IF、ENDIF、
DO、ENDDO等,称为语句保留字。 说明: FORTRAN90程序中允许用保留字作为其它实体的名 称,但是一般不提倡。
1x10-10
注意:单独的指数部分不能构成一个实型常量。 例:E5
5.6.2.3 复型常量
表示普通代数中的复数。即: a ± bi(其中a是实部, b是虚部)
一般形式:(a,b)
例:(-3,5)
!表示复数:-3+5i
Fortran-第十一讲55页PPT
SUBROUTINE localsub1(var1,var2)
...
END SUBROUTINE localsub1
END PROGRAM main
递归过程
RECURSIVE SUBROUTINE sub() RECURSIVE FUNCTION f() 例:
RECURSIVE INTEGER function fact(n) RESULT(answer) IMPLICIT NONE INTEGER :: n IF (n>=1) THEN answer=n*fact(n-1) ELSE answer=1
例如:
REAL,POINTER :: p
REAL,TARGET :: a=3.
p=>a
运行结果称指针p与变量a相关联
p单元内存储的是变量a在内
p=4
存中的地址
修改的是p指向的内存单元的值
等价于
a=4
REAL,POINTER :: p1,p2
REAL,TARGET :: a=3.,b=4. p1=>a p2=>p1 此时p2的值? Pointer1=>Pointer2
用数组的处理方法是有一定的局限性的, 如果向量的每个维度不是同一类型,就不 适合了
下面我们从简单的二维向量的处理开始学 习如何在模块中声明派生数据类型以及使
问题:创建一个包含二维向量数据类型的 模块以及两个完成向量加减法的函数
第一步: 创建一个容纳二维向量的派生数据类型: TYPE :: vector REAL :: x REAL :: y END TYPE vector
声明变量
因为自定义的数据类型是由内置数据类型 组成的,所以,也称之为派生数据类型
fortran教程.ppt
N-S 图——结构化流程图 S=0
例2 用N-S图表示
N=1
S+1/N= S
N+1= N
直到N>100为止
打印 S 值
例1 用N-S图表示
N=0 T=0
输入 A A+T →T N+1 →N 直到N≥100 为止 打印 T
例3
L=1
N=1
S=1
SUM = 1
L+2 → L
-S → S
N+1 → N
SUM+S/L →SUM
(3)输入一个数给“收入变量”A
(4)将A和T的值相加,其和值放在变量T中 A+TT;
(5)使N的值加1,即N+1 N(N的值表示已累加数据的个数)
(6)若N﹤100,则返回(3)继续执行以后各步,否 则转到执行(7)
(7)打印出总和T的值
以上算法体现“迭代”的思想—计算机算法的最大特 点
例2 求 1
将高级语言程序(源程序)转换为机器语言程序(目标程序)
的工作由“编译程序”来完成。 编译
执行
高级语言程序
机器指令目标程序
计算结果
编译程序 (预先存如电脑)
裸机
用户源程序
操作系统
高级语言编译系统
计算机系统与操作系统关系示意图
§ 1-2 算法(Algorithm)与程序设计(Programming)
1. 近50年的丰富积累,资源不浪费,对原有程 序向下兼容。而C语言与Matlab才20多年
2. FORTRAN书写和语法要求严格,更适合于 严谨的科学计算。而C对数组不提供越界检查, 容易出错,而且不容易查出
3. FORTRAN 90~95可以直接对矩阵和复数进行 运算。而C语言则要用多重循环
第3章 Fortran程序设计初步 FORTRAN 课件 华中科技大学
33
FORTRAN编译系统—连接装配
34
FORTRAN编译系统—开始运行
35
FORTRAN编译系统—显示结果
36
FORTRAN编译系统—开始运行
FORTRAN90编译系统界面简介 FORTRAN90编译系统操作步骤 FORTRAN90编译系统基本设置等
GO…
37
FORTRAN程序举例
能视为FOR90的修正版, 加强了并行运算方面的 支持功能.
4
NEXT
3.2 简单程序分析
10 20 30 40 50 60 70 80 01234567890123456789012345678901234567890123456789012345678901234567890123456789
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
符号位 0---正 1---负
数 值
215 –1=32767(正整数) 215 =32768(负整数)
52
3.5.2
实型常量
实型常量也称实数(Real):有两种表示形式
1) 小数形式:+1.8, -1.8, 0.0, 10., .36, .0 均为合法 2) ×10-30 0.91E-30 不合法:3E5.6 8.6E-3.7 E12 3) 指数形式在计算机中的表示方法:一般是 使用4个字节来表示一个实数的。 实数在计算 机内存中一律以指数形式存放。
第 三 章
FORTRAN语言程序设计初步
1
本 章 主要 内 容 3.1 FORTRAN语言发展概况 3.2 简单程序分析 3.3 Fortran书写格式 3.4 Fortran 源程序输入方式 3.5 常量 3.6 变量 3.7 FORTRAN内部函数 3.8 FORTRAN算术表达式 3.9 赋值语句 3.10 简单的输出语句 3.11 简单的输入语句 3.12 参数语句 3.13 END 、 STOP 、 PAUSE 语句 3.14 程序举例
Fortran PPT课件1(FORTRAN程序语言简介)
FORTRAN程序的组成
一个主程序(必须)段和若干个子程序段及 模块组成。
FORTRAN程序书写个语句。 (2)自由格式 扩展名为.f90,每一行可写多个语句,每个 语句用“;”隔开。
1.2 FORTRAN语言简介
固定格式(Fixed Format) 第1个字符C或* 注释行 第1-5 只能是数字或空格 数字为行代 码 第6个字符,“0”以外的字 符表示续行 第7-72个字符段 程序编写区 第73个字符以后 不使用
程序命令间的多余空格无意义
1.2 FORTRAN语言简介
自由格式(Free Format) 叹号“!”后面都是注释 每行可编写132个字符 行号放在每行程序的最前面 一行程序代码的最后如果是&,表示下一行是这一行的 续行;一行程序代码的最前面如果是&, 代表此行为 上一行的续行
第一章FORTRAN程序设计基础精品PPT课件
FORTRAN程序设计基础
计算机是在“程序”的控制下进行自动工作 的,它解决任何实际问题都依赖于解决问题的程 序。
学习FORTRAN程序设计的目的,就是要学 会利用FORTRAN语言编写出适合自己实际需要 的程序,让计算机完成自己指定的任务。
本章将介绍:
• 程序设计的基本概念
• FORTRAN 语言的发展
1. 一般流程图
一般流程图是一种传统的算法描述方法,它 用不同的几何图形来代表不同性质的操作。例 如,用矩形框表示要进行的操作,用菱形框表 示判断,用流程线将各步操作连接起来并指示 算法的执行方向。一般流程图的主要优点是直 观性强,初学者容易掌握。缺点是对流程线的 使用没有严格限制,如毫无限制地使流程任意 转来转去,将使流程图变得毫无规律,难以阅 读。为了提高算法可读性和可维护性,必须限 制无规则的转移,使算法结构规范化。
例1.1 求 u x y x y
其中
a2 b2 ab xa2 b2 ab
这一题的算法并不难,可写成:
a b
y
a
4
b
a b
(1)从键盘输入a、b的值。
(2)如果a<b,则 xa2b2,yaa bb,
否则 xa2b2,y 4 。
(3)计算u的值。
ab
(4)输出u的值。
ab ab
例1.2 输入十个数,要求找出其中最大的数。
(3) 有效性。算法中的每一步操作必须是可执行 的。
(4) 要有数据输入。算法中操作的对象是数据, 因此应提供有关数据。
(5) 要有结果输出。算法的目的是用来解决一个 给定的问题,因此应提供输出结果,否则算法 就2没有实际意义。
1.2.2 算法的描述
算法的描述有许多方法,常用的有:自然语言、一般流 程图、N-S图等。前面例1.1~例1.3的算法是用自然语言── 汉语描述的,其优点是通俗易懂,但它不太直观,描述不够 简洁,且容易产生二义性。在实际应用中常用流程图表示算 法。
Fortran语言基础PPT学习教案
1.数值型常量及其类型 (1)整型常量
整型常量又称为整型常数或整数,包括正数、负 数和0。 例如:+5 -367 0 98
第9页/共65页
(2)实型常量
实型常量即实型常数或简称为实数。它有两种形式: ①小数形式:12.3 -3.5 100. .56 ② 指 数 形 式 : 5.35E5 表 示 5.35×105 , 2.66E-3 表 示 2.66×10-3
第10页/共65页
当单精度实数不足以表示一个数的大小或 精度时,可以用双精度实数表示,只是将 实数指数部分中的字母E改成字母D即可。 例如,6.85746304857D5, .3875479654765D+3等都是双精度实数。
第11页/共65页
(3)复型常量 复型常量即复型常数或简称为复数。 如:(1.0,1.0)表示复数1.0+1.0i,(2.1,-4.5) 表示复数2.1-4.5i,(-6.0,0) 表示复数-6.0。
字符串
.EQ.,.NE., ==,/=
两个操作数或者同时是任意数值 类型与任意种别参数的数值,或 者同时是具有相同种别参数的任 意长度的字符串
.GT.,.GE.,.LT.,.LE., >,>=,<,<=
两个操作数或者同时是除了复型 之外的任意数值类型与任意种别 参数的数值,或者同时是具有相 同种别参数的任意长度的字符串
end
第1页/共65页
2.1 字符集与保留字
1.字符集
FORTRAN规定允许使用的字符为:
英文字母
A-Z及a-z(大小写不区分)
阿拉伯数字
0-9
特殊符号 空格 = + - * ( ) ,. ’ : “ ! & ; < > $ ? _
Fortran语言简介.ppt
• 注意!!index值從1開始算起!!
40
陣列2
• 使用陣列
– a(1)=18 – INTEGER A(3)
DATA A /36, 24, 36/ – 在FORTRAN 90中,還可以省略DATA這個敘
述 INTEGER :: A(3) = (/36, 26, 36/) ◎ 括號跟除號之間不能有空格,並且冒號不能 省略。
22
格式化輸出1
• 關於I
WRITE(*,”(I5)”) 100 !用5個字元的欄位來輸出一個整數
OUTPUT : _ _ 1 0 0 WRITE(*,”(I3)”) 100000 OUTPUT: * * * WRITE(*,”(I5.4)”) 3 !輸出五個字元欄位,至少輸出4位,不足補0 OUTPUT: _ 0 0 0 3
• 其它寫法
– CHARACTER*10 – CHARACTER(LEN=10) – CHARACTER*(10)
• 給予初始值
– A=”字串內容”
fortran第11章过程和模块ppt课件
[PROGRAM [程序名]]
[说明部分]
[可执行部分]
[CONTAINS
内部过程]
上一页
END [PROGRAM[程序名]]
下一页
停止放映 可以看到,主程序单元中允许包含内部过程。主程序名和外
部过程名和公共块名都被认为是全局名称。全局名称在一个
程序中必须是唯一的。 精选课件ppt
第3页
例:PROGRAM MAIN
外部过程可以单独以源文件存储和编译,也可以包括在主程序 源代码的END语句后。
外部过程本身也可以包含有内部函数或内部子程序。
外部过程的形式有两种:
外部函数 : FUNCTION语句 [说明部分] 上一页 [可执行部分]
下一页
停止放映 [CONTAINS 内部过程] END [FUNTION函数名]
外部子程序: SUBROUTINE语句 [说明部分] [可执行部分] [CONTAINS 内部过程] 精选E课ND件p[pSt UBROUTINE子程序名]第9页
能。其中的END语句或RETURN语句使执行流程返回到调
用单元。
精选课件ppt
第11页
调用子程序形式为:
CALL子程序名[(实元列表)]
调用子程序时的实元是和哑元相同类型的变量、数组元 素、数组和常数。当用CALL语句予以调用时,哑元和实元 才按列表顺序一一对应,取得同一数值。
注意:但使用常数时要避免下例中的常数替换式,否则
F90中,共有四种程序单元:
●主程序
●过程或辅程序
●块数据单元
●模块 (F90)
上一页
通过使用模块,可以方便地共享数据和过程。
下一页
停止放映
各种程序单元中,除主程序外,各程序单元可以被其他
Fortran程式语言的编、译与执行简述培训课件.ppt
二、Fortran 程式語言編譯
將 c 磁碟的 mingw 目錄的 bin 子目錄的 g77.exe複製到 工作目錄下
來將 福傳檔案 *.for 編譯為 可執行檔 *.exe
二、Fortran 程式語言編譯
Fortran程式語言編譯指令(2) g77.exe 已經單獨複製到 C 碟之工作目錄 cjs 下
七、運算指令指令
電腦計算可使用之操作種類
加法運算:+ 減法運算: 乘法運算:* 除法運算:/ 冪次方運算:**;^
Ans = -(a+(b*c-d**3.)*25.+e*e*e)/2. 運算式中之運算次序依一般數學運算次序
八、控制指令
〔if ( ) goto no.〕 〔if ( ) then // else // endif〕 〔do no. // no. continue〕 〔call sub_name ( ) 〕
執行 〔t1 〕 結果 〔7〕
游標閃爍 - - 待 令狀態
四、MS-DOS 作業環境的瀏覽
執行 〔dir 〕 瀏覽工作目 錄下之檔案 與目錄
〔dir/p 〕 〔dir/w 〕 〔dir*.for 〕 〔dir*.* 〕
五、電腦語言漫談
電腦計算可使用之操作種類
一、檔案(文書)編輯
編輯完成 執行儲存
二、Fortran 程式語言編譯
在工作目錄cjs 下呼叫 c 磁碟的 mingw 目錄的 bin 子目錄的 g77.exe
來將 福傳檔案 *.for 編譯為 可執行檔 *.exe
二、Fortran 程式語言編譯
Fortran程式語言編譯指令(1)
加法運算:+ 減法運算: 乘法運算:* 除法運算:/ 冪次方運算:**;^
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华中科技大学土木工程与力学学院 《Fortran语言》
9
11.1 函数子程序
11.1.1 函数子程序的定义:
函数体中的执行语句完成求解函数值的运算.在 程序的执行流程返回调用单位之前,必须把所 求得的函数值赋给函数名。 在子程序中必定有如下语句存在: 函数名=表达式
如: MYABS= -1*X 和 MYABS=X 而不能: MYABS(X)= -1* X 和 MYABS(X)=X
华中科技大学土木工程与力学学院 《Fortran语言》
13
11.1 函数子程序
11.1.2 函数子程序的调用:
函数子程序的调用与系统函数(内部函数)的 调用形式完全相同。
变量名= 含有(函数名(实参) 或 函数名())的表达式
注意以下四点:
1)只能在表达式中对函数进行调用; 2)对于主程序要调用外部函数来说,应在说 明部分对函数名的数据类型加以说明。如果没 有说明,则按隐含类型处理。必须在调用程序 中使外部函数名与函数子程序定义中函数名的 类型完全相同。
e e sinh( x) 2
x
x
10
x x x e 1 x ... 2! 3! n 0 n!
华中科技大学土木工程与力学学院 《Fortran语言》
3
n
20
华中科技大学土木工程与力学学院 《Fortran语言》
21
Program main1 Real:: MyExp,y,x Write(*,*) 'Enter x:' Read(*,*)x Y=(MyExp(x)-MyExp(-x)) /2.0 Write(*,*) Y END PROGRAM Function MyExp(x) result (Exp_res) Real::Exp_res,x,s,T integer::N N=1; T=1; S=1 do T=T*X/N IF(ABS(T)<=1E-5)EXIT S=S+T;N=N+1 end do x Exp_res=S END FUNCTION
。
华中科技大学土木工程与力学学院 《Fortran语言》
25
GO…
华中科技大学土木工程与力学学院 《Fortran语言》
26
11.2 子例行程序
Fortran77除了可以使用函数子程序 (FUNCTION)之 外,还可以使用子例行程序(SUBROUTINE).它们都属 于子程序的范围。 函数子程序与子例行程序区别:
华中科技大学土木工程与力学学院 《Fortran语言》
6
11.1 函数子程序
用子程序(程序段)来定义一个函数—称之
为“外部函数”; 通常是在内部函数没有这个功能(未提 供),而语句函数又不能完成所需的功能时, 采用函数子程序; 函数子程序是一个单独的程序单位—它 有明显标志(语句函数属于所在的程序 单位,只能被本程序单位中的表达式引 用),被其它程序调用。
。。。。
。。。。 。。。。
end
。。。。
。。。。 。。。。
。。。。
end
华中科技大学土木工程与力学学院 《Fortran语言》
5
本章要点
11.1 11.2 11.3 11.4 11.5 11.6 函数子程序; 子例行程序; 实参与虚参之间的数据传递(输) 利用子程序实现程序的模块化设计; 子程序中的SAVE语句和DATA语句; 程序举例
华中科技大学土木工程与力学学院 《Fortran语言》
17
PROGRAM MAIN 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 FUNCTION S(X) INTEGER X (1 2 3) (1 2 3 4) (1 2 3 4 5) S=0 Y (1 2 3 4 5 6) (1 2 3 4 5 6 7) DO 10 I=1,X S=S+I 10 CONTINUE END
27
11.2 子例行程序
11.2.1 子例行程序定义
调用方式不同:函数子程序的调用总出现 在表达式中,子例行程序的调用是由一条 独立的语句CALL来完成的。 使用场合:如果只需要得到一个计算值, 采用函数子程序。在设计函数子程序时, 不主张在函数体内改变形参的值,从而保 证不使对应的实参发生变化。如果想通过 程序运算后得到一批数据(矩阵运算)或 一些特定的操作,就使用子例行程序。
第十一章 子 程 序
华中科技大学土木工程与力学学院 《Fortran语言》
1
概
念
一个Fortran应用程序往往是由一个主程 序(必要条件)和多个子程序组成,对于 一个完整的应用系统几乎都是这样。 Fortran子程序分为: 1)函数子程序; 2)子例行程序; 3)数据块子程序(后章介绍)
华中科技大学土木工程与力学学院 《Fortran语言》
计算y=f(x)+g(x)值。 f(x)=x+sin30° x+1,f(x)>0 g ( x )= 0, f(x)=0 x-1, f(x)<0 要求用外部函数求g(x)的值
FUNCTION GF(X,F) REAL X, F, GF IF (F.GT.0) THEN GF=X+1 ELSEIF (F.LT.0) THEN GF=X-1 ELSE GF=0 ENDIF END
华中科技大学土木工程与力学学院 《Fortran语言》
14
11.1 函数子程序
11.1.2 函数子程序的调用:
如上例中:由于外部函数MYABS是实型, 主程序中就应该说明了MYABS为实型, 不然就造成类型不一致的错误。 3)在调用外部函数时,实参表中的实参 个数必须与对应函数的形参个数完全相 同,且实参与形参之间是建立的一一对 应关系,类型也要求一致。
华中科技大学土木工程与力学学院 《Fortran语言》
10
REAL FUNCTION MYABS(X) REAL X IF(X .LT. 0) THEN MYABS= -1*X RETURN ELSE MYABS=X ENDIF END PROGRAM MAIN REAL MYABS, X, A READ(*,*) A X=MYABS(A) WRITE(*,*) A, X END
华中科技大学土木工程与力学学院 《Fortran语言》
28
11.2 子例行程序
11.2.1 子例行程序的定义
子例行程序必须以Subroutine语句开头,以END语 句结束.其基本形式如下: Subroutine 子例行程序名 (虚参表) 其中子例行程序名的命名规则与变量名相同 .但 子例行程序名只是标识一个子例行程序,不代表 任何值. (虚参表)是子例行程序与调用单位之间进行数据 传输的主要渠道。没有虚参表时,其括号可以省 略;多个虚参时,以逗号相隔。 有关其它规则与函数子程序基本相同。
!
函数子程序--函数子程序的名字代表一个值(在 函数子程序中求出的函数值并存放在函数名中, 因此函数名有数据类型); 子例行程序—在子例行程序中求出的值不由该程 序名带回调用单位,是通过实参与形参的联系而 传递的;所以子例行程序名不属于某个类型,也 不代表某个值,也不需要对该名进行说明。
华中科技大学土木工程与力学学院 《Fortran语言》
华中科技大学土木工程与力学学院 《Fortran语言》
18
如果没有对X进行整型说明就 会产生编译错误.
华中科技大学土木工程与力学学院 《Fortran语言》
19
PROGRAM MAIN REAL MYEXP WRITE(*,*) ‘ 输入X的值:’ READ(*,*) X Y=(MYEXP(X)-MYEXP(-X))/2.0 WRITE(*,*)Y END FUNCTION MYEXP(X) REAL MYEXP N=0 T=1 S=1 DO 10 ,WHILE(ABS(T).GT.1E-5) N=N+1 2 T=T*X/N x S=S+T CONTINUE MYEXP=S END
华中科技大学土木工程与力学学院 《Fortran语言》
一定要注意主、子 程序中变量类型说 明和函数名的类型 说明。
11
华中科技大学土木工程与力学学院 《Fortran语言》
12
11.1 函数子程序
11.1.1 函数子程序的定义:
函数在执行中遇到Return语句或End语句的时 候,立即返回到调用单位并由函数名把函数值带 回. Return语句:只能在子程序中,可以有多个; End语句:在主、子程序只能有一个,不能省略. 注意:函数是一个独立的编译单位,除函数名和 虚参外与其它程序单位没有任何关系或联系; 因此在函数子程序中不必考虑标号、名字等是 否和其它程序单位相重(具有很大的灵活性)。
华中科技大学土木工程与力学学院 《Fortran语言》
15
பைடு நூலகம்
如果没有对 Myabs说明 的话,就会 出现错误。
华中科技大学土木工程与力学学院 《Fortran语言》
16
11.1 函数子程序
11.1.2 函数子程序的调用:
在函数调用时,实参的值传递给对应位 置上的形参,程序就接着转去执行函数 体内的执行语句。在遇到End或Return 语句返回调用单位,并把函数值带回,然 后继续参与主程序的表达式的运算。 4)如果函数没有形参,则在调用时也没 有实参,但括号不能丢。
华中科技大学土木工程与力学学院 《Fortran语言》
7
11.1 函数子程序
11.1.1 函数子程序的定义: