第2章 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),然后使用编译器将其编译成可执行程序。

chapter2FORTRAN基本语句

chapter2FORTRAN基本语句

第四节
表控输入语句
在应用READ语句进行表控输入操作时,输入的数据应 该符合READ语句中的要求,即输入的数据个数应该与 READ语句中的变量个数一致;输入数据的类型应与 READ语句中相应变量的类型一致。如果输入的数据不 够,READ语句将会等待用户继续输入,直到输入所需 的全部数据为止。如果输入的数据过多,则多余的数 据不起作用。如果输入的数据与READ语句中的变量类 型2 bx c 0
(设Δ>=0)
4ac
x
1, 2

b
b
2
2a
第三节
赋值语句
三、赋值过程的类型转换作用 □在不同的类型之间进行转换是有限制条件的:数值型以及逻辑 型数据之间允许相互赋值转换;数值型数据与字符型数据之间则 不允许进行直接赋值转换,需要使用专用的字符函数;逻辑型数 据不允许与字符型数据之间进行直接或间接的转换。 □整型数据与实型数据的相互转换遵循如下规则:整型向实型转 换时,保持数值的大小不变;实型向整型转换时,直接将实型的 小数部分截去。 □在由整型数据向逻辑型数据转换时,逻辑型数据的值由整型数 据的奇偶来决定:当整型数据为奇数时,转换成的逻辑型数据的 值为TRUE;当整型数据为偶数(包括0)时,转换成的逻辑型数据 的值为FALSE。 □在由实型数据向逻辑型数据转换时,实型数据会首先转换成整 型,然后再由整型向逻辑型转换。
⑹ 类型说明时,可进行变量的初始化,此时一定要 注意变量名前的::符号不可省略。 real::score=89.5
Parameter 语句
(1)功能:用一个符号代表一个常量,称为符号常量(常
数),这样在程序中用到这个常数时直接写这个常数名即可,
从而给编写程序、阅读程序以及修改程序带来方便。 (2)写法: Parameter(PI=3.14159,g=9.81) (3)位置:位于所有可执行语句之前。符号常量的定名规则 与定变量名相同。名字本身隐含类型,也遵循I-N规则。可以 用类型说明语句定义符号常量的类型。例: INTEGER P

FORTRAN知识点总结

FORTRAN知识点总结

F O R T R A N第2章FORTRAN90基础知识:程序单元的概念:fortran90程序是一种分块形式的程序,整个程序由若干程序单元块组成。

每个程序只有一个主程序单元。

各单元体的程序体形式上相同。

程序单元可以是主程序、子程序(外部过程或内部过程)、模块MODULE (供其他程序单元引用即把该程序单元内的全部语句复制到程序单元中)或块数据程序单元BLOCK 。

语言元素:指在程序设计中用到的基本成分,如字符集、常量、变量、记号(标号、关键字、名字、常数、运算符和定界符)以及其他的基本结构等。

字符集:英文字母、阿拉伯数字、下划线、21个特殊字符($和?没有规定用法)。

数据结构:整型INTEGER (34-2下划线后面是种别参数),n 位字长的计算机的数据表示范围一般为12~211-+---n n ,种别参数由内在询问函数KIND 送回,种别值提供的最小范围由内在函数SELECTED-INT-KIND 送回,表示十进制幂的范围由内在函数RANGE 送回;实型REAL ,小数形式和指数形式;复型COMPLEX (种别类型参数值取实部与虚部中较大者);字符型CHARACTER,由一对单撇号或双撇号之间的字符序列组成;逻辑型LOGICAL。

派生数据类型TYPE;数组INTEGER,DIMENSION(1,50)::A,可直接对数组元素进行运算如3*A,SQRT(A);字符子串,在字符串CHARACTER(LEN=80)::ROW中,ROW(1:3)就表示字符串ROW中第1到第3个元素组成的子串。

变量名的命名规则:不能超过31个字符;组成成分是字母、数字、下划线;第一个字符必须是字母。

第3章基本语句:类型说明语句:类型说明(种别说明),属性说明::变量名表尽量避免把两个实数作相等或不相等的比较。

淘汰隐式说明IMPLICIT NONE种别说明:种别参数即对可移植数据精度和范围进行选择的机制KIND(X) 返回变元X的种别参数值SELECTED-REAL-KIND(n,m) 产生一个种别值,它表示某一精度和范围。

fortran90第二章

fortran90第二章

2.1.2 符号常量
£ 符号常量,是用一个标识符来代表一个常量。符号常量常用 PARAMETER语句来定义。例如: PARAMETER (PI=3.1416,M=10)
£ 该语句定义了两个符号常量PI和M,在该程序单位内,PI代表3.1 416,M代表10
£ PARAMETER为特有的常量定义标识,要定义的项必须放在() 内,如果有多项,项之间要用逗号隔开。
FORTKAINND值中字变节量二的进位类型精度的定义取有值三范种围(方绝对式值:)
1.
类型说4 明语4句
8
8
32 64
7位 15位
0,[10-38,10+38] 0,[10-308,10+308]
£格式为:类型说明符 变量名1,变量名2…
说明:大于最大值,产生上溢错,小于最小值,按0处理。
£其中类型说明字为:
£ 符号常量与变量有着本质的区别,PARAMETER语句是非执行语 句,变量对应于一个存储单元,程序执行时,可将表达式的值存 放到变量所对应的存储单元中(即给变量赋值)或从变量所对应 的存储单元中取出相应的值。 符号常量不能当变量使用
例1 输入圆柱体的半径和高,求圆柱体的表面积和体积
PROGRAM fex REAL R, H, S, V PARAMETER (PI=3.141593) PRINT *, “请输入半径和高:” READ *, R, H S=PI*R*2*H V=PI*R**2*H PRINT *, “表面积为:”, S PRINT *, “体积为:”, V END
SIN(x)
实型 求正弦
sinx
SQRT(x)
实型 求平方根 √x
TAN(x)
实型 求正切

