Fortran语言学习

合集下载

fortran教程

fortran教程

fortran教程Fortran是一种编程语言,用于科学和工程计算。

它具有高性能和可靠性,适用于大规模的数值计算和数据处理。

Fortran的基本语法是由一系列语句组成的程序。

每个语句都以一个数字标签开头,可用于控制程序的执行顺序。

以下是Fortran的一些基本语法和常用功能。

1. 变量和数据类型Fortran支持多种数据类型,包括整数(Integer)、实数(Real)和字符(Character)。

变量声明可以在程序的开头部分完成,例如:```fortranINTEGER :: iREAL :: xCHARACTER(len=10) :: name```注意,每个变量声明必须以两个冒号(::)开头。

2. 数学运算Fortran提供了一系列的数学运算符,用于执行基本的算术和逻辑运算,例如加法(+)、减法(-)、乘法(*)、除法(/)和求余(MOD)。

运算符的使用与其他编程语言相似。

3. 控制结构Fortran支持常用的控制结构,例如条件语句(IF-ELSE)和循环语句(DO LOOP)。

条件语句可以根据条件来执行不同的代码块,例如:```fortranIF (i > 0) THENPRINT*, 'i is positive'ELSEPRINT*, 'i is non-positive'END IF```循环语句可以根据条件重复执行一部分代码,例如:```fortranDO i = 1, 10PRINT*, iEND DO```上述代码将打印出1到10的数字。

4. 数组和矩阵运算Fortran支持多维数组和矩阵运算。

声明数组时可以指定维度和元素类型,例如:```fortranREAL, DIMENSION(3,3) :: matrix```然后,可以使用多个索引访问数组元素,例如:```fortranmatrix(1,2) = 3.14```这将给数组中的第1行第2列的元素赋值为3.14。

fortran 语言编程

fortran 语言编程

fortran 语言编程Fortran 语言编程Fortran(Formula Translation)是一种面向科学计算和工程计算的高级编程语言。

它于1957年诞生于IBM,是最早被广泛采用的科学计算语言之一,目前已经发展到第四个版本(Fortran 2018)。

Fortran是一种编译型语言,它通过编写源代码并使用编译器将其转换成机器语言来执行。

本文将详细介绍Fortran语言的基础知识、语法规则和常用的编程技巧,以帮助读者了解和掌握这门强大的科学计算语言。

第一步:安装Fortran编译器要开始编写和运行Fortran程序,首先需要安装Fortran编译器。

有多种Fortran编译器可供选择,其中最常用的是GNU Fortran(gfortran)和Intel Fortran Compiler(ifort)。

可以从官方网站或其他可信的来源获得这些编译器的安装程序,并按照提示进行安装。

第二步:编写并编译Fortran程序在开始编写Fortran程序之前,需要了解Fortran的基本语法规则。

Fortran使用固定格式或自由格式,固定格式的源代码按照列格式排列,每行的前6列被保留用于行号和注释,从第7列开始是可执行代码。

自由格式没有列格式的限制,更加灵活,但在编译阶段需要指定自由格式。

下面是一个简单的Fortran程序示例,用于计算并输出两个数的和:fortranprogram additionimplicit noneinteger :: a, b, sumprint *, "Enter two numbers:"read *, a, bsum = a + bprint *, "The sum is:", sumend program addition将以上代码保存为一个以.f90为后缀名的文件(例如addition.f90),然后使用编译器将其编译成可执行程序。

fortran语言教程第6章

fortran语言教程第6章

第6章数组应用6.1 数组与数组元素数组是由任何一种简单数据类型按照一定的组织规则构造出来的数据类型,是有序数据的集合。

数组中可以包含很多个同类型的变量,我们把这些变量叫做“数组元素”或“数组分量”或“下标变量”。

在机器中数组占用一片连续的存贮单元,每个单元都用同样的名字(即数组名)但编号不同。

数组的命名方式与简单(基本)变量命名方式相同。

假设有数组A,占据4个存储单元,元素在内存中的排列可形象表示出来:AA(1),A(2),A(3),A(4)A(1,1),A(1,2),A(2,1),A(2,2)每个单元的编号方式可以有多种,第一种用一个数字来编号称为一维数组,第二种用两个数字来编号称二维数组。

可以推广,用N个数字对数组的元素编号则称为N维数组。

数组使用之前一定要说明,事先告诉机器数组的类型,包含分量的个数,分量的编号方式等,以便机器为数组预留内存空间。

6.1.1数组的说明数组的说明应该包括以下几个方面的内容:•确定数组的名称;•确定数组元素的类型;•确定数组的结构(包括数组维数,每一维的取值范围等内容)。

