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-第一讲--第一章

1.3.1 声明部分


声明由不可执行语句组成 位于程序开头 定义程序名和程序引用的数据以及变量类型
PROGRAM语句用来指定程序的名字 程序名最长可达31个字符 由字母、数字和下划线任意组合而成 第一个字符必须是字母 如果存在PROGRAM语句,它必须是程序的第一个语句行 例:下列程序名是否有效,如无效则说明原因 new_program 3rd
无效的实数表示: -12.0E1.5

下列各组数在计算机里表示的值是否一样 4650. 4.65E+3 -12.71 -1.27E1 0.0001 1.0E4 3.14159E0 314.159E-3
1.5.3 字符类型



字符类型由字符串组成 字符常数是由单引号或双引号括住的字符串 在单引号或双引号之间括起来的部分称为字符文本, 字符文本可以采用任意计算机可以表示的字符,而 不受Fortran字符集限制 如果字符文本中含有单引号该怎么办?

这一转换仅仅是指参与操作的两个操作数类型 分别为实数和整数而言
表达式
1 2 3 1+1/4 1.0+1/4 1+1.0/4
结果
1 1.0 1.25
因为混合运算的情况是如此复杂,所以我们在程序中要尽量避免这种情 况发生
练习
下面的程序段的三个赋值语句是否正确,正 确写结果,错误说明原因 INTEGER :: i,j INTEGER, PARAMETER :: K=4 i = K **2 j = i/K K=i+j
简单地说:学完本章,你应该可以编写除函数以外的简单程序
1.1 Fortran字符集
正如英语的学习从abc开始,Fortran的学习 也是从字符集开始

fortran语言教程第3章

fortran语言教程第3章

第3章顺序结构设计本章介绍数据输入/输出语句及其他基本语句,简单介绍顺序结构及程序设计的基本步骤,书写简单程序。

3.1 变量的赋值变量代表计算机内存中的存储单元,它可以接收外部设备输入的数据,也可保留运算器的运算结果,还可以被送到外部设备输出。

FORTRAN语言要求变量必须被预先赋值,然后才能被使用,并提供了下面几种为变量赋值的方式,因此,程序中的变量都应该在使用之前用下列方式之一获得数据。

3.1.1 赋值语句1)赋值语句的格式和功能语句的格式:变量 = 表达式语句的功能:将一个表达式的计算结果值赋给一个变量。

关于赋值语句的说明:(1)赋值语句是执行语句。

(2)赋值语句中的“=”号叫做“赋值号”,它的作用是将其右边的表达式的结果赋给其左边的变量,即将表达式的值放入变量对应的内存单元中,因此,赋值号的意义是带有方向性和动作性的。

例如“A=5.5”的作用是将5.5 送到变量A对应的内存单元中。

(3)赋值语句兼有计算和赋值双重功能。

即先计算出表达式的值,然后将该结果赋给一个变量。

例如“N=N+1”的作用是用N的当前值加上1后再送入N中,假设N的当前值是5,则执行N=N+1后,N的值为6。

(4)根据赋值语句的功能,由于赋值号的方向性特性,赋值号左边只能是变量,以便提供一个获得数据的空间。

因此,“A=B”和“B=A”具有完全不同的意义,前者表示将B中的数据送入A中,后者表示将A中的数据送入B中。

语句“X+Y=10”是错误的,因为在内存中找不到名字为X+Y的变量。

2)执行赋值语句时的类型转换问题执行赋值操作时,被赋值的变量和表达式的类型可以相同,也可以不相同。

FORTRAN语言作如下规定:(1)变量与表达式的类型相同,则将表达式的结果直接赋值。

M=4 (变量M和4都是整型)A=3.5*SIN(X)(变量A和表达式3.5*SIN(X)都是实型)(2)如果类型不同,则应先进行表达式的计算,然后将该表达式的值转换为被赋值变量的类型。

第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中的程序单元分为两大 类:可执行程序单元和不可执行程序单元。

第二章Fortran程序设计基础

第二章Fortran程序设计基础