Fortran语言基本语法

Fortran语言基本语法

Fortran语⾔基本语法a、Fortran 之基本规定:在Fortran的规定中,程序的开始需先宣告变量形式,接着才能⽤这些变量来写程序内容,再整个程序中的第⼀⾏必须空⽩,除⾮键⼊英⽂字母c或*⽤以表⽰那⼀列为说明项⽽⾮实际之计算式⼦。

第⼆⾏⾄第五⾏为地址⾏,可⽤数字标⽰其地址,⽤以执⾏程序时控制之⽤。

第六⾏⽤以填⼊⼀个⾮零的数字或字母表⽰连结上⼀列的式⼦。

第7⾏⾄72⾏则为程序主体之所在,若不⼩⼼在72⾏之后键⼊程序Fortran将不于理会。

再程序的最后⼀列⽤ end命令告知程序终了。

b、变量(Variable)Fortran语法中的变量相当于函数上变量,但其种类则更多,举凡复数(complex)、整数(integer)、实数(real)、逻辑(logical)和字符串(character)等等。

对于变量的规定是变量的第⼀个字母为英⽂字母,其长度最长为6个字,除刚刚说的第⼀个字之外,其余的可为数字或字母,以下为⼏个简单范例: Integer count,pg1real time,po2pc、运算符号与内定函数:Fortran 基本的运算符号如下:+加法;-减法;*乘法;/ 除法**平⽅;**(n) n次⽅除了上列之基本运算符号之外,数值计算上常⽤之函数如三⾓等等亦以写成内定含式,常⽤的以下⼏项:log 对数函数;exp 指数函数;sin、cos、tan、cot、sec和csc等三⾓函数;abs 绝对值;asin、acos、atan、acot、asec和acsc等反三⾓函数。

D、控制结构:结构化Fortran有⼀些控制的结构,关系控制即是其中之⼀种,⽤以⽐较两变量之间关系,包含有:.lt. 表⽰⼩于.gt. 表⽰⼤于.eq. 表⽰等于.le. 表⽰⼩于或等于.ge. 表⽰⼤于或等于.ne. 表⽰不等于另⼀种重要的控制为逻辑控制,包含有:.not. .not. p => 若p为⾮真则为真.and. p .and. q => p和q为真则为真.or. p .or. q => p或q其⼀为真则为真.eqv. p .eqv. q => p和q同为真或同为⾮真则为真.neqv. p .neqv. q => p或q之中⼀为真⼀为⾮真则为真e、输⼊与输出结构:> Fortran 经常会有⼀些数值需要输⼊或计算的值需要输出,这时 Fortran 便提供了⼀些格式码好让使⽤者将欲输⼊或输出的数值针对其变量的特性作较佳的安排设计,兹举例如下,其中输出之资料格式完全相同:a、write(*,10) i,j,k10 format (1x,2I5,I3)b、assign 10 to ifmt10 format (1x,2I5,I3)write (*,ifmt) i,j,kc、write (*,'(1x,2I5,I3)') i,j,kd、character*11 fmtchfmtch='(1x,2I5,I3)'write (*,fmtch) i,j,k其中X表⽰空格之意,1x即是空⼀格, write为输出的指令,若改为 read 则为输⼊指令,I为整数的格式码, 2I5 表⽰输出的总位数为五,⽽这样的格式重复两次,其余尚有不同之各种格式码,常⽤的有:1. F 格式码,⽤于实数变量,其⼀般型态为 rFw.d ,其中F表实数,r为重复次数,w为总位数,⽽d为⼩数字数。

2FORTRAN基本语句

2FORTRAN基本语句