说明语句的形式有:(1)类型说明语句:说明数组的类型和元素个数类型标识符数组名1 (维说明1[,维说明2,...])[,数组名2...](2)DIMENSION语句:只说明数组元素个数DIMENSION数组名1 (维说明1[,维说明2,...])[,数组名2...]其中“维说明”的形式:维下界∶维上界(或下标下界∶下标上界)例如:REAL A(1:10),B(80:90),C(-5:4),NUM1(1:2,1:5)INTEGER D(0:1,0:4),NUM2(2:5)DIMENSION S(3:5), M(1:10)说明语句中的A,B,C,D,NUM1,NUM2等都是数组名,数组名不能与本程序单位中的其他任何标识符重复。

通过“维说明”可以确定数组维数,每一维的取值范围等内容。

同一维的上下界之间用冒号分开;括号中至少要有一个维说明,也可以有多个。

给fortran新手的一些实用建议

给fortran新手的一些实用建议
****************************************************************** PROGRAM F dimension m(2) m(1)=1.5 m(2)=2.5 print *,m(1),m(2) end ****************************************************************************** 输出的结果是“1,2”而不是“1.500000,2.500000” 当把程序中 m 改为 a 时,输出“1.500000,2.500000” 所以,比较好的方法是尝试用 REAL 来定义数组(当然也可以用 REAL*8): ****************************************************************************** PROGRAM G real m(2) m(1)=1.5 m(2)=2.5 print *,m(1),m(2) end ****************************************************************************** 另外,要说的是,变量可以不定义而直接赋值,但会出现如上面 PROGRAM D-E 的问题,所以建议大家在编程的时候 对非整型变量声明一下,尽管麻烦,但不容易出错,有时候正是这类错误会让初学者困扰好久。 定义变量时,经常会看到两种定义的写法:以 REAL 为例:可以有 real m 和 real:: m 第一种方式不可以直接赋值,必须写成这样: ****************************************************************************** PROGRAM H real m m=1.0 print *,m end ****************************************************************************** 第二种则可以: ****************************************************************************** PROGRAM I real:: m=1.0 print *,m end ******************************************************************************

FORTRAN语言第3章(共8章)

FORTRAN语言第3章(共8章)

会再去执行。这一点同后面的SELECT CASE完
全不同。也就是说IF结构中的选择条件是允许重 叠的,但SELECT CASE语句不允许选择条件有 重叠。
第二节 块IF选择结构


1.ELSEIF语句其作用相当于将ELSE语句与其 后的ELSE块中的块IF语句连接在一起。 2.同块IF语句不同, ELSEIF语句与ENDIF语 句间不存在一一对应关系。 3.在这种IF结构中,允许使用多个ELSEIF语 句。在最后一个ELSEIF语句之后,可以有与 之对应的ELSE语句,也可以没有。当有 ELSE语句在最后时,表示如果前面所有的条 件都不成立,执行其后的ELSE块;如果没有 ELSE块,则表示如果前面所有的条件都不成 立时,流程转到ENDIF语句。
条 件 1 假 条 件 2 真 条 件 ...... 1 块 2 块 ...... 块 n 块 n +1 真 假 条 件 n 真 假 假
EN D IF 的 后 继 语 句
第二节 块IF选择结构
多重判断的IF结构中,判断条件的成立具有
唯一性。即一旦有判断条件成立,就去执行相应
的模块,如果其后仍有判断条件是成立的,也不
一个嵌套分支结构可使用若干个块 IF语句,相应就有若干个ENDIF语句,
每个块IF语句还可能使用一些ELSE
IF语句、ELSE语句,这就可能构成一 个复杂的IF-ELSEIF-THEN-ELSE结构。
当嵌套层次过多时,往往一时难以找
到同一层的块IF中的各语句,一般可 按以下方法确定: (1)从最内层的块IF语句开始,向下找到离它最近的ENDIF 语句,将它们用线括起来,这就是同一层次的块IF。 (2)由内向外重复这一个过程,直到遇见最外层块IF语句和 ENDIF语句为止。 (3)在书写嵌套分支结构时采取缩进方式进行程序书写,程 序的嵌套层次就容易确定。

fortran语言程序设计知识点

fortran语言程序设计知识点

fortran语言程序设计知识点Fortran语言是一种面向科学与工程计算的编程语言,因其在数值计算和科学应用方面的高效性而受到广泛使用。

本文将重点介绍Fortran语言程序设计的一些重要知识点。

一、基础语法1.1 变量与数据类型在Fortran中,变量是用于存储数据的容器。

常见的数据类型包括整型(INTEGER)、实型(REAL/DOUBLE PRECISION)、复数型(COMPLEX)、逻辑型(LOGICAL)等。