方括号内的部分是可选的,END 语句是唯一 必须的,表示程序编译到此结束。
END 语句中的程序名可以省略,但若出现程 序名,必须同时出现 PROGRAM 关键字。
对于可选部分,如果缺省,则按照约定(隐 含)规则进行
二. 语句
语句是 Fortran 程序的基本单位,一条语句可包含0-132个字符。 Fortran77规定,一条语句的不同部分应从特定的列开始,这样的
MASS,rate,Npts,I9J7,Time_Rate,
有下列几点值得注意: (1)只能以字母开头(3M,_Right 为无效标识符); (2)不能含有空格字符(Time Rate为无效标识符); (3)不区分字母大、小写(Vel,VEL,vel 为同一标识符); (4)长度限定为31 个字符(Fortran 77 为6个字符); (5)避免与关键字、标准例程重名。
::表示在变量声明数据类型的同时,给变量赋初值
2 整型常量
整型常量的一般形式为:
[s]n[_k]
其中:s代表正负号;n为 0~9 的十进制(前导0被省略); k 指种类参数; n 和 k之间为一下划线。
文字整型变量,其种类参数取缺省值; 也可显式声明种类参数,例如:-7_2
二. 实数类型 1 实型变量
书写格式称为固定格式,相应的程序文件扩展名为.f 或.for; Fortran 90 无此限制,自由格式,相应的文件扩展名为.f90。 除赋值语句外,所有的语句都从一个关键字开始。例如:
例2-1 中出现的关键字:PROGRAM、REAL、PRINT和END。
一般情况下,每行一条语句。 若一行有多条语句,它们之间以分号间隔。 可以将几条简单的赋值语句写在一行上,例如:
四. 注释

Fortran基础

Fortran基础

简单的Fortran程序 程序 简单的
program ex0413 character (len=20) string string = "Good morning." write(*,*) string string(6) = “evening.” ! 重新设置从第 个字符之后的字符串 重新设置从第6个字符之后的字符串 write(*,*) string end 执行结果为: 执行结果为: Good morning Good evening
简单的Fortran程序 程序 简单的
二、声明语句
1、变量 、 变量 — 程序运行期间其值可以改变的量 例如: 例如:x=1.0 x=2.0 2、变量名 、 规则:以英文字母开头,英文字母和数字0-9以及 规则:以英文字母开头,英文字母和数字 以及 下划线的组合。 下划线的组合。 变量的名字最好是取成一个有意义的英文单词, 变量的名字最好是取成一个有意义的英文单词,这样 可以减少程序编写时出错的机会。 可以减少程序编写时出错的机会。
简单的Fortran程序 程序 简单的
② 改变隐含约定 可以经过IMPLICE描述来决定哪些字母开头的变量会自动 描述来决定哪些字母开头的变量会自动 可以经过 使用某种类型。 使用某种类型。 implicit integer(A,B,C) !A、B、C开头的变量都视为整型数。 开头的变量都视为整型数。 、 、 开头的变量都视为整型数 implicit integer(A-F,I,K)!A到F及I、K开头的变量都视为整型 ! 到 及 、 开头的变量都视为整型 数。 implicit real(M-P) !M到P开头的变量都视为浮点数 到 开头的变量都视为浮点数 implicit none !关闭默认类型功能,所有变量都要事先声明。 关闭默认类型功能,所有变量都要事先声明。

fortran教程.ppt

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语言则要用多重循环

fortran基础第3章