第一节
类型说明语句
I-N规则
(3)隐含说明变量的类型
根据变量名称的第一个字母自动决定变量的类型, 根据变量名称的第一个字母自动决定变量的类型, 变量名称的第一个字母自动决定变量的类型 且仅适用于整型和实型变量。 且仅适用于整型和实型变量。 IMax,Number,JOB,COUNT,TOTAL, 例 J,IMax,Number,JOB,COUNT,TOTAL,BOOK 最好不用这种不经说明就使用变量的方法。 最好不用这种不经说明就使用变量的方法。好的 程序员在编写程序时都会先对变量进行说明才使用变 这样能清楚了解程序执行时的内存使用情况, 量,这样能清楚了解程序执行时的内存使用情况,同 时也可避免很多“人为错误” 时也可避免很多“人为错误”。
第三节
赋值语句
三、赋值过程的类型转换作用 在一个算术赋值语句V=e V=e中 赋值变量( 在一个算术赋值语句V=e中,赋值变量(V)和表达式 的类型既可以相同,也可以不相同。Fortran中对于赋 (e)的类型既可以相同,也可以不相同。Fortran中对于赋 值时的类型转换问题作了如下规定。 值时的类型转换问题作了如下规定。 如果变量V与表达式e的类型相同,则直接进行赋值, □如果变量V与表达式e的类型相同,则直接进行赋值, 不需进行类型转换。 不需进行类型转换。 如果变量V与表达式e的类型不同, □如果变量V与表达式e的类型不同,则首先进行表达式 的求值,然后求值的结果转换为赋值变量的类型。 的求值,然后求值的结果转换为赋值变量的类型。 例1、交换A,B值; 交换A 例2、 计算
答案: 、 答案:1、2.0*SIN(3.14/4)/3.0 ( ) 2、(Sin(4.0)+cos(10*3.14/180))*exp(2.5)/ 、 (Sqrt(2.0)+abs(a*x)+log(3.0*5))

第2章Fortran语法基础

第2章Fortran语法基础
• 可执行程序单元,在程序中主要用来执行一个完 整的功能。可执行程序单元主要包括以下三种: 主程序单元、外部函数子程序单元和外部子例行 子程序单元。
• 不可执行程序单位,在程序中主要用来为其他程 序单元提供定义。不可执行程序单元有两种:模 块程序单元和数据块程序单元。
2.5 命名方式
• 在Fortran中为对象命名有一定的要求。简单的说, Fortran 77的命名要求和Fortran 90/95的命名要求是不同 的。本节主要介绍不同标准下的命名方式。
• 在Fortran 77标准中,程序和变量等对象的名字是由不多 于6个字符(包括英文字母A-Z、a-z和数字0-9)组成的字 符段。同时,对象名字的第1个字符必须是字母,名字的有 效使用范围原则上仅限于一个程序单元之中(内部过程除 外)。下面的代码段演示了Fortran 77标准的对象命名方 式。
• 在C语言程序中,需要使用“/*”和“*/”这样的特殊标 记来界定注释的内容而不管行边界。采用这种方式进行注 释时经常出现的错误就是漏掉结束的界定符,使得后面的 语句也变成了注解;好处也很明显,就是能够方便的实现 代码的块注释。
• 而Fortran 95语言中的“!”,Ada语言中的“-”,或是 C++语言中的“//”,注释都是在行的任意位置开始直到行 的末尾结束。这种做法更为合理、不容易出错,但要实现 大段代码的整体注释就不是特别方便了。
• INTEGER 0B
!错误
• INTEGER C-10
!错误
• REAL sin
!正确
• REAL test:real
!错误
2.6 程序单元和语句顺序
• 程序单元是程序中的基本组成部分,了解程序单 元的用途可以加深对计算机程序的理解。本节主 要介绍Fortran程序中的程序单元和句顺序的基本 概念及相关规定。Fortran中的程序单元分为两大 类:可执行程序单元和不可执行程序单元。

第2章 Fortran程序设计基础PPT课件

第2章 Fortran程序设计基础PPT课件

SUBRO UTINE 、MO NEY 、< = 都是非法的。
一般情况下,记号之间需留有空格。例如:100CONTINUE 是非法的, 因为标号100 和关键字 CONTINUE 是两个独立的记号。
有的记号间的空格是可选的,例如:END PROGRAM 和 ENDPROGRAM是 合法的。
四. 注释
END
注释行
注:其中处于同一水平位置的各语句之间没有严格的前后 顺序,而不同的行则表示了严格的在程序当中出现的前后 顺序。
语句顺序的一般原则:
程序段的段头语句,只能ຫໍສະໝຸດ 现在每个程序段开始的位置。如: PROGRAM、FUNCTION、SUBROUTINE、BLOCK、DATA、MODULE等;
如果出现USE语句,则只能出现在段头语句之后、其他语句之前; IMPLICIT NONE语句应紧跟在USE语句之后,在其他说明语句之前; FORMAT语句和DATA语句也可以放置在可执行语句中间,不过把DATA
* 固定格式是为配合早期使用穿孔卡片输入程序所发明的 格式, 这里介绍固定格式,只是让大家对 Fortran 77 程序有所了解,建议大家在编写程序时采用前述地自由 格式。
* 固定格式尽管有其过多的限制,但由于具有一定的规范 性,方便程序的编写和检查。
二、自由格式
自由格式是Fortran 90之后的新写法,是目前最流行的书写格 式,取消了许多限制。没有规定每行的第几个字符有什么作用。
固定格式说明:
一行共80列,分为4个区: 第1-5列,标号区,可以空白,也
可以出现符号;
第6列,续行标志区,可以空白( 无续行),非0字符(续行 );
第7-72列,语句区,语句区的书写 可以从任意一列开始,空白 编译时被忽略,一行只能书 写一个语句;

FORTRAN第二章

FORTRAN第二章

2013-9-23
Fortran 变量

16

在程序运行过程中其值可以改变的量,称为变量。变量用 标识符表示,称为变量名。每个变量是以变量名来代表的, 变量名是名字的一种。 变量必须‚先定义后使用‛,变量的命名最好是‚见名知 义‛ 系统为变量分配存储单元,存储变量的值。 编写程序时通过变量名来存、取变量值。 在同一个程序单位中不能用同一个标识符代表不同的变量。 变量定义的一般格式:
stop
end 运行结果:(屏幕显示) 1.000000 + 0.100000 =
write(*,*) a,"+",b,"=",a+b
stop end program ex0409
1.100000
= 100000.0 (wrong)
100000.000100000
运行结果:(屏幕显示) 100000.0 + 9.9999997E-05 运行结果:(屏幕显示)
17
2013-9-23
实型变量(Real)
实型变量又称浮点数变量,分为单精度和双精度类型, real(kind=4) a 单精度 real(kind=8) a 双精度 计算机在存储实型数时 ,先转化成科学计数法.要考虑有效 位数的概念,正确使用单(双)精度类型。 1.例如要保存12345会转化成1.2345*104 ,其中的数值部分可 以保存约6位数字;
数据类型说明符
例如:
声明使用 整型态数
变量列表;
a
a是自己取的名字,在程序中以 这个名字表示一块存放整数的空 间,称为变量
2013-9-23
integer
Fortran 变量(续)

第二章 关于FORTRAN的初步知识

第二章 关于FORTRAN的初步知识

前一页
休息
6
FORTRAN语言的常量
2:实型常量
有两种表示方法: (1)小数点法表示: 如: 12.5 0.12 12. .55等 (小数点表示) (2)科学计数法(指数)表示: 实数或整数E或e整数
如: 1.8635E2 5.d-1 等 (指数表示)
前一页 休息 7
FORTRAN语言的常量
3:双精度型常量
前一页
休息
14
FORTRAN语言的变量
2:隐含说明语句
implicit double precision (字母1,字母2)或(单个字 符),...... implicit complex (字母1,字母2)或(单个字符),...... implicit logical (字母1,字母2)或(单个字符),...... implicit character (字母1,字母2)或(单个字符),...... 其意义见前页。
5:逻辑型常量
逻辑型常量的表示: .true. 表示真值 .false. 表示假值
6: 文字型常量
文字型常量的表示: ‘若干个字符’ 例如:'abcdef' '123456xyz'
前一页 休息 10
FORTRAN语言的变量
标识符的命名规则:
以字母(不分大小写)开头,后跟若干个字母或数字。 变量类型: 1:隐含说明(约定) 凡不加说明的标识符,以字母I~N( 或i~n)开头的为整型变量,以其它字母开头的变量为实 型变量。 2:显示说明语句 3:隐含说明语句
前一页 休息 12
FORTRAN语言的变量
1:显示说明语句
complex 若干个标识符彼此间用逗号分隔
定义的每一个标识符为复型变量。

Fortran语言快速学习指南

Fortran语言快速学习指南

Fortran语言快速学习指南Fortran是一种高级程序设计语言,专门用于科学和工程计算。

它是最早的计算机编程语言之一,在科学计算领域一直具有广泛的应用。

本篇文章将提供一份Fortran语言的快速学习指南,帮助读者快速掌握该语言的基本概念和用法。

一、Fortran简介Fortran是一种编译型语言,最初于1957年由IBM公司开发。

它的名字源自“Formula Translation”的缩写,最早用于数值计算和科学研究。

Fortran的设计目标是简化数值计算的编程过程,提高程序的效率和可读性。

二、Fortran的基本语法1. 变量和数据类型在Fortran中,变量是用于存储数据的容器,每个变量都必须先声明后使用。

Fortran提供了多种数据类型,包括整型、实型、字符型等,用于存储不同类型的数据。

2. 数组Fortran中的数组是一种特殊的变量类型,可以同时存储多个值。

数组的声明方式为:TYPE, DIMENSION(下标范围) :: 数组名。

例如,声明一个包含10个整数的数组可以写作:INTEGER, DIMENSION(10) :: array。

3. 条件语句和循环Fortran提供了条件语句(IF语句)和循环结构(DO循环)来控制程序的执行流程。

条件语句根据某个条件的真假来选择不同的执行路径,而循环结构可以重复执行一段代码块多次。

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

子程序用于执行一段特定的代码块,而函数则返回一个值给调用者。

子程序和函数的定义方式为:SUBROUTINE 子程序名和 FUNCTION 函数名。

三、Fortran的特性和优势1. 高效性:Fortran在科学计算领域具有很高的效率和性能优势。

它能够直接利用计算机硬件的特性,进行高速、大规模的数值计算。

2. 数值计算支持:Fortran提供了丰富的数值计算库和函数,方便进行复杂的科学计算。

这些库包括矩阵运算、线性代数、微分方程求解等。

fortran语言语法

fortran语言语法

fortran语⾔语法FORTRAN是世界上最早出现的⾼级编程语⾔,是⼯程界最常⽤的编程语⾔,它在科学计算中(如航空航天、地质勘探、天⽓预报和建筑⼯程等领域)发挥着极其重要的作⽤。

经过40多年的发展,伴随着FORTRAN语⾔多次版本的更新及相应开发系统的出现,其功能不断完善,最新版本的开发系统⼏乎具备了VC、VB的所有特点,如图形界⾯编程、数据库等。

⽬前,⼯科院校开设的计算机编程语⾔课⾸选仍然是FORTRAN :<说实话,从科技发展的趋势来说这不是好事。

您可以设想⼀下,如果需要⽤鹅⽑笔抄写⼤量的古籍是什么感受!强烈建议阅读《发掘C#特性赋予科学计算项⽬以威⼒》1 FORTRAN77四则运算符+ - * / ** (其中**表⽰乘⽅)在表达式中按优先级次序由低到⾼为: +或-→*或/→**→函数→()2 FORTRAN77变量类型隐含约定:I-N规则凡是以字母I,J,K,L,M,N六个字母开头的,即认为是整型变量,其它为实型变量。

⽤类型说明语句确定变量类型:可以改变I-N规则⽤IMPLICIT语句将某⼀字母开头的全部变量指定为所需类型如IMPLICIT REAL (I,J)三种定义的优先级别由低到⾼顺序为:I-N规则→IMPLICIT语句→类型说明语句,因此,在程序中IMPLICIT语句应放在类型说明语句之前。

数组的说明与使⽤使⽤I-N规则时⽤DIMENSION说明数组,也可在定义变量类型同时说明数组,说明格式为:数组名(下标下界,下标上界),也可省略下标下界,此时默认为1,例:DIMENSION IA(0:9),ND(80:99),W(3,2),NUM(-1:0),A(0:2,0:1,0:3)REAL IA(10),ND(80:99)使⽤隐含DO循环进⾏数组输⼊输出操作:例如WRITE(*,10) ('I=',I,'A=',A(I),I=1,10,2)10FORMAT(1X,5(A2,I2,1X,A2,I4))使⽤DATA语句给数组赋初值变量表中可出现变量名,数组名,数组元素名,隐含DO循环,但不许出现任何形式的表达式:例如DATA A,B,C/,,DATA A/,B/,C/DATA A,B,C/3*CHARACTER*6 CHN(10)DATA CHN/10*''/INTEGER NUM(1000)DATA (NUM(I),I=1,500)/500*0/,(NUM(I),I=501,1000)/500*1/3 FORTRAN77程序书写规则·程序中的变量名,不分⼤⼩写;·变量名称是以字母开头再加上1到5位字母或数字构成,即变更名字串中只有前6位有效;·⼀⾏只能写⼀个语句;·程序的第⼀个语句固定为PROGRAM 程序名称字符串·某⾏的第1个字符⾄第5个字符位为标号区,只能书写语句标号或空着或注释内容;·某⾏的第1个字符为C或*号时,则表⽰该⾏为注释⾏,其后⾯的内容为注释内容;·某⾏的第6个字符位为⾮空格和⾮0字符时,则该⾏为上⼀⾏的续⾏,⼀个语句最多可有19个续⾏;·某⾏的第7⾄72字符位为语句区,语句区内可以任加空格以求美观;·某⾏的第73⾄80字符位为注释区,80字符位以后不能有内容。

第二章Fortran语言基础

第二章Fortran语言基础

《气象程序设计及绘图》课题组
南京信息工程大学
Nanjing University of Information Science & Technology
3.逻辑型常量
逻辑常量仅有两个,.TRUE. 和.FALSE. 注意: 对于逻辑值 .TRUE.,在其存储单元字节内每 位为“1”,可视为整数值-1,对于逻辑值.FALSE., 在其存储单元字节内每位为“0”,可视为整数值0, 它们均能参与整数运算。
《气象程序设计及绘图》课题组
南京信息工程大学
Nanjing University of Information Science & Technology
(1)语句关键字
如语句“IF (A<B> THEN”中的“IF”和“THEN” 是语句保留字。 类 似 的 保 留 字 有 : PROGRAM 、 INTEGER 、 REAL、READ、PRINT、WRITE、DO、END、 SUBROUTINE、FUNCTION等。 (详见P445)
2.3 常量
在程序运行过程中,其值不能被改变的量称为常量, 它在程序中直接生成并直接用于计算和处理。 整型常量、实型常量、复型常量、 字符型常量、 逻辑型常量
《气象程序设计及绘图》课题组
南京信息工程大学
Nanjing University of Information Science & Technology
指针类型
不同类型数据有不同 的特性,其处理的方 式有所不同,取值范 围也不一样,在处理 数据前,必须说明数 据的特性。
公用区类型
《气象程序设计及绘图》课题组
南京信息工程大学
Nanjing University of Information Science & Technology

FORTRAN知识点总结

FORTRAN知识点总结

F O R T R A N第2章FORTRAN90基础知识:程序单元的概念:fortran90程序是一种分块形式的程序,整个程序由若干程序单元块组成。

每个程序只有一个主程序单元。

各单元体的程序体形式上相同。

程序单元可以是主程序、子程序(外部过程或内部过程)、模块MODULE (供其他程序单元引用即把该程序单元内的全部语句复制到程序单元中)或块数据程序单元BLOCK 。

语言元素:指在程序设计中用到的基本成分,如字符集、常量、变量、记号(标号、关键字、名字、常数、运算符和定界符)以及其他的基本结构等。

字符集:英文字母、阿拉伯数字、下划线、21个特殊字符($和?没有规定用法)。

数据结构:整型INTEGER (34-2下划线后面是种别参数),n 位字长的计算机的数据表示范围一般为12~211-+---n n ,种别参数由内在询问函数KIND 送回,种别值提供的最小范围由内在函数SELECTED-INT-KIND 送回,表示十进制幂的范围由内在函数RANGE 送回;实型REAL ,小数形式和指数形式;复型COMPLEX (种别类型参数值取实部与虚部中较大者);字符型CHARACTER,由一对单撇号或双撇号之间的字符序列组成;逻辑型LOGICAL。

派生数据类型TYPE;数组INTEGER,DIMENSION(1,50)::A,可直接对数组元素进行运算如3*A,SQRT(A);字符子串,在字符串CHARACTER(LEN=80)::ROW中,ROW(1:3)就表示字符串ROW中第1到第3个元素组成的子串。

变量名的命名规则:不能超过31个字符;组成成分是字母、数字、下划线;第一个字符必须是字母。

第3章基本语句:类型说明语句:类型说明(种别说明),属性说明::变量名表尽量避免把两个实数作相等或不相等的比较。

淘汰隐式说明IMPLICIT NONE种别说明:种别参数即对可移植数据精度和范围进行选择的机制KIND(X) 返回变元X的种别参数值SELECTED-REAL-KIND(n,m) 产生一个种别值,它表示某一精度和范围。

_fortran-第二章fortran基础知识全解

_fortran-第二章fortran基础知识全解
•Fortran 变量( variable) 是一个数据对象,它 的值在程序执行期间可以改变。
•程序单元中的每个Fortran 变量有唯一的名字, 变量名是内存中特定位置的标号,该标号方便 人类记忆和使用。Fortran 95 中的变量名可以 长达31 个字符,由字母、数字和下划线字符的 任意组合构成,但是名字的第一个字符必须是 字母。 •编程时,给变 量取有意义的名 字
Fortran95/2003程序设计
第二章 Fortran 基础知识
本章学习目标: • 了解Fortran 中的合法字符 • 了解Fortran 语句和Fortran 程序基本结构 • 了解可执行和不可执行语句之间的区别 • 了解常量与变量的区别 • 理解INTEGER、REAL 和CHARACTER 数据类 型的区别 • 掌握默认和显式类型说明的不同,理解为什么 总该使用显式类型说明 • 了解Fortran 赋值语句的结构
type , PARAMETER name=value [, name2= value2 , ...]
type 是常数的类型(整型、实型、逻辑型或字符型)
CHARACTER, PARAMETER :: ERROR MESSAGE= 'Unknown error!'
2.6 赋值语句和算术运算
variable name = expression i=i+1
•Fortran 有5 个自带或"内置"的常数和变量数 据类型,其中三个对数字有效(INTEGRE, REAL 和COMPLEX) ,一个是逻辑的(LOGICAL) ,还 有一个是字符串组成的(CHARACTER) •除内置数据类型以外, Fortran 允许程序员定 义派生数据类型(derived data type)

_fortran-第二章 fortran基础知识

_fortran-第二章  fortran基础知识

•Fortran 中有下列标准算术操作符:
+ * / ** 加法: 减法: 乘法: 除法 指数运算: a+b a-b a*b a/b a**b
•注意:
•两个操作符不可以连续出现。a*+b •乘法符号不能省略。 a(x+y) •圆括号把一组数据项按要求组合在一起。 2.6.1 整型运算 整型运算的结果始终是整型。如3/4=0, 4/4=1, 5/4=1, 9/4=2
一些内置函数
2.8 表控(list-directed)输入和输出语句
输入语句( input statement) 从输入设备读入一个或 多个数值,并将其存储到指定的变量中。输入设备 可以是交互环境中的键盘,或批处理环境中的磁盘 文件。输出语句( output statement) 写一个或多个 数值到输出设备。输出设备可以是交互环境的显示 屏幕,或批处理环境的输出设备。
没有初始化的变量可能带来 严重问题!
有三种方法初始化变量: 赋值语句、READ 语句和类型声明语句中的初始化。
2.10 IMPLICIT NONE 语句
•IMPLICIT NONE 语句出现在类型声明语句之前。
•IMPLICIT NONE 语句使默认类型功能丧失。
•当程序含有IMPLICIT NONE 语句,没有显式类型 声明语的变量被认为是错的。
2.5.4 默认和显式变量类型 •有两种方法可以定义变量的类型:默认式和显 式。 •如果在程序中没有明确指定变量类型,那么就 是默认式定义变量类型:
任何以字母i,j,k,l,m,n 开头的变量名假 定为整型,其他字母开头的变量名则 假定为实型。
•这一类型默认习惯从1954 年FORTRAN I 就开始启用。注意, 默认情况下没有变量的类型为CHARACTER,因为在 FORTRAN 1 中不存在该数据类型!

fortran基本语法

fortran基本语法

fortran基本语法Fortran是一种高级编程语言,它的全称是Formula Translation,最初是为数学和科学工作者设计的。

它的语法简单易学,特别适合数值计算、科学计算、工程计算和数据处理等领域。

本文将介绍Fortran的基本语法。

1.程序结构Fortran程序由一系列语句组成,每个语句占一行。

程序的执行顺序是从上到下、从左到右。

程序中可以包含注释,注释以“!”开始,直到行末为止。

Fortran程序通常由三个部分组成:程序头、主程序和子程序。

程序头包含程序的名称、作者、日期等信息。

主程序是Fortran程序的核心,它包含了程序的主要计算过程。

子程序是主程序的辅助程序,在主程序中可以调用子程序完成某些计算任务。

2.变量和常量Fortran中的变量是用来保存数据的,变量的类型可以是整数、实数、字符、逻辑等。

变量名必须以字母开头,长度不超过31个字符。

变量的赋值使用符号“=”,例如:a = 10b = 3.14c = 'Hello, World!'Fortran中的常量是指在程序执行期间不会改变的值,常量可以是整数、实数、字符、逻辑等。

Fortran中的常量可以使用以下符号表示:整数常量:例如5,-10等。

实数常量:例如3.14159,-2.5E-3等。

字符常量:例如'Hello, World!','A'等。

逻辑常量:例如.TRUE.,.FALSE.等。

3.运算符Fortran中的运算符包括算术运算符、逻辑运算符和关系运算符。

算术运算符:加:+减:-乘:*除:/幂:**逻辑运算符:非:.NOT.与:.AND.或:.OR.关系运算符:等于:==不等于:/=大于:>小于:<大于等于:>=小于等于:<=4.控制结构Fortran中的控制结构包括分支结构和循环结构。

分支结构:IF语句:根据条件执行不同的语句。

IF (a > b) THENPRINT *, 'a is greater than b'ELSEPRINT *, 'b is greater than a'END IFSELECT CASE语句:根据表达式的值执行不同的语句。

第2章 Fortran95程序设计基础

第2章 Fortran95程序设计基础

n代表整数部分,m代表小数部分,不允许出现非 数值字符(如逗号、顿号和空格等)。
实型常量
对于实数,通过实型kind值确定实数的存储空 间大小、取值范围和最大有效位数(精度)。 实型kind值有两种4、8(缺省值为4)分别 表示单精度实数和双精度实数 。
实型常量
【例2-4】 判定下列实数,哪些是合法实数?哪些是非法 实数?说明原因。
% & < > ? $ _ 空格(Tab)
Fortran95的字符集
Fortran的源程序就是上述字符及符号按照词法、 语法和语义的规定对算法的描述。
在编写源程序时需要注意的是:
(1)除字符型常量外,源程序中不区分字母的大小 写,如语句 “ReaL a” 和 “real A”是等价的。 (2)字符集以外的可打印字符,只能出现在注释、 字符常量、字符串编辑符和输入输出记录中。
空间
字符类型可以表示的东西非常广,从键盘输入的 任何内容,不论是数字、字母、文本或任何特殊符号 都可以。
教材附录A的ASCII字符集里的字符就是这个类型
所能表示的所有字符。
逻辑类型 (logical)
表示逻辑判断的结果 ,只能有两种值:
“是”(true)
“否”(false) 也可以翻译成“对”、“错”,或 “真”、“假” 等等。
程序设计基础
——Fortran 95
第二章 Fortran95 程序设计基础 本章将介绍:
•字符集、标识符和关键字
•程序的书写格式
•数据类型
•常量和变量
•算术运算符和算术表达式 •标准函数
学习目标:
了解字符集、标识符和关键字
了解程序的固定书写格式
掌握程序的自由书写格式

FORTRAN程序设计第二章

FORTRAN程序设计第二章
注意: 不允许使用超过6个字符的标 注意:FORTRAN77不允许使用超过 个字符的标 不允许使用超过 识符,FORTRAN90不允许使用超过 个字符的标 不允许使用超过31个字符的标 识符 不允许使用超过 识符
标识符的使用
(1)表示程序中的变量名、程序名、函数名和符号常 表示程序中的变量名、程序名、 量 (2)标识符中大小写是等价的 ) (3)标识符中的空格不起作用 ) (4)内部函数名、语句关键词等都可以用作标识符, )内部函数名、语句关键词等都可以用作标识符, 尽量不要用这些作为标识符 SIN=3.0 READ=10.5 (5)在给标识符起名时,应考虑所代表对象的含义 )在给标识符起名时,
FORTRAN常量 2.1 FORTRAN常量
常量:在程序运行过程中,其值不改变的量 直接常量 符号常量
直接常量: 直接常量:指数据本身就是一个常量 1. 整型常量(整型常数或整数) 包括正整数、负整数和0 除正负号外,其他符号一律不能出现在整 型常量中 10.0000, 3+2, 78*31, 1/3 (×) 1E-2
(2)指数形式 指数形式由数字部分 指数部分组成 数字部分和 组成。 指数形式由数字部分和指数部分组成。
± a.bE ± c或 ± a.be ± c
数字部分可以是不带小数点的整数, 数字部分可以是不带小数点的整数,也可以是带 可以是不带小数点的整数 小数点的实数。 小数点的实数。 注意:指数不能为小数; 注意:指数不能为小数;E左右两边的数字部分和 指数部分必须同时出现, 指数部分必须同时出现,指数部分不能单独用来代 表一个常数。指数部分不能省略。 表一个常数。指数部分不能省略。 例如:3E5.6、8.6E-3.7、E12、12.3*E8、1.02E均非法。 均非法。 例如:3E5.6、8.6E-3.7、E12、12.3*E8、1.02E均非法 +12.3E+08、12.3E8、0.91E-30、3E5、等合法。 +12.3E+08、12.3E8、0.91E-30、3E5、等合法。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.3 空格的使用
• 在Fortran 90/95标准中,空格不能出现在语句和变量名中间;除 了在字符串常量或是输入输出中外,不代表任何具体意义。其主 要作用是分隔语句和变量,使代码更为易读。在国外的一些科学 研究和工程设计机构,如美国航空航天局(NASA)等,在开发科 学计算程序时对空格的使用有一些很好的规定。 在程序中要确保不在Fortran定义的语句或变量名中出现空格,不 要尝试通过空格来对变量名进行区别; 在编写公式时,尽量通过空格来使公式的书写和阅读更为清晰易 懂; 在编写大段代码时,可以使用整行的空格来对代码段进行功能划 分。 建议在编写程序时,尽量遵守这些规定。下面来看一段使用空格 来确分四则运算的实例,先给出不使用空格进行区分的范例: Y=X+A*B/C-(0.5+C*D)**2
2.6 程序单元和语句顺序
• 程序单元是程序中的基本组成部分,了解程序单 元的用途可以加深对计算机程序的理解。本节主 要介绍Fortran程序中的程序单元和句顺序的基本 概念及相关规定。Fortran中的程序单元分为两大 类:可执行程序单元和不可执行程序单元。 • 可执行程序单元,在程序中主要用来执行一个完 整的功能。可执行程序单元主要包括以下三种: 主程序单元、外部函数子程序单元和外部子例行 子程序单元。 • 不可执行程序单位,在程序中主要用来为其他程 序单元提供定义。不可执行程序单元有两种:模 块程序单元和数据块程序单元。