变量的命名需遵循一定规则,如以字母开头,长度不超过31个字符等。

1.2 运算符与表达式Fortran支持常见的算术运算符(如+、-、*、/)以及逻辑运算符(如. AND.、. OR.、. NOT.)等。

表达式由变量、常数和运算符组成,可以进行数值运算和逻辑判断。

1.3 控制结构Fortran提供循环结构(DO)、条件结构(IF-THEN-ELSE)和选择结构(SELECT CASE)等控制语句,用于控制程序的流程。

二、数组与数据处理2.1 数组定义与操作Fortran中数组是由相同类型的数据元素组成的集合。

可以使用DIMENSION语句定义数组的维度和大小,通过下标访问和修改数组元素。

2.2 数组运算与函数Fortran提供了许多对数组进行运算和处理的函数,如数组求和(SUM)、最大最小值(MAX、MIN)、数组重排(RESHAPE)等,方便对数据进行统计和处理。

2.3 文件读写操作Fortran支持对文件进行读写操作,可以通过OPEN语句打开文件,使用READ和WRITE语句读取和写入数据。

可以根据需要设置文件的访问模式和格式。

三、过程与模块3.1 过程(Subroutine/Function)过程是一段独立的代码块,可接受传入参数并返回值。

在Fortran中,过程可以是子程序(Subroutine)或函数(Function)。

子程序用于完成一系列操作,而函数则返回一个值。

3.2 模块(Module)Fortran中的模块是一个编译单元,用于组织和管理相关的过程和变量。

Fortran基础教程

Fortran基础教程

2024/8/9
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
数字部分
指数部分
2024/8/9
19
3.5 常 量
2024/8/9
31
3.7 Fortran内部函数
注意几点:
⑴函数自变量(参数)必须用括号括起来。
例:sinx+cosx → sin(x)+cos(x)
⑵函数自变量可以是常量、变量或表达式。
例: exp(3.0)
sin (x+cos(x))
⑶有些函数的类型是由自变量的类型确定的。
例:mod(8.0,3.0) →2.0
2024/8/9
24
3.6 变 量
注意几点: ⑴变量名不区分大小写字母。
例:TOTAL,Total,total 代表同一变量 ⑵变量名中的空格不起作用。
例:abc,a bc,ab c,a b c 代表同一变量 ⑶变量名尽量做到“见名知义” AVER、SUM、Imax ⑷允许变量名与语言中具有特定含义的字(“保留字”)
2024/8/9
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。

fortran知识点总结

fortran知识点总结

fortran知识点总结一、语法结构Fortran语言的语法结构遵循一套严格的规则。

下面是一些常见的语法结构:1. 程序单元:Fortran程序由一个或多个程序单元组成。

每个程序单元由一个或多个声明和执行语句组成。

2. 注释:在Fortran中,注释可以用来提高代码的可读性。

注释以感叹号(!)开头,直到行末为止。

3. 标识符:Fortran中的标识符由字母、数字和下划线组成,且区分大小写。

标识符用于表示变量、函数、子程序等。

4. 变量声明:在Fortran中,变量声明使用关键字“REAL”、“INTEGER”、“LOGICAL”等来指定变量的数据类型。

例如,REAL :: x 表示声明了一个实数类型的变量x。

5. 程序控制结构:Fortran提供了多种控制结构,包括顺序结构、条件结构和循环结构。

这些结构提供了程序的流程控制和逻辑控制。

6. 函数和子程序:Fortran支持函数和子程序的定义和调用。

函数和子程序可以帮助程序员组织和重用代码。

7. 模块和接口:Fortran中的模块和接口提供了一种组织代码的方式。

模块可以包含多个子程序和全局变量,接口可以用来定义子程序的接口。

二、数据类型在Fortran中,数据类型用于表示数据的类型和大小。

Fortran提供了多种数据类型,包括整数、实数、逻辑值、字符、复数等。

下面是一些常见的数据类型:1. 整数:整数类型用于表示整数值。

在Fortran中,整数类型包括“INTEGER”、“LOGICAL” 和“CHARACTER”类型。

2. 实数:实数类型用于表示实数值。

在Fortran中,实数类型包括“REAL”和“COMPLEX”类型。

REAL类型用于表示实数,COMPLEX类型用于表示复数。

3. 字符:字符类型用于表示字符值。

在Fortran中,字符类型使用CHARACTER关键字进行声明。

字符类型可以表示单个字符或者字符数组。

