Fortran基础教程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2016/6/1 16
3.5 常 量
常量——在程序执行期间其值固定不变的量。 Fortran处理六种类型的常量: ⑴整型常量(Integer) ⑵实型常量(Real) ⑶双精度常量(Double precision) ⑷复型常量(Complex) ⑸逻辑型常量(Logical) ⑹字符型常量(Character)
( 1~5 位无符号整数;第1列为“*”或“c‖时,为注释 行)
⑶第6列:续行标志区
(非空格或非零字符;最多19个续行)
⑷7~72列:语句区
(书写语句;一行只能写一条语句)
⑸73~80列:语句注释区
(一般作编号注释)
2016/6/1 12
3.4 Fortran程序的编辑与运行
Fortran PowerStation 4.0集成开发环境 简 介
2016/6/1 30
3.7 Fortran内部函数
如: sin(90*3.14159/180) →1.0 sqrt(9.0) →3.0 abs(-5.6) →5.6 int(6.75) →6 exp(3.0) →20.085540 Fortran77全部内部函数见附录Ⅵ
2016/6/1 31
3.7 Fortran内部函数
2016/6/1 32
3.8 Fortran算术表达式
Fortran77提供了四种表达式:
2016/6/1
b b 4ac 2a
2
8
3.2 简单的Fortran程序分析
执行结果:
x1= 1.30 x2=-4.30
例2:试求3!,6!,9!的值。 编程如下:
2016/6/1
9
3.2 简单的Fortran程序分析
主程序: c main program j=k(3) l=k(6) m=k(9) write(*,*)j,l,m end 执行结果: 6 720 362880
注:在程序中用到的变量都必须要有确定的值。
2016/6/1 23
3.6 变
量
3.6.2 变量名 变量名——标识一个变量所用的名字。 命名规则: • 变量名的第一个字符必须是字母; • 在第一个字符后可跟1~5个字母或数字。 例: x,m1,total,k123,…
2016/6/1 24
3.6 变
2016/6/1 14
3.4 Fortran程序的编辑与运行
三、给项目工作间添加和编辑文件 打开指定的项目工作间→选 “Insert‖→ ―File into Project‖→输入要添加的文件名(如: st01.for)→“Add‖。然后按Fortran程序的书写 规则编辑程序。 四、编译项目工作间中的文件 打开指定的文件→选 “Build‖→ ―Compile st01.for‖。 五、连编项目文件 选 “Build‖→ ―Build aaa.exe‖。 六、运行项目文件 选 “Build‖→ ―Execute aaa.exe‖。(显示程 序执行结果)
3.5 常 量
说明: ⑴一个数值用指数形式表示时有两种表达方式: ①一个基本实数后面跟指数部分。 例: 0.876→8.76E-1 -2589.4→-2.5894E+3 ②一个整数后面跟指数部分。 例: 0.876→876E-3 -2589.4→-25894E-1
2016/6/1 20
3.5 常 量
量
注意几点: ⑴变量名不区分大小写字母。 例:TOTAL,Total,total 代表同一变量 ⑵变量名中的空格不起作用。 例:abc,a bc,ab c,a b c 代表同一变量 ⑶变量名尽量做到“见名知义” AVER、SUM、Imax ⑷允许变量名与语言中具有特定含义的字(“保留字”) 同名。 例:sin,read,open,end,… 建议不要使用fortran中具有特定含义的字作变量名
普通高校计算机基础教学课程
Fortran语言
(Fortran77结构化程序设计)
说明
• 第一章 算法(略) • 第二章 计算机和计算机程序(略)
2016/6/1
2
第三章 Fortran语言程序设计初步
2016/6/1
3
3.1 Fortran语言的发展概况
FORmula TRANslator 公式翻译器
2016/6/1
13
3.4 Fortran程序的编辑与运行
一、Fortran PowerStation 4.0的启动 选“开始”→“程序”→“Fortran PowerStation 4.0‖→―Microsoft Developer Studio‖。 二、创建项目工作间 选“File‖→―New‖→―Project Workspace‖→―Console Application‖,并 输入项目工作间名称(如:aaa)和存放项 目工作间的位置或路径(如:c:\for\) → Create。
2016/6/1 5
Fortran语言的特征
Fortran语言的最大特性是接近数学公式的自然描 述,在计算机里具有很高的执行效率。 易学,语法严谨。 可以直接对矩阵和复数进行运算。 自诞生以来广泛地应用于数值计算领域,积累了大 量高效而可靠的源程序。 很多专用的大型数值运算计算机针对Fortran做了 优化。 广泛地应用于并行计算和高性能计算领域。 Fortran 90,Fortran 95,Fortran 2003的相继推 出使Fortran语言具备了现代高级编程语言的一些 特性。
⑵同一个数值可用不同的指数形式表示。 例: 0.876→8.76E-1→87.6E-2→876E-3 ⑶计算机在输出时,按标准化指数形式输出。 例:0.28→2.800000E-01 -59.58E+12→-5.958000E+13 即数字部分大于1,且小数点前只有一位非零 数字的指数输出形式。 ⑷在微机中,一般用四个字节存放一个实数,其取值 范围为:10-75~1075。超出此范围时为“溢出”错 误。
2016/6/1 26
3.6 变
量
⒉显式说明 即用类型说明语句指定变量的类型。 如: Integer——说明变量为整型变量 Real——说明变量为实型变量 Double precision——说明变量为双精度变量 Complex——说明变量为复型变量 Logical——说明变量为逻辑型变量 Character——说明变量为字符型变量
2016/6/1 18
3.5 常 量
3.5.2 实型常量 (有二种表示形式) ⒈小数形式 例:15.8,-21.05,14.0 ,14.,.17, 0.0 ,… ⒉指数形式(通常表示较大或较小的数) 例:100000000→1.0E+8 0.0000125→1.25E-05 数字部分 指数部分
2016/6/1 19
⑵每个程序单位包括若干行
语句行(执行语句和非执行语句行)
非语句行(注释行)
⑶语句前可不设标号,也可根据需要设标号。
⑷各类语句在程序单位中的位置有一定规则。
⑸程序必须按规定格式书写。
2016/6/1 11
3.3 Fortran源程序的书写格式
Fortran77源程序必须按以下格式书写: ⑴每行只能在80列内书写,并把80列分为4个区。 ⑵1~5列:标号区
2016/6/1 25
3.6 变
量
3.6.3 变量的类型 Fortran能处理各种类型的变量。不同类型 的变量用来存放不同类型的数据。 变量类型的说明(三种方式) ⒈隐含说明 即以I、j、k、l、m、n开头的变量为整型 变量,以其它字母开头的变量为实型变量。 (“I~N规则”) 例:imax,m5,number,… 为整型变量 v,h2,aver,… 为实型变量
c the roots of the quadratic equation a=1.0 b=3.0 c=-5.6 x1=(-b+sqrt(b*b-4.0*a*c))/(2.0*a) x2=(-b-sqrt(b*b-4.0*a*c))/(2.0*a) write(*,100)x1,x2 100 format(1x,'x1=',f6.2,'x2=',f6.2) end
2016/6/1 27
3.6 变
量
如: Integer abc,xyz real imax,k3 logical a1,kpz ⒊用implicit语句说明 即说明用某一字母开头的变量为指定的类型。 例: implicit integer(a,b),real(k) implicit integer(x-z)
2016/6/1 21
3.5 常
量
⑸下列形式为不合法的指数形式: ①单独的小数点和单独的指数部分。
ห้องสมุดไป่ตู้
例:.E5, E10 × ②指数部分只能是整数,不能带小数点。 例:8E0.5, 12.3E1.5
×
2016/6/1
22
3.6 变
量
变量——在程序执行期间其值可以改变的量。 3.6.1 变量的概念 Fortran为每一个变量分配一个相应的 存储单元;每个变量在每个时刻只能有一 个确定的值。 例:x=4.5 x 4.5 x=8.0 x 8.0
Fortran语言是一种适合于科学 和工程计算问题的程序设计语言; 也是计算机高级语言发展史上使用 最早的一种程序设计语言。
2016/6/1
4
3.1 Fortran语言的发展概况
Fortran语言的发展过程:
• 1951年由约翰· 贝克斯等人开始研究Fortran语言; • 1957年第一个Fortran程序在IBM704机上运行; • 1958和1962年先后推出FortranⅡ和FortranⅣ; • 1966和1978年先后颁布Fortran66和Fortran77; • 1991年颁布了Fortran90。 • 现在已经有了Fortran 95, Fortran 2003
2016/6/1 17
3.5 常 量
3.5.1 整型常量 包括正、负整数和零。 例:5,-13,0,… 说明: ①在(16位)微机中,整数的取值范围为: -215~215-1(-32768~32767) ②在(32位)微机中,整数的取值范围为: -231~231-1(-2147483648~2147483647 )
2016/6/1 28
3.6 变
量
三种类型说明的优先级: 高 类型说明语句(显式说明) implicit语句说明 低 “I~N规则”
2016/6/1
29
3.7 Fortran内部函数
在编制Fortran程序时,经常要用到 一些基本的数学函数,如三角函数、指 数函数、对数函数等。为方便用户, Fortran编译系统已提供了这些函数的 计算程序,需要时即可调用。 Fortran内部函数调用格式: 函数名(自变量)
注意几点: ⑴函数自变量(参数)必须用括号括起来。 例:sinx+cosx → sin(x)+cos(x) ⑵函数自变量可以是常量、变量或表达式。 例: exp(3.0) sin (x+cos(x)) ⑶有些函数的类型是由自变量的类型确定的。 例:mod(8.0,3.0) →2.0 mod(8,3) →2 ⑷三角函数的角度单位是“弧度”而不是“度”。 ⑸函数名分为“通用名”和“专用名” 内部函数名一般用“通用名”。
2016/6/1 15
3.4 Fortran程序的编辑与运行
注:若Fortran程序是由一个主程序文件和若 干个子程序文件组成,则应将各文件添加到 同一项目工作间,分别进行编译,然后连编 和运行项目文件。 七、打开项目文件 选“File‖→―Open‖→在打开对话框文件 类型下拉列表中选“Project Workspace(*.mdp)‖→然后选项目工作间文件 夹中的项目文件。
2016/6/1
子程序: c subprogram function k(n) k=1 i=2 5 if (i.le.n) then k=k*i i=i+1 goto 5 endif return end
10
3.2 简单的Fortran程序分析
Fortran程序的基本结构:
⑴一个Fortran源程序由一个或多个程序单位组 成,每个程序单位以“end‖语句结束。
2016/6/1 6
3.2 简单的Fortran程序分析
例1:求一元二次方程x2+3x-5.6=0的根, 并打印结果。 • 利用公式:
x1, 2 b b 4ac 2a
2
• (这里,a=1,b=3,c=-5.6)
2016/6/1 7
3.2 简单的Fortran程序分析
编程如下:
x1, 2
3.5 常 量
常量——在程序执行期间其值固定不变的量。 Fortran处理六种类型的常量: ⑴整型常量(Integer) ⑵实型常量(Real) ⑶双精度常量(Double precision) ⑷复型常量(Complex) ⑸逻辑型常量(Logical) ⑹字符型常量(Character)
( 1~5 位无符号整数;第1列为“*”或“c‖时,为注释 行)
⑶第6列:续行标志区
(非空格或非零字符;最多19个续行)
⑷7~72列:语句区
(书写语句;一行只能写一条语句)
⑸73~80列:语句注释区
(一般作编号注释)
2016/6/1 12
3.4 Fortran程序的编辑与运行
Fortran PowerStation 4.0集成开发环境 简 介
2016/6/1 30
3.7 Fortran内部函数
如: sin(90*3.14159/180) →1.0 sqrt(9.0) →3.0 abs(-5.6) →5.6 int(6.75) →6 exp(3.0) →20.085540 Fortran77全部内部函数见附录Ⅵ
2016/6/1 31
3.7 Fortran内部函数
2016/6/1 32
3.8 Fortran算术表达式
Fortran77提供了四种表达式:
2016/6/1
b b 4ac 2a
2
8
3.2 简单的Fortran程序分析
执行结果:
x1= 1.30 x2=-4.30
例2:试求3!,6!,9!的值。 编程如下:
2016/6/1
9
3.2 简单的Fortran程序分析
主程序: c main program j=k(3) l=k(6) m=k(9) write(*,*)j,l,m end 执行结果: 6 720 362880
注:在程序中用到的变量都必须要有确定的值。
2016/6/1 23
3.6 变
量
3.6.2 变量名 变量名——标识一个变量所用的名字。 命名规则: • 变量名的第一个字符必须是字母; • 在第一个字符后可跟1~5个字母或数字。 例: x,m1,total,k123,…
2016/6/1 24
3.6 变
2016/6/1 14
3.4 Fortran程序的编辑与运行
三、给项目工作间添加和编辑文件 打开指定的项目工作间→选 “Insert‖→ ―File into Project‖→输入要添加的文件名(如: st01.for)→“Add‖。然后按Fortran程序的书写 规则编辑程序。 四、编译项目工作间中的文件 打开指定的文件→选 “Build‖→ ―Compile st01.for‖。 五、连编项目文件 选 “Build‖→ ―Build aaa.exe‖。 六、运行项目文件 选 “Build‖→ ―Execute aaa.exe‖。(显示程 序执行结果)
3.5 常 量
说明: ⑴一个数值用指数形式表示时有两种表达方式: ①一个基本实数后面跟指数部分。 例: 0.876→8.76E-1 -2589.4→-2.5894E+3 ②一个整数后面跟指数部分。 例: 0.876→876E-3 -2589.4→-25894E-1
2016/6/1 20
3.5 常 量
量
注意几点: ⑴变量名不区分大小写字母。 例:TOTAL,Total,total 代表同一变量 ⑵变量名中的空格不起作用。 例:abc,a bc,ab c,a b c 代表同一变量 ⑶变量名尽量做到“见名知义” AVER、SUM、Imax ⑷允许变量名与语言中具有特定含义的字(“保留字”) 同名。 例:sin,read,open,end,… 建议不要使用fortran中具有特定含义的字作变量名
普通高校计算机基础教学课程
Fortran语言
(Fortran77结构化程序设计)
说明
• 第一章 算法(略) • 第二章 计算机和计算机程序(略)
2016/6/1
2
第三章 Fortran语言程序设计初步
2016/6/1
3
3.1 Fortran语言的发展概况
FORmula TRANslator 公式翻译器
2016/6/1
13
3.4 Fortran程序的编辑与运行
一、Fortran PowerStation 4.0的启动 选“开始”→“程序”→“Fortran PowerStation 4.0‖→―Microsoft Developer Studio‖。 二、创建项目工作间 选“File‖→―New‖→―Project Workspace‖→―Console Application‖,并 输入项目工作间名称(如:aaa)和存放项 目工作间的位置或路径(如:c:\for\) → Create。
2016/6/1 5
Fortran语言的特征
Fortran语言的最大特性是接近数学公式的自然描 述,在计算机里具有很高的执行效率。 易学,语法严谨。 可以直接对矩阵和复数进行运算。 自诞生以来广泛地应用于数值计算领域,积累了大 量高效而可靠的源程序。 很多专用的大型数值运算计算机针对Fortran做了 优化。 广泛地应用于并行计算和高性能计算领域。 Fortran 90,Fortran 95,Fortran 2003的相继推 出使Fortran语言具备了现代高级编程语言的一些 特性。
⑵同一个数值可用不同的指数形式表示。 例: 0.876→8.76E-1→87.6E-2→876E-3 ⑶计算机在输出时,按标准化指数形式输出。 例:0.28→2.800000E-01 -59.58E+12→-5.958000E+13 即数字部分大于1,且小数点前只有一位非零 数字的指数输出形式。 ⑷在微机中,一般用四个字节存放一个实数,其取值 范围为:10-75~1075。超出此范围时为“溢出”错 误。
2016/6/1 26
3.6 变
量
⒉显式说明 即用类型说明语句指定变量的类型。 如: Integer——说明变量为整型变量 Real——说明变量为实型变量 Double precision——说明变量为双精度变量 Complex——说明变量为复型变量 Logical——说明变量为逻辑型变量 Character——说明变量为字符型变量
2016/6/1 18
3.5 常 量
3.5.2 实型常量 (有二种表示形式) ⒈小数形式 例:15.8,-21.05,14.0 ,14.,.17, 0.0 ,… ⒉指数形式(通常表示较大或较小的数) 例:100000000→1.0E+8 0.0000125→1.25E-05 数字部分 指数部分
2016/6/1 19
⑵每个程序单位包括若干行
语句行(执行语句和非执行语句行)
非语句行(注释行)
⑶语句前可不设标号,也可根据需要设标号。
⑷各类语句在程序单位中的位置有一定规则。
⑸程序必须按规定格式书写。
2016/6/1 11
3.3 Fortran源程序的书写格式
Fortran77源程序必须按以下格式书写: ⑴每行只能在80列内书写,并把80列分为4个区。 ⑵1~5列:标号区
2016/6/1 25
3.6 变
量
3.6.3 变量的类型 Fortran能处理各种类型的变量。不同类型 的变量用来存放不同类型的数据。 变量类型的说明(三种方式) ⒈隐含说明 即以I、j、k、l、m、n开头的变量为整型 变量,以其它字母开头的变量为实型变量。 (“I~N规则”) 例:imax,m5,number,… 为整型变量 v,h2,aver,… 为实型变量
c the roots of the quadratic equation a=1.0 b=3.0 c=-5.6 x1=(-b+sqrt(b*b-4.0*a*c))/(2.0*a) x2=(-b-sqrt(b*b-4.0*a*c))/(2.0*a) write(*,100)x1,x2 100 format(1x,'x1=',f6.2,'x2=',f6.2) end
2016/6/1 27
3.6 变
量
如: Integer abc,xyz real imax,k3 logical a1,kpz ⒊用implicit语句说明 即说明用某一字母开头的变量为指定的类型。 例: implicit integer(a,b),real(k) implicit integer(x-z)
2016/6/1 21
3.5 常
量
⑸下列形式为不合法的指数形式: ①单独的小数点和单独的指数部分。
ห้องสมุดไป่ตู้
例:.E5, E10 × ②指数部分只能是整数,不能带小数点。 例:8E0.5, 12.3E1.5
×
2016/6/1
22
3.6 变
量
变量——在程序执行期间其值可以改变的量。 3.6.1 变量的概念 Fortran为每一个变量分配一个相应的 存储单元;每个变量在每个时刻只能有一 个确定的值。 例:x=4.5 x 4.5 x=8.0 x 8.0
Fortran语言是一种适合于科学 和工程计算问题的程序设计语言; 也是计算机高级语言发展史上使用 最早的一种程序设计语言。
2016/6/1
4
3.1 Fortran语言的发展概况
Fortran语言的发展过程:
• 1951年由约翰· 贝克斯等人开始研究Fortran语言; • 1957年第一个Fortran程序在IBM704机上运行; • 1958和1962年先后推出FortranⅡ和FortranⅣ; • 1966和1978年先后颁布Fortran66和Fortran77; • 1991年颁布了Fortran90。 • 现在已经有了Fortran 95, Fortran 2003
2016/6/1 17
3.5 常 量
3.5.1 整型常量 包括正、负整数和零。 例:5,-13,0,… 说明: ①在(16位)微机中,整数的取值范围为: -215~215-1(-32768~32767) ②在(32位)微机中,整数的取值范围为: -231~231-1(-2147483648~2147483647 )
2016/6/1 28
3.6 变
量
三种类型说明的优先级: 高 类型说明语句(显式说明) implicit语句说明 低 “I~N规则”
2016/6/1
29
3.7 Fortran内部函数
在编制Fortran程序时,经常要用到 一些基本的数学函数,如三角函数、指 数函数、对数函数等。为方便用户, Fortran编译系统已提供了这些函数的 计算程序,需要时即可调用。 Fortran内部函数调用格式: 函数名(自变量)
注意几点: ⑴函数自变量(参数)必须用括号括起来。 例:sinx+cosx → sin(x)+cos(x) ⑵函数自变量可以是常量、变量或表达式。 例: exp(3.0) sin (x+cos(x)) ⑶有些函数的类型是由自变量的类型确定的。 例:mod(8.0,3.0) →2.0 mod(8,3) →2 ⑷三角函数的角度单位是“弧度”而不是“度”。 ⑸函数名分为“通用名”和“专用名” 内部函数名一般用“通用名”。
2016/6/1 15
3.4 Fortran程序的编辑与运行
注:若Fortran程序是由一个主程序文件和若 干个子程序文件组成,则应将各文件添加到 同一项目工作间,分别进行编译,然后连编 和运行项目文件。 七、打开项目文件 选“File‖→―Open‖→在打开对话框文件 类型下拉列表中选“Project Workspace(*.mdp)‖→然后选项目工作间文件 夹中的项目文件。
2016/6/1
子程序: c subprogram function k(n) k=1 i=2 5 if (i.le.n) then k=k*i i=i+1 goto 5 endif return end
10
3.2 简单的Fortran程序分析
Fortran程序的基本结构:
⑴一个Fortran源程序由一个或多个程序单位组 成,每个程序单位以“end‖语句结束。
2016/6/1 6
3.2 简单的Fortran程序分析
例1:求一元二次方程x2+3x-5.6=0的根, 并打印结果。 • 利用公式:
x1, 2 b b 4ac 2a
2
• (这里,a=1,b=3,c=-5.6)
2016/6/1 7
3.2 简单的Fortran程序分析
编程如下:
x1, 2