fortran基础第3章
第三十一页,共62页。
(3)复型数据(shùjù) 由于复数在内存(nèi cún)中是 以两个实数的存储单元存储的,在 输入输出时,以两个实数的编辑符 来提供复数输入输出的格式。
第三十二页,共62页。
(3)复型数据(shùjù)
例题(lìtí): COMPLEX::A READ (*,100)A PRINT 200,A
第五页,共62页。
对一行(yīxíng)语句的说明:
➢ 一行可由0~132个字符组成 ➢ 可以有注释语句(以!开始),可以单
独占一行,也可以在某个语句后面。 ➢ 可以有续行语句(以&开始),当它出
现在一行末尾,则表示下一行是该行的 继续,若不仅(bùjǐn)末尾有&符,而且 下一行第一个字符也是&符,则表示是 关键字分离。看P26的例子
(2) 实型数据(shùjù)
【例】分析(fēnxī)下面程序段: A=15.8;B=-756.567;C=870.2 PRINT 100,A,B,C
100 FORMAT(1X,E15.6 ,E12.4,E9.3 )
这里1X作为(zuòwéi)纵向走纸控制符,若没有这 个编辑符,则数据中第一个字符将被“吃掉”。 请同学注意:任何带格式输出的语句,第一个编 辑符一定是1X。
若W>L,在字符前面(qián mian)添加WL 个空格;
若W<L,只输出最前面(qián mian)的W 个字符 。
第三十八页,共62页。
(5)字符(zìfú)型数据
【例】 CHARACTER(LEN=5)::STR1 READ(*,100)STR1 PRINT 200,STR1
第十九页,共62页。
3.4.1 格式(géshi)编辑符

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教程格式输入输出
10 FORMAT(1X,I4,F5.1) WRITE(*,10) 2345,67.8
格式阐明包括3种编辑描述符X,I和F。分别用I4和F5.1来控制 2345和67.8旳输出格式,1X也有特定旳用途。 格式阐明语句能够放在程序单位语句(主程序语句 PROGRAM,子程序语句FUNCTION或SUBROUTINE)之 后,END语句之前旳任何位置。
READ(*,10)A,B
10 FORMAT(F7.2,F6.1) 语句执行时,如从键盘输入123456□726.89,则A、B旳值分 别为12345.6和726.89。
当输入旳是指数形式时,假如E前面旳数字部分具有小数 点,则d不起作用。假如数字部分不具有小数点,则自动 按d决定数字部分小数点旳位置。
n FORMAT(格式阐明)
其中n是语句标号,FORMAT语句一定带有语句标号, 以便同格式输入输出语句配合使用。格式阐明由若干个 编辑描述符构成,编辑描述符之间用逗号分隔。例如
10 FORMAT(1X,I4,F5.1)
格式阐明语句是非执行语句,它只是给输入输出语句提 供数据旳格式描述。在程序运营过程中,由输入输出语句根 据格式阐明语句提供旳数据格式描述,实现数据旳格式控制。 单独旳格式阐明语句在程序中不器任何作用。例如
2. WRITE语句
WRITE语句旳一般格式是:
WRITE(u, f) 输出项
其中u是设备号,用于指明详细使用旳输入输出设备。u能 够是一种无符号整常量,也能够是一种整型变量或整型体 现式,还能够是星号*。*表达由计算机系统预先约定旳外 部设备,一般为显示屏。
f 是格式阐明符,指明了输入输出所用旳格式。它也有 三种形式,使用方法与PRINT语句相同。
WRITE(*,10)128.433,-0.0008

Fortran课件第一章

Fortran课件第一章
当 P 为真(T)时 A A P F T
当型循环传统流程图
当型循环 N——S 图
b) 直到型循环——先执行循环体 A 块一次; P 为假 当 (F) 时,反复执行循环体 A 块;当 P 为真(T)时,退出循环 体 A 块,流程转到下面的语句。注:也可以让 P 为真时, 执行循环,P 为假时,退出循环。
三、结构化程序设计方法 结构化程序设计方法,就是结合计算机语言的特点,把算法结 构化的程序设计方法。具体说来,就是规定一些基本结构,由基 本结构来组织更复杂的算法。 结构化程序设计方法中的三种基本结构:1)顺序结构,2)选 择结构,3)循环结构。 1) 顺序结构——顺序执行 A 块和 B 块。
A B A B
例 fortest101.f90
! Free Format Demo program main writቤተ መጻሕፍቲ ባይዱ(*,*) „Hi‟ write(*,*)& „John‟ write(*,10) 10 format(„Fine!‟) stop end program main
注释:程序 fortest101.f90 中,第一行有感叹号“!,说明“! ” ” 之后且同行的文本为注释部分;第四行程序代码后面的“&” ,说 明第五行“„John‟”是它的继续行;第七行的格式语句的标号“10” 写在前面。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 . . . ... 72 73 C F I X E D F O R M A T p r o g r a m m a i n w r i t e ( * , * ) „ H i „ w r i t e ( * , * ) # „ J o h n „ w r i t e ( * , 1 0 ) 1 0 f o r m a t („ f i n e ! „ ) s t o p e n d Fortran 源程序必须包含且只能包含一个主函数(program 主 函数名…end 或 program 主函数名…end program 主函数名) 。 Fortran 程序由主函数开始执行,由主函数调用其他函数,最后返 回主函数结束。

