Fortran语言

  • 格式:doc
  • 大小:478.50 KB
  • 文档页数:66

Fortran语言

(Fortran77结构化程序设计)

谭浩强 田淑清 编著

普通高校计算机基础教学系列课程

说明

•第一章 算法(略)

•第二章 计算机和计算机程序(略)

第三章

Fortran语言程序设计初步

3.1 Fortran语言的发展概况

FORmula TRANslator 公式翻译器

Fortran语言是一种适合于科学和工程计算问题的程序设计语言;也是计算机高级语言发展史上使用最早的一种程序设计语言。

3.1 Fortran语言的发展概况

Fortran语言的发展过程:

•1951年由约翰·贝克斯等人开始研究Fortran语言;

•1957年第一个Fortran程序在IBM704机上运行;

•1958和1962年先后推出FortranⅡ和FortranⅣ;

•1966和1978年先后颁布Fortran66和Fortran77;

•1991年颁布了Fortran90。

•现在已经有了Fortran 95, Fortran 2003

Fortran语言的特征

•Fortran语言的最大特性是接近数学公式的自然描述,在计算机里具有很高的执行效率。

•易学,语法严谨。

•可以直接对矩阵和复数进行运算。

•自诞生以来广泛地应用于数值计算领域,积累了大量高效而可靠的源程序。

•很多专用的大型数值运算计算机针对Fortran做了优化。

•广泛地应用于并行计算和高性能计算领域。

•Fortran 90,Fortran 95,Fortran 2003的相继推出使Fortran语言具备了现代高级编程语言的一些特性。

3.2 简单的Fortran程序分析

例1:求一元二次方程x2+3x-5.6=0的根,并打印结果。

•利用公式:

•(这里,a=1,b=3,c=-5.6)

3.2 简单的Fortran程序分析

编程如下:

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

3.2 简单的Fortran程序分析

执行结果:

x1= 1.30 x2=-4.30

3.2 简单的Fortran程序分析

主程序: 子程序:

c main program c subprogram

j=k(3) function k(n)

l=k(6) k=1

m=k(9) i=2

write(*,*)j,l,m 5 if (i.le.n) then

end k=k*i

i=i+1

执行结果: goto 5

6 720 362880 endif

return

end

3.2 简单的Fortran程序分析

Fortran程序的基本结构:

⑴一个Fortran源程序由一个或多个程序单位组成,每个程序单位以“end”语句结束。

⑵每个程序单位包括若干行

语句行(执行语句和非执行语句行)

非语句行(注释行)

⑶语句前可不设标号,也可根据需要设标号。

⑷各类语句在程序单位中的位置有一定规则。

⑸程序必须按规定格式书写。

3.3 Fortran源程序的书写格式

Fortran77源程序必须按以下格式书写:

⑴每行只能在80列内书写,并把80列分为4个区。

⑵1~5列:标号区

( 1~5 位无符号整数;第1列为“*”或“c”时,为注释行)

⑶第6列:续行标志区

(非空格或非零字符;最多19个续行)

⑷7~72列:语句区

(书写语句;一行只能写一条语句)

⑸73~80列:语句注释区

(一般作编号注释)

3.4 Fortran程序的编辑与运行

Fortran PowerStation 4.0集成开发环境

简 介 3.4 Fortran程序的编辑与运行

一、Fortran PowerStation 4.0的启动

选“开始”→“程序”→“Fortran PowerStation 4.0”→“Microsoft Developer Studio”。

二、创建项目工作间

选“File”→“New”→“Project Workspace”→“Console Application”,并输入项目工作间名称(如:aaa)和存放项目工作间的位置或路径(如:c:\for\) → Create。

3.4 Fortran程序的编辑与运行

三、给项目工作间添加和编辑文件

打开指定的项目工作间→选 “Insert”→ “File into Project”→输入要添加的文件名(如:st01.for)→“Add”。然后按Fortran程序的书写规则编辑程序。

四、编译项目工作间中的文件

打开指定的文件→选 “Build”→ “Compile st01.for”。

五、连编项目文件

选 “Build”→ “Build aaa.exe”。

六、运行项目文件

选 “Build”→ “Execute aaa.exe”。(显示程序执行结果)

3.4 Fortran程序的编辑与运行

注:若Fortran程序是由一个主程序文件和若干个子程序文件组成,则应将各文件添加到同一项目工作间,分别进行编译,然后连编和运行项目文件。

七、打开项目文件

选“File”→“Open”→在打开对话框文件类型下拉列表中选“Project Workspace(*.mdp)”→然后选项目工作间文件夹中的项目文件。

3.5 常 量

常量——在程序执行期间其值固定不变的量。

Fortran处理六种类型的常量:

⑴整型常量(Integer)

⑵实型常量(Real)

⑶双精度常量(Double precision)

⑷复型常量(Complex)

⑸逻辑型常量(Logical)

⑹字符型常量(Character)

3.5 常 量

3.5.1 整型常量

包括正、负整数和零。

例:5,-13,0,…

说明:

①在(16位)微机中,整数的取值范围为:

-215~215-1(-32768~32767)

②在(32位)微机中,整数的取值范围为:

-231~231-1(-2147483648~2147483647 )

3.5 常 量

3.5.2 实型常量

(有二种表示形式)

•⒈小数形式

例:15.8,-21.05,14.0 ,14.,.17,0.0 ,…

•⒉指数形式(通常表示较大或较小的数) 例:100000000→1.0E+8

0.0000125→1.25E-05

数字部分 指数部分

3.5 常 量

说明:

⑴一个数值用指数形式表示时有两种表达方式:

①一个基本实数后面跟指数部分。

例: 0.876→8.76E-1

-2589.4→-2.5894E+3

②一个整数后面跟指数部分。

例: 0.876→876E-3

-2589.4→-25894E-1

3.5 常 量

⑵同一个数值可用不同的指数形式表示。

例: 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。超出此范围时为“溢出”错误。

3.5 常 量

⑸下列形式为不合法的指数形式:

①单独的小数点和单独的指数部分。

例:.E5, E10 ×

②指数部分只能是整数,不能带小数点。

例:8E0.5, 12.3E1.5 ×

3.6 变 量

变量——在程序执行期间其值可以改变的量。

3.6.1 变量的概念

Fortran为每一个变量分配一个相应的存储单元;每个变量在每个时刻只能有一个确定的值。

例:x=4.5 x

x=8.0 x

注:在程序中用到的变量都必须要有确定的值。

3.6 变 量

3.6.2 变量名

变量名——标识一个变量所用的名字。

命名规则:

•变量名的第一个字符必须是字母;

•在第一个字符后可跟1~5个字母或数字。

例:

x,m1,total,k123,…

3.6 变 量

注意几点: ⑴变量名不区分大小写字母。

例:TOTAL,Total,total 代表同一变量

⑵变量名中的空格不起作用。

例:abc,a bc,ab c,a b c 代表同一变量

⑶变量名尽量做到“见名知义” AVER、SUM、Imax

⑷允许变量名与语言中具有特定含义的字(“保留字”)同名。

例:sin,read,open,end,…

建议不要使用fortran中具有特定含义的字作变量名

3.6 变 量

3.6.3 变量的类型

Fortran能处理各种类型的变量。不同类型的变量用来存放不同类型的数据。

变量类型的说明(三种方式)

⒈隐含说明

即以I、j、k、l、m、n开头的变量为整型变量,以其它字母开头的变量为实型变量。(“I~N规则”)

例:imax,m5,number,… 为整型变量

v,h2,aver,… 为实型变量

3.6 变 量