4. 数组:数组类型用于表示多个相同类型的数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
打开指定的文件→选 “Build”→ “Compile st01.for”。 五、连编项目文件
选 “Build”→ “Build aaa.exe”。 六、运行项目文件
选 “Build”→ “Execute aaa.exe”。(显示程 序执行结果)
2020/5/5
15
3.4 Fortran程序的编辑与运行
2020/5/5
14
3.4 Fortran程序的编辑与运行
三、给项目工作间添加和编辑文件
打开指定的项目工作间→选 “Insert”→ “File into Project”→输入要添加的文件名(如: st01.for)→“Add”。然后按Fortran程序的书写
规则编辑程序。
四、编译项目工作间中的文件
⑵每个程序单位包括若干行
语句行(执行语句和非执行语句行)
非语句行(注释行)
⑶语句前可不设标号,也可根据需要设标号。
⑷各类语句在程序单位中的位置有一定规则。
⑸程序必须按规定格式书写。
2020/5/5
11
3.3 Fortran源程序的书写格式
Fortran77源程序必须按以下格式书写: ⑴每行只能在80列内书写,并把80列分为4个区。
• 1958和1962年先后推出FortranⅡ和FortranⅣ;
• 1966和1978年先后颁布Fortran66和Fortran77;
• 1991年颁布了Fortran90。
• 现在已经有了Fortran 95, Fortran 2003
2020/5/55源自Fortran语言的特征Fortran语言的最大特性是接近数学公式的自然描 述,在计算机里具有很高的执行效率。
end
2020/5/5
8
3.2 简单的Fortran程序分析
执行结果:
x1= 1.30 x2=-4.30
例2:试求3!,6!,9!的值。 编程如下:
2020/5/5
9
3.2 简单的Fortran程序分析
主程序:
子程序:
c main program
c subprogram
j=k(3)
function k(n)
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)
2020/5/5
16
3.5 常 量
常量——在程序执行期间其值固定不变的量。 Fortran处理六种类型的常量:
⑴整型常量(Integer) ⑵实型常量(Real) ⑶双精度常量(Double precision) ⑷复型常量(Complex) ⑸逻辑型常量(Logical) ⑹字符型常量(Character)
Fortran语言是一种适合于科学和 工程计算问题的程序设计语言;也 是计算机高级语言发展史上使用最 早的一种程序设计语言。
2020/5/5
4
3.1 Fortran语言的发展概况
Fortran语言的发展过程:
• 1951年由约翰·贝克斯等人开始研究Fortran语言;
• 1957年第一个Fortran程序在IBM704机上运行;
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
2020/5/5
end
10
3.2 简单的Fortran程序分析
Fortran程序的基本结构:
⑴一个Fortran源程序由一个或多个程序单位组 成,每个程序单位以“end”语句结束。
易学,语法严谨。
可以直接对矩阵和复数进行运算。
自诞生以来广泛地应用于数值计算领域,积累了大 量高效而可靠的源程序。
很多专用的大型数值运算计算机针对Fortran做了 优化。
广泛地应用于并行计算和高性能计算领域。
Fortran 90,Fortran 95,Fortran 2003的相继推 出使Fortran语言具备了现代高级编程语言的一些 特性。
2020/5/5
6
3.2 简单的Fortran程序分析
例1:求一元二次方程x2+3x-5.6=0的根, 并打印结果。
• 利用公式:
x1,2 b
b2 4ac 2a
• (这里,a=1,b=3,c=-5.6)
2020/5/5
7
3.2 简单的Fortran程序分析
编程如下:
x1,2 b
b2 4ac 2a
⑵1~5列:标号区
( 1~5 位无符号整数;第1列为“*”或“c”时,为注释 行)
⑶第6列:续行标志区
(非空格或非零字符;最多19个续行)
⑷7~72列:语句区
(书写语句;一行只能写一条语句)
⑸73~80列:语句注释区
(一般作编号注释)
2020/5/5
12
3.4 Fortran程序的编辑与运行
Fortran PowerStation 4.0集成开发环境 简介
2020/5/5
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。
普通高校计算机基础教学系列课程
Fortran语言
(Fortran77结构化程序设计)
说明
• 第一章 算法(略) • 第二章 计算机和计算机程序(略)
2020/5/5
2
第三章 Fortran语言程序设计初步
2020/5/5
3
3.1 Fortran语言的发展概况
FORmula TRANslator 公式翻译器
注:若Fortran程序是由一个主程序文件和若 干个子程序文件组成,则应将各文件添加到 同一项目工作间,分别进行编译,然后连编 和运行项目文件。
七、打开项目文件
选“File”→“Open”→在打开对话框文件 类型下拉列表中选“Project Workspace(*.mdp)”→然后选项目工作间文件 夹中的项目文件。
相关文档
最新文档