FORTRAN90程序设计教程 第1章 FORTRAN程序设计基础

FORTRAN90程序设计教程 第1章 FORTRAN程序设计基础

例1.1 求
其中
2
x y u x y
2
a b x 2 2 a b
ab ab
a b a b y 4 a b
ab ab
这一题的算法并不难,可写成: (1)从键盘输入a、b的值。 ab x a b ,y (2)如果a<b,则 ab , 4 x a b , y 否则 。 ab (3)计算u的值。 (4)输出u的值。
3. N-S图
由于传统流程图的缺点,1973年美国学者 I.Nassi和B.Shneiderman提出了一种新的流程图工 具─N-S图。N-S图以三种基本结构作为构成算法 的基本元素,每一种基本结构用一个矩形框来表 示,而且取消了流程线,各基本结构之间保持顺 序执行关系。N-S图可以保证程序具有良好的结 构,所以N-S图又叫做结构化流程图。
例1.3的算法:
(1)输入m和n的值。 (2)求m除以n的余数r。 (3) 若r=0 ,则转至第 (6) 步,否则执行第 (4) 步。 (4)n→m,r→n。 (5)转第(2)步。 (6)输出n。
算法的五个特征:
(1) 有穷性。算法中执行的步骤总是有限次数的, 不能无止境地执行下去。 (2) 确定性。算法中的每一步操作必须具有确切 的含义,不能有二义性。 (3) 有效性。算法中的每一步操作必须是可执行 的。 (4) 要有数据输入。算法中操作的对象是数据, 因此应提供有关数据。 (5) 要有结果输出。算法的目的是用来解决一个 给定的问题,因此应提供输出结果,否则算法 就2没有实际意义。
1.2.2 算法的描述
算法的描述有许多方法,常用的有:自 然语言、一般流程图、N-S图等。前面例 1.1~例1.3的算法是用自然语言──汉语描述 的,其优点是通俗易懂,但它不太直观, 描述不够简洁,且容易产生二义性。在实 际应用中常用流程图表示算法。

第2章 Fortran95程序设计基础

第2章 Fortran95程序设计基础

字符类型 (character)
计算机除了存储数值型数据之外,也可以在内存中存放 一段文本。 字符型数据的表示形式: 用一对单引号或双引号括起来。
如: ‘a‟
“hello!”
只有一个字母或符号时称为“字符”, 有一连串(多个)的字符时,就称为“字符串”。
字符类型 (character)
存储1个字符需要1个字节的存储空间 存储n个字符长度的字符串则需要n个字节的存储
掌握五种内部数据类型常量的合法表示方式 掌握变量的表示形式和变量的三种定义方法。
掌握算术运算符和算术表达式的运算顺序
了解标准函数,并掌握部分常用的标准函数。
Fortran95的字符集
字符集就是编写源程序时能够使用的全部字符及 符号的集合。包括: (1)英文字母a-z及A-Z (2)阿拉伯数字0-9 (3)22个特殊字符 = + - * / ( ) , . : „ “ ! ;

固定格式
每行80个字符,分成四个区:

第1~5列为标号区。第1列为C或*,说明此行为注释行。
第6列为续行标志区。续行标志是除空格和零以外的任何
FORTRAN 字符。 第7~72列为语句区。语句可以从第7列以后任何位置开 始书写。但一行只能写一个语句。 第73~80列为注释区。


备注:Fixed Format(固定格式)是传统的书写方式,对于 书写内容应在那一行的那一列上都有严格规定,过于刻板。
字节数 1 2 4 8
超出此范围,则会发生溢出错误。
实数类型(real)
实数又称为浮点数(floating-point number)。 实行数据有两种类型: 单精度型 双精度型。 数值都是近似值,而且有误差累计。

FORTRAN语言自学基础

FORTRAN语言自学基础

《FORTRAN语言》自学提纲第一章1 FORTRAN基础1. 一个FORTRAN程序由一个主程序或一个主程序与若干个子程序组成。