• •

2.2 字符集
• “字符集”是指能够用于编写Fortran程序的所有字符及符号。不 是所有的外文字母或数字符号都能被某一高级计算机语言接受, 每一种高级计算机语言都会规定它所能使用的字符。Fortran中允 许使用的基本字符主要分为两大类:文字字符和特殊字符。文字 字符主要包括26个英文字母、10个自然数字和下划线。如表所示。



• •
2.1.3 兼顾两种格式的代码写法
• 由于现存大量旧的Fortran代码(Fortran 77程序)都是采用固定 格式编写的,在一些编译器上可能会由于格式的问题而出现编译 错误。因此,有必要提供一种能够兼顾两种格式的代码写法,以 便于将固定格式的代码转换为符合自由格式要求的代码。能够兼 顾两种格式的代码在书写时需要注意的要点有以下几条: 开始列。除注释行外的每一行代码只能从第7列开始编写。这主要 是由于自由格式中并没有规定代码编写的起始列,因此可以套用 固定格式的规定。 注释行。标明注释行的符号只能用感叹号“!”,并且应该写在第 一列。注释行必须单独占一行,不能出现其他语句的行尾。 续行方式。续行标志只能使用符号“&”。在接续的两行中,前一 行应该在72列后、132列前添加续行标志;后一行则应该在第6列 书写续行标志。 空格使用。在Fortran 90/95标准中,语句和变量中间不允许出现 空格。因此,兼顾两种格式的源代码中也不允许在语句和变量中 出现空格。
2.1.1 固定格式(Fixed )
• 采用固定格式书写的Fortran源代码,文件扩展名 为*.F或*.FOR。在固定格式中,Fortran标准规定 了若干个列范围。每一个列范围都有自己的用途 和约定,程序必须严格按照这些约定进行编写。
2.1.2 自由格式(Free Format)
2.1 程序书写格式
• 在1.6小节中,程序HELLO已经展示了Fortran的一 种源代码书写格式,即自由格式(Free Format), 这种格式是Fortran 90/95标准中的一大特色。同 Fortran 77标准中的旧格式,即固定格式(Fixed Format)相比,取消了在源代码书写上的诸多限 制,程序编制起来更为灵活。两种格式书写的源 代码通过文件扩展名来进行区别。
• • • • •
2.4 注释格式
• 尽管注释在编译过程中是一定会被编译器忽略的,但却是 源代码文件中十分重要的一部分。因为注释是保证源代码 具有可读性的一个非常重要的手段。在不同的高级计算机 语言中,表示注释的方法各有不同,甚至在一种语言里, 也可能有几种引入注释的方法。不同的注释方法各有优缺 点,在使用中应该根据实际情况进行选择。 • 在C语言程序中,需要使用“/*”和“*/”这样的特殊标 记来界定注释的内容而不管行边界。采用这种方式进行注 释时经常出现的错误就是漏掉结束的界定符,使得后面的 语句也变成了注解;好处也很明显,就是能够方便的实现 代码的块注释。 • 而Fortran 95语言中的“!”,Ada语言中的“-”,或是 C++语言中的“//”,注释都是在行的任意位置开始直到行 的末尾结束。这种做法更为合理、不容易出错,但要实现 大段代码的整体注释就不是特别方便了。
• 采用自由格式书写的Fortran源代码,文件扩展名为*.F90。自由格式是Fortran 90标 准中的一大特色,废除了固定格式中的许多限制。它并不规定程序代码中每一行第几 列字符的具体作用,在源代码的编写上显得相当自由。同固定格式相比,自由格式主 要在以下几个方面进行了改进。 行的定义。在自由格式中每行可以书写132个字符。程序语句的位置没有了只能从第7 列后开始书写的固定约定,可以在任意一列开始书写。同一行中可以顺序书写多条程 序语句,语句之间用分号“;”进行分隔。 注释行的定义。在自由格式中,惊叹号“!”后的字符均被视为注释。但是,字符串 中的“!”出外,如“PRINT *, ‘Hello! Fortran 90/95’”中,“Fortran 90/95’”不会被认为是注释。 续行的定义。在Fortran 90/95标准中规定,当程序代码中的一行超过132个字符时, 至多可以有39个续行。续行标志固定为“&”。当一行代码的最后一个字符为“&”时, 则表示下一行与本行接续;当一行代码的第一个字符为“&”时,则表示本行与上一 行接续。 行号的定义。在Fortran 90/95标准中规定,行号只需写在代码行的最前面即可。 空格的应用。Fortran 90/95标准中规定,语句和变量名中间不能有空格。例如,关 系运算符“==”不能写成“= =”;“ABS(-2.0)”与“AB□S(-□2.0)”作用不再相 同,“AB□S(-□2.0)”不能正常通过编译。
第2章 Fortran语法基础
• Fortran从诞生至今,已经走过了长达50余年的发 展历程中。在这一发展历程中,相关的语言标准 先后制定了5部。具体的语法也随着标准的变更而 变化着。在每一个新标准中,前一个标准中的一 些旧语句、语法或是被废弃、或是建议减少使用, 如Fortran 90标准中就建议减少使用“COMMON” 语句;或者新增了一些新的语句,如Fortran 95 标准中的“FORALL”语句。本章将主要介绍 Fortran的基本语法。
2.5 命名方式
• 在Fortran中为对象命名有一定的要求。简单的说, Fortran 77的命名要求和Fortran 90/95的命名要求是不同 的。本节主要介绍不同标准下的命名方式。 • 在Fortran 77标准中,程序和变量等对象的名字是由不多 于6个字符(包括英文字母A-Z、a-z和数字0-9)组成的字 符段。同时,对象名字的第1个字符必须是字母,名字的有 效使用范围原则上仅限于一个程序单元之中(内部过程除 外)。下面的代码段演示了Fortran 77标准的对象命名方 式。 • INTEGER 0B !错误 • INTEGER C-10 !错误 • REAL sin !正确 • REAL test:real !错误
相关文档
最新文档