但一个完整的FORTRAN程序只能有一个主程序,主程序的第一个语句是PROGRAM语句,用以说明主程序的名称。

这个语句也可以省略,省略时默认为主程序的名称为MAIN。

2.FORTRAN的子程序主要有三种:⑴函数子程序,其第一个语句为FUNCTION;⑵子例行子程序,其第一个语句为SUBROUTINE;⑶数据块子程序,其第一个语句为BLOCK DATA。

主程序与各个子程序可以独立编译,最后再链接成一个可执行程序。

在编写并输入一个FORTRAN程序时,既可以将主程序与各个子程序存放在一个文件中,也可以将它们分别存放在不同的文件中。

但必须注意,主程序与各个子程序都是独立的程序单位,每个程序单位的最后一行必须用END语句作为结束。

在主程序中,虽然END语句还具有使程序停止运行的作用,但由于一个程序单位只能在最后一行有END语句,因此,在程序的其它位置处需要停止运行时,只能用STOP 语句,不能用END语句。

同样的道理,在子程序中,虽然END语句还具有使程序流程返回到调用程序的作用,但在子程序的其它位置(不是最后一行)需要返回到调用程序时,只能用RETURN语句,不能用END语句。

3.FOPTRAN源程序的书写格式有严格的规定。

⑴一行中第一列为“C”或“*”时,该行被认为是注释行。

注释行可以写在四个区中的一个区,且注释行可以出现在程序单位的任何位置。

但注释行不能有续行,需要时可以将连续若干行都定义为注释行。

⑵FORTRAN语句部分不能占用标号区及续行标志区,只能从第七列开始。

当语句太长时,可以使用续行。

在继续行的标号区内必须为空白(即继续行不允许有标号),标号只能出现在起始行上。

⑶起始行与继续行或各继续行之间的空格不起作用,因此,对于一般的语句,可以不必到72列才转为继续行,继续行也不必一定要从第7列接着写,但是,包括在引号内的字符串中的空格是有效的,因此,对于字符串要使用继续行时应特别注意,最好写到一行的72列时再转为继续行,且要从继续行的第7列接着写。

fortran教程

fortran教程
第二节 赋值语句
1、赋值时,自动进行类型、种别转换。对逻辑型、字符型要求类型 一致。字符型要求种别一致。
2、复型常数形式:(a,b)。 3、类型转换函数:
INT(X), INT(X,KIND), REAL(X), REAL(X,KIND), CMPLX(X,Y), CMPLX(X,Y,KIND)。 4、对数组所作的基本函数操作相当于对数组内每个元素施加该操作。 5、不同种别参数的数据运算时,结果取决精度或允许值范围较大的 那个种别参数。
对字符型常数,用前缀法,即把种别参数放在前,再加下划线,再跟字符常数。如 5_'a bc'。
6、属性 a.常数名属性。如:INTEGER,PARAMETER::Y=12 说明 Y 为常数,在 程序中不能改变其值。 b.数组属性。如:INTEGER(KIND=2),DIMENSION(-3:10)::X 说明 X 是数组(-3:10)。 c.意图属性。只用于子程序中。如: INTEGER.INTENT(IN)::X 说明 X 用来传入。 INTEGER.INTENT(OUT)::X 说明 X 用来传出。 INTEGER.INTENT(INOUT)::X 说明 X 先传入值,再传出。 d.没有属性的只是基本变量。
2、写语句 WRITE (部件号,格式说明)输出表 PRINT 格式说明,输出表 PRINT *,输出表 WRITE (说明符 1,说明符 2,...,说明符 n)输出表
3、表控格式 a.输入复数时要加括号。 b.当需要输入几个连续无效值时,可输入 r*,r 是重复系数。若某 个数以后的所有数都无效,可用/表示。如: 2.1,2*,5.1 2.1,3.1/ c.输出时一般每个数占 16 列,靠右对齐,左补空格。
在形状描述中要指明上下界,可以有变量。如分配成功,STAT 赋零,出错则大于零。 c. 释放语句 DEALLOCATE(数组名,数组名,...[,STAT=变量名]) 第五章 过程

fortran 简明教程

fortran 简明教程

fortran 简明教程Fortran是世界上最早的高级程序设计语言之一,广泛应用于科学计算、工程和数值分析等领域。

以下是Fortran的简明教程:1. 程序结构:一个Fortran程序由不同的程序单元组成,包括主程序、子程序和模块等。

每个程序单元都以END结束。

主程序是程序的入口点,可以包含变量声明、执行语句和控制语句等。

子程序可以包含函数和子例程,用于执行特定的任务。

模块用于提供程序中的公共代码和数据。

2. 变量声明:在Fortran中,变量必须先声明后使用。

变量类型包括整数型、实数型、字符型等。

例如,声明一个整数型变量可以这样写:INTEGER :: x3. 执行语句:执行语句用于控制程序的流程和执行顺序。

Fortran提供了多种控制语句,如IF语句、DO循环、WHILE循环等。

例如,使用IF语句进行条件判断:IF (x > 0) THEN y = x x ELSE y = -x x END IF4. 输入输出:Fortran提供了基本的输入输出功能。

可以使用READ语句从标准输入读取数据,使用WRITE语句将数据输出到标准输出。

例如,读取一个实数并输出到屏幕:READ(,) x WRITE(,) x5. 数组和矩阵:Fortran支持一维和多维数组,以及矩阵运算。

例如,声明一个二维实数数组并赋值:REAL :: A(3,3) A =RESHAPE((/1,2,3,4,5,6,7,8,9/), (/3,3/))6. 子程序和模块:子程序可以用于封装特定的功能或算法,并在主程序中调用。

模块可以包含公共的函数、子例程和变量等,用于提供可重用的代码和数据。

7. 调试和优化:Fortran提供了多种调试工具和技术,如断点、单步执行、变量监视等。

还可以使用性能分析工具来检查程序的性能瓶颈并进行优化。

以上是Fortran的简明教程,希望能帮助您快速入门Fortran编程。

FORTRAN语言程序设计入门到精通

FORTRAN语言程序设计入门到精通

5.6.2 常量
整型、实型、复型常量是一个代数值;逻辑型常量是一个逻辑值 (.true.或.false.);字符型常量是一个字符串。以上常量均以书写方式确 定其类型。
5.6.2.1 整型常量
整型常量表示普通代数中的整数。
十进制整型常量的一般形式:±n[ _Kind值]
其中: ±是该整型常量的符号。
5.6.2.5 逻辑型常量 在程序中用以表示某个条件(关系表达式和逻辑表达式)的判别结果。 一般形式:.TRUE. 即为逻辑真(表示判别条件成立)。 .FALSE. 即为逻辑假(表示判别条件不成立)。 例:条件5 > 3的判别结果是.TRUE. ,表示判别条件5 > 3成立。 条件3 < 1的判别结果是.FALSE.,表示判别条件3 < 1不成立。
实型常量表示普通代数中的小数或指数。
1.小数实型常量
一般形式:±n .m
或±n.
或±.m
其中:n、m是十进制数字序列。 n是整数值,m是小数值。
例: 12.0 、0.12 、12. 、.12
2.指数实型常量
一般形式:±n .mE±s 或±n E±s
其中:n、m是十进制数字序列。 n是整数值,m是小数值。
1.2.2 程序设计步骤 1.分析问题 2.建立数学模型 3.选择算法 4.编写程序 5.调试运行 6.分析结果 7.写出程序的文档
第二章 算 法
2.1 算法概述
1.算法:计算机解题的方法和步骤. 2.算法特征: (1)有穷性
一个算法必须总是在执行有限步骤之后结束。 (2)确定性
算法中的每一个步骤应当是确定的,无二义性;相同的输入只能得出相 同的输出。 (3)可行性 算法中的每步骤都是有效地执行。 (4)有零个或多个输入 (5)有一个或多个输出 3.算法的分类: (1)数字运算:用于求数值解,此类算法有现成的模型,运用较成熟. (2)非数字运算:用于非数据处理的一些事务性工作,此类算法面广量大, 要求各异,有一定难度.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
注意几点: ⑴函数自变量(参数)必须用括号括起来。 例: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 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
2016/6/1 32
3.8 Fortran算术表达式
Fortran77提供了四种表达式:
( 1~5 位无符号整数;第1列为“*”或“c‖时,为注释 行)
⑶第6列:续行标志区
(非空格或非零字符;最多19个续行)
⑷7~72列:语句区
(书写语句;一行只能写一条语句)
⑸73~80列:语句注释区
(一般作编号注释)
2016/6/1 12
3.4 Fortran程序的编辑与运行
Fortran PowerStation 4.0集成开发环境 简 介
注:在程序中用到的变量都必须要有确定的值。
2016/6/1 23
3.6 变

3.6.2 变量名 变量名——标识一个变量所用的名字。 命名规则: • 变量名的第一个字符必须是字母; • 在第一个字符后可跟1~5个字母或数字。 例: x,m1,total,k123,…
2016/6/1 24
3.6 变
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
2016/6/1 28
3.6 变

三种类型说明的优先级: 高 类型说明语句(显式说明) implicit语句说明 低 “I~N规则”
2016/6/1
29
3.7 Fortran内部函数
在编制Fortran程序时,经常要用到 一些基本的数学函数,如三角函数、指 数函数、对数函数等。为方便用户, Fortran编译系统已提供了这些函数的 计算程序,需要时即可调用。 Fortran内部函数调用格式: 函数名(自变量)
2016/6/1 16
3.5 常 量
常量——在程序执行期间其值固定不变的量。 Fortran处理六种类型的常量: ⑴整型常量(Integer) ⑵实型常量(Real) ⑶双精度常量(Double precision) ⑷复型常量(Complex) ⑸逻辑型常量(Logical) ⑹字符型常量(Character)
⑵每个程序单位包括若干行
语句行(执行语句和非执行语句行)
非语句行(注释行)
⑶语句前可不设标号,也可根据需要设标号。
⑷各类语句在程序单位中的位置有一定规则。
⑸程序必须按规定格式书写。
2016/6/1 11
3.3 Fortran源程序的书写格式
Fortran77源程序必须按以下格式书写: ⑴每行只能在80列内书写,并把80列分为4个区。 ⑵1~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。超出此范围时为“溢出”错 误。
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
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 15
3.4 Fortran程序的编辑与运行
注:若Fortran程序是由一个主程序文件和若 干个子程序文件组成,则应将各文件添加到 同一项目工作间,分别进行编译,然后连编 和运行项目文件。 七、打开项目文件 选“File‖→―Open‖→在打开对话框文件 类型下拉列表中选“Project Worksp夹中的项目文件。
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‖。(显示程 序执行结果)
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 27
3.6 变

如: Integer abc,xyz real imax,k3 logical a1,kpz ⒊用implicit语句说明 即说明用某一字母开头的变量为指定的类型。 例: implicit integer(a,b),real(k) implicit integer(x-z)

注意几点: ⑴变量名不区分大小写字母。 例:TOTAL,Total,total 代表同一变量 ⑵变量名中的空格不起作用。 例:abc,a bc,ab c,a b c 代表同一变量 ⑶变量名尽量做到“见名知义” AVER、SUM、Imax ⑷允许变量名与语言中具有特定含义的字(“保留字”) 同名。 例:sin,read,open,end,… 建议不要使用fortran中具有特定含义的字作变量名
2016/6/1 5
Fortran语言的特征
Fortran语言的最大特性是接近数学公式的自然描 述,在计算机里具有很高的执行效率。 易学,语法严谨。 可以直接对矩阵和复数进行运算。 自诞生以来广泛地应用于数值计算领域,积累了大 量高效而可靠的源程序。 很多专用的大型数值运算计算机针对Fortran做了 优化。 广泛地应用于并行计算和高性能计算领域。 Fortran 90,Fortran 95,Fortran 2003的相继推 出使Fortran语言具备了现代高级编程语言的一些 特性。
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内部函数
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
普通高校计算机基础教学课程
Fortran语言
(Fortran77结构化程序设计)
说明
• 第一章 算法(略) • 第二章 计算机和计算机程序(略)
2016/6/1
2
第三章 Fortran语言程序设计初步
2016/6/1
3
3.1 Fortran语言的发展概况
相关文档
最新文档