FORTRAN90程序设计
FORTRAN90程序设计1[1]
![FORTRAN90程序设计1[1]](https://img.taocdn.com/s3/m/4d51e420bcd126fff7050be5.png)
程序设计举例
算法
算法是计算机软件中的一个基本概念,它是对解决实际问题的方法和步
骤的描述。设计算法是程序设计的核心,也是编写程序的基础。
正确的算法有以下几个显著特点:
(1)有穷性(flniteness)。 (2)确定性(certainty)。 (3)有效性(effcctivencss)。 (4)有零个或多个输入(input)。 (5)有一个或多个输出(output)。
简单的FORTRAN90程序分析
(6)空格并不是随处都可以使用的,一个像关键字、变量和常量名以 及操作符等的字符,其内部是不能使用空格的,空格会使字符失去其原 有的含义。 (7)FORTRAN90的注释语句是以感叹号为标志的,一行中感叹号后的 所有字符都被编译器作为注释语句而忽略。注释语句可以单独占一行, 也可在程序的其他语句后面出现。在FORTRAN90中,空行被作为注释 语句。 (8)如果遇到一条语句的长度超过了FORTRAN90所允许的行最大长度, 需要写成几行,FORTRAN90提供了一个续行符 ( & ) ,通过在语句末尾 添加续行符,编译器就会把下一行作为续行来处理。如果是把一个如关 键字这样的字符分成两行,那么需要在下行语句的开头再加一个续行符。
CHARACTER ( LEN = 10 ) :: STRING 子字符串是字符串中的若干个连续字符的集合。子字符
CHARACTER (LEN = 5 ) :: SUBSTRING 串的表示方法如下: CHARACTER (LEN = 1 ) :: CHAR STRING=’JANEJORDE’ 字符串变量名([FIRST-POSITION] : [END-POSITION]) ! SUBSTRING的值为“JANE” SUBSTRING=STRING ( :5 ) 缺省的开始位置是1,缺省的结束位置是字符串的长度。 SUBSTRING=STRING ( 5:6 ) ! SUBSTRING的值为“J” 如果开始位置大于结束位置则子字符串为空,即它的长 SUBSTRING=STRING ( 3:7 ) ! SUBSTRING的值为“NEJO” N=7 度为0。 CHAR=’ABCDEFGHIJK’ ( N:N ) ! CHAR的值为“G”
FORTRAN90用法总结

FORTRAN90用法总结
Fortran90是Fortran的最新标准程序设计语言,它是在Fortran77
基础上的新增功能,支持面向对象的功能,同时也支持可变参数,数据语
句和开发语句,使其具有更高的强大功能。
它也支持宏的使用,以帮助程
序编写者更好的实现一些高级程序功能,以提高程序性能,提高程序易用性。
下面将重点介绍Fortran90的五大用法。
第一,利用Fortran90进行函数的编写。
Fortran90的函数可实现参
数的多次组合,通过对用户函数的调用,就可达到想要的结果,而不用写
复杂的循环程序,这有助于提高程序的可管理性,降低程序的出错率。
第二,通过宏的使用来完成Fortran90的程序编写。
宏语言有助于程
序的复杂编写和优化,通过它可以大大提高程序的性能,节约程序的开发
时间,从而提高程序的可用性。
第三,Fortran90的数组操作功能。
Fortran90支持数组的多维操作,能够进行大数组操作,从而编写出简洁的程序,节约存储空间,提高程序
的执行效率。
第四,Fortran90的指针操作功能。
它可以完成复杂数据的指针操作,以实现数据的重排、排序、和传输,可以让程序编写者有效地运用指针操作,提高程序性能和稳定性。
最后,Fortran90的结构化编程功能。
引言

引言 选用教材 选用教材 教学安排 成绩评定 上机要求 《FORTRAN90程序设计》课是计算机基础教学第二层次的 FORTRAN90程序设计》 程序设计 一门重要课程,也是有关工科专业的一门必修课程 必修课程。 一门重要课程,也是有关工科专业的一门必修课程。 随着计算机科学技术的飞速发展, 随着计算机科学技术的飞速发展,计算机素质已成为高校 学生综合素质的重要组成部分。在当今乃至未来, 学生综合素质的重要组成部分。在当今乃至未来,如果不能熟 练使用计算机进行学习、工作、生活和思维, 练使用计算机进行学习、工作、生活和思维,就会严重影响其 自身的专业发展,就会面临被社会淘汰的威胁。 自身的专业发展,就会面临被社会淘汰的威胁。目前社会上的 计算机热经久不衰就是明证。 计算机热经久不衰就是明证。 各高校对计算机基础教学非常重视,把计算机、数学、 各高校对计算机基础教学非常重视,把计算机、数学、外 语确定为培养面向21世纪高素质人才的重要组成部分。 21世纪高素质人才的重要组成部分 语确定为培养面向21世纪高素质人才的重要组成部分。我院对 计算机基础教学工作非常重视, 计算机基础教学工作非常重视,长期实行三个层次的计算机基 础教学模式: 础教学模式: 1.第一层次: 1.第一层次:计算机文化基础 第一层次 2.第二层次:计算机技术基础(程序设计语言) 2.第二层次:计算机技术基础(程序设计语言) 第二层次 3.第三层次:计算机应用基础(CAD、数据库等) 3.第三层次:计算机应用基础(CAD、数据库等) 第三层次
1.1 程序设计语言/上机要求 程序设计语言/
《程序设计语言(FORTRAN90)》课
苏州科技大学计算中心
04/05第一学期 第一学期
程序设计语言/引言设计语言(FORTRAN90)》课
FORTRAN90程序设计1、2、3

[例2-1]
PROGRAM H_TO_C !Given the F temprature,to calculate the Centigrade REAL::TC,TH READ *,TH TC=5*(TH-32)/9 PRINT *,TH,TC END PROGRAM H_TO_C
[例2-2] PROGRAM CAL_M_SUM IMPLICIT NONE INTEGER::N,M REAL::T,A N=0;T=0 PRINT *,'Input number of data:' READ *,M DO READ *,A T=T+A ;N=N+1 IF(N>=M)EXIT END DO PRINT *,T END PROGRAM CAL_M_SUM
输出结果S
[例1-1]N-S图
FORTRAN 语言的发展 源程序及其构成
语言元素
程序单元概念
FORTRAN 是 FORmula TRANslation 的缩写 1954年 1978年 第一个FORTRAN文本的提出 推出FORTRAN77
1991年
FORTRAN90问世
几个简单的FORTRAN90程序 FORTRAN90程序的构成
PROGRAM CAL_FACTOR IMPLICIT NONE INTEGER::FACTOR,S=0,I DO I=4,8 S=S+FACTOR(I) END DO PRINT *,'S=',S END PROGRAM CAL_FACTOR
FORTRAN90程序的构成
1.FORTRAN90是分块形式的程序,一个程序含有 多个程序单元,每个程序有且仅有一个主程序单元。 2.各程序单元由若干行构成。程序行主要有: 说明语句行 可执行语句行 注释行(用!开始)
fortran99

9.1 派生类型的定义
说明 – 访问说明形式有PRIVATE、PUBLIC等, 访问说明形式有PRIVATE、PUBLIC等, 类型名为所定义派生类型的名称,它应符合 FORTRAN90标识符定义的规则。 FORTRAN90标识符定义的规则。 – 类型名禁止与任何固有类型的名字相同,也 不能与任何其它可访问的派生类型名相同。 – 派生类型定义中的成员类型,可以是前面介 绍过的固有类型、数组类型,也可以是一个 已定义的派生类型,还可以是指针类型。 – 成员列表可以包含一个或多个成员标识符, 各成员标识符之间用逗号隔开。
9.3.2 派生类型变量的赋值与运算
派生类型变量初始化
TYPE (STUDENT)::ZHANG=S_T(25, ‘YANG', ADD_T(856,‘HEFEI‘ ADD_T(856,‘HEFEI‘),(/87,93,82/) )
9.3.2 派生类型变量的赋值与运算
⒊ 同类型变量之间相互赋初值 – 对于同一派生类型的两个变量,可以进 行相互赋值 举例
FORTRAN90 语言程序设计
第9章 派生类型
06:16:22
主要内容
派生类型的概念与定义 派生类型变量的成员引用 派生类型的输入输出 派生类型数组及其应用
9.1 派生类型的概念和定义
概念:由用户根据实际的需要,将不同类型的 概念:由用户根据实际的需要, 数据组合成一个有机的整体的数据结构称为派 生类型。 生类型。 定义的一般形式 [,访问说明 访问说明[ ]]类型名 TYPE [,访问说明[ :: ]]类型名 类型::类型:: 成员列表 …… 类型:: 类型:: 成员列表 TYPE[类型名 类型名] END TYPE[类型名]
TYPE(STUDENT)::ZHANG, WANG
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的算法是用自然语言──汉语描述 的,其优点是通俗易懂,但它不太直观, 描述不够简洁,且容易产生二义性。在实 际应用中常用流程图表示算法。
Fortran90 第10章

2,file='my2.out'
(2,*),x
例:已知正切函数的一种展开式为
8x tg x 2 2 2 n 0 2n 1 4 x
将上式右端编写成外部过程。当级数通 项的绝对值小于eps=1E-10时停止计算。 在同一行上,x用F6.3,级数之和用 F10.5格式输出。用于计算的数据存放在 文件MYF2.DAT中,从该文件输入的x值 为: 0.358 0.593 -0.665 0.785 0.933 程序运行结果存于文件MYF2.OUT中。
写文件:从键盘输入5个数,写入文件
program main integer::x,i open(1,file='my1.dat') do i=1,5 read *,x write(1,*),x enddo end
读文件:将文件内容读出显示
program main integer::x,i open(1,file='my1.dat') do i=1,5 read (1,*),x print *,x enddo end
Visual Fortran 90 程序设计
第2 对文件的基本操作
10.4 直接文件的存取
10.5 INQURE语句
10.3 顺序文件的存取
10.6 无格式文件
一、引入文件的目的: 便于输入、输出数据的保存与维护
二、程序结构的变化:文件要先打开,再输入、输出
主程序:PROGRAM MAIN 说明部分
读写文件:从my1.dat中读出数据写入my2.out文件
program main integer::x open(1,file='my1.dat') open( ) do i=1,5 read (1,*),x print *,x write enddo end
FORTRAN90程序设计9

几点应该注意
(8) 一个辅程序中的接口块不允许含有一个被该辅程序定义的过程的接 口体。一个接口块中可以有多个接口体。
(9) 接口块还可用来说明一个外部过程或虚过程,并为之提供显式的调 用接口,这比EXTERNAL语句提供了更多的信息,因而也提高了程序 的可读性。例如:下面是没有类属说明的接口块:
接口块能将子程序中所需的信息精确的拷贝过来,通过它可 以为主调程序和被调用子程序指明一个显式接口。
几点应该注意
(1) 接口块以INTERFACE语句开始,以END INTERFACE 语句结束,块内只能取被调用过程中的说名部分,不允许出 现任何可执行语句。
(2) 类属说明的形式为:
类属名 或OPERATOR(定义的运算符) 或ASSIGNMENT(=) 其中,类属名用于定义类属过程、OPERATOR用于定义运算
USE语句
USE语句的最简单形式为: USE 模块名1,模块名2,……,模块名N
这条语句提供了对模块的所有公共的有名数据对象、派生类型、接口块、 过程等的访问。
在作用域单位内,USE语句必须出现在其他说明语句之前。 如果需要对两个或两个以上的模块进行访问,可能会在不同的模块中用
到了相同的名字,因此允许USE语句对被访问的对象重新命名,以解决 局部对象和模块中访问对象之间的名字的冲突问题。要重新命名时, USE语句应具有下列形式: USE 模块名,更名表 其中,更名表的形式为: 局部名=>使用名,局部名=>使用名,…… 例如:
END FUNCTION LOG_PLUS_LOG
括号时必须的,因为运算符“+”
END MODULE LOGICAL_PLUS PROGRAM TEST_LOGICAL_PLUS
FORTRAN90程序设计教学设计

FORTRAN90程序设计教学设计背景FORTRAN90是科学计算、数值计算等领域的重要程序设计语言,广泛应用于航空航天、天气预报、海洋预报、核能工程、计算机辅助工程设计等领域。
因此,FORTRAN90程序设计在高校计算机专业教学中非常重要。
如今,计算机产业的高速发展,新的编程语言和框架层出不穷,但是对于计算机专业学生而言,学好FORTRAN90有其必要性。
为了提高学生的编程能力,培养学生科学计算和数值计算能力,建构合适的教材和课程是非常关键的。
因此,本篇文档将从以下几个方面介绍FORTRAN90程序设计的教学设计。
教学目标通过本课程的学习,学生能够熟练掌握FORTRAN90程序设计的基本知识和技能,包括:1.FORTRAN90程序的基本结构、语法和数据类型;2.控制结构、函数和子程序的使用方法;3.数组、指针的应用;4.文件输入输出操作;5.计算机仿真和数据可视化。
课程内容课程内容将涵盖以下主题:第一部分:FORTRAN90程序设计基础1.环境搭建:安装devFortran、gfortran编译器;2.FORTRAN90程序的基本结构、语法和数据类型;3.数据输入输出:读写变量、格式化输入输出;4.运算符和表达式:算数运算符、逻辑运算符、位运算符;5.判断语句:if、if-else、switch-case;6.循环语句:while、for、do-while;7.函数和子程序设计:函数调用、函数返回、引用传递、局部变量;8.字符串的处理:字符数组、字符串输入输出、字符串比较、字符串操作函数;9.时间和日期函数的应用。
第二部分:FORTRAN90程序设计进阶1.数组的定义、初始化和操作:一维数组、二维数组、多维数组;2.文件操作:打开文件、读写文件、关闭文件;3.指针和动态内存分配:指针的定义、指针的基本操作、指针和数组、动态内存分配;4.高级数据结构的应用:链表、队列、栈、树;5.性能优化:算法的时间复杂度分析、常用算法的优化技巧、代码精简技巧;6.计算机仿真技术的应用:线性代数、微积分、概率统计等。
FORTRAN90程序设计实验指导

FORTRAN90程序设计实验指导FORTRAN90程序设计实验指导第一节 FORTRAN PowerStation 4.0快速入门1.1 安装FORTRAN PowerStation 4.01.1.1 系统要求安装Microsoft FORTRAN PowerStation 4.0需要具备以下软硬件条件:●80486或以上处理器,运行Windows 95/Windows NT 3.51或以上操作系统。
●如果安装标准版,需要3.5英寸软盘驱动器或光盘驱动器,如安装专业版,则必须具有光盘驱动器。
●16MB或以上内存。
●足够的硬盘空间。
安装程序根据安装选项提示所需的硬盘空间。
标准版和专业版的典型安装分别需要约45MB和70MB硬盘空间。
●VGA显示器(推荐使用SVGA显示器)。
●鼠标。
1.1.2 安装步骤下面以Windows 95操作系统为例,对于Windows NT操作系统,安装过程与此类似。
首先,将含FORTRAN PowerStation 4.0的光盘插入光盘驱动器,在资源管理器中运行Setup程序,屏幕显示MicrosoftFORTRAN PowerStation Setup窗口;安装程序自动搜索已有组件,单击【Continue】(继续)按钮,并按提示输入CD-Key后,安装程序会显示安装选项对话框(图 1.1);如果要改变安装FORTRAN PowerStation 4.0的文件夹,单击【Change Folder...】(改变文件夹)按钮,选择或输入所需的文件夹名;如果输入的文件夹不存在,安装程序会自动生成该文件夹,并生成几个下级文件夹以存放相应的各类文件。
图1.1还显示了各安装选项的简短说明和安装时所需的硬盘空间。
选择下列四个安装选项之一继续安装:Typical(典型)Custom/Complete(定制/完全)Compact(紧凑)图1.1 Setup程序的安装选项对话框Run from CD-ROM(从光盘运行) Typical(典型)安装选项将安装最常用的部分,约需70MB硬盘空间。
程序设计语言 FORTRAN 90-译文

1.程序设计语言 FORTRAN 90FORTRAN 程序设计语言的新版本是FORTRAN 90。
该版本是强有力的工具。
事实上, 它比用于同一应用领域的其它各种著名语言都更接近于面向问题的高级程序设计语言的当前发展水平。
本" FORTRAN 90语言指南"是标准文档中所定义的FORTRAN 90程序设计语言全集的综合性描述。
它已经以标准文档的两张勘误表为依据。
标准文档是编译程序书写人员和已经十分了解FORTRAN 90的专家们的参考书, 然而它对初学者来说毫无价值, 甚至对于有经验的程序员也是相当不实用的。
本" FORTRAN 90语言指南"打算用作程序员的语言参考手册、FORTRAN 程序设计入门课程的教材, 并且帮助有经验的FORTRAN 77程序员顺利过渡到FORTRAN 90。
" FORTRAN 90语言指南 " 几乎是FORTRAN 77 类似手册的两倍大, 一个原因是FORTRAN 90包含了FORTRAN 77语言全集, 每个FORTRAN 77程序按定义都是FORTRAN 90程序( 几乎无例外)。
FORTRAN 现在是一种现代语言。
该语言中有一些特性甚至支持面向对象程序设计。
最后, FORTRAN 90是 HPF( 高性能FORTRAN ) 的基础, 此HPF 是用于( 大规模)并行计算机体系结构的、数据并行程序设计模型的基于FORTRAN 的语言。
布局本指南自始至终使用下列一些约定:这是正规正文的字体。
这是形式语法的字体。
这是例子的字体。
这是定义的字体。
这样写出的术语不是被强调的, 就是在本指南另外某处被定义的。
大写表示FORTRAN 关键字, 它必须按照给定的写出。
小写在语法规则中表示要由程序员插入的语言元素。
小写在例子中是由程序员创造的一些术语。
专用字符 FORTRAN 字符集中的专用字符, 必须按照给定的写出。
Fortran 90 程序设计

Fortran的数据类型
在FORTRAN90中,也可以表示二进制、八进制、 十六进制形式的无符号整数。其形式如下: 二进制数:B’101101’ 或 B”101101” 八进制数:O’76210’ 十六进制数:Z’1FA2’
Fortran的数据类型
2.实型常量(REAL)
实型常量又叫实数,它具有数学实数的近似值。 实数最常见的两种表示形式是:小数形式和指数形式 小数形式:由十个数字、小数点及数符组成的数。 指数形式:对绝对值相对较小或很大的实数 。 规格化指数形式: (两种形式) 1。数字部分的值小于1,且小数点后的第一位数字非0 2。数字部分有且仅有一位非零的整数。
五种变量的类型说明关键字:
整型:INTEGER
实型: REAL
复型:COMPLEX
逻辑型:LOGICAL
字符型:CHARACTER
待说明的变量放在后面,中间用双分隔符::隔开,对于同时 说明多个变量,变量之间用逗号分隔。
Fortran90关于变量说明的新功能: 1.在变量说明的同时,可以给变量赋初值。 INTEGER::I=5,J=126 REAL::X=7.2,Z,W=774.2 2.在说明变量的同时也可说明其种别 3.在说明变量的同时,还可说明变量的属性 INTEGER,PARAMETER::I=5,J=123 REAL,DIMENSION(1:10)::A
缺省种别是指有符号或无符号的整数值。可在数值后用 下划线标明种别,没有下划线为缺省种别。缺省种别整数的范 围一般取决于所用计算机的字长。说明了种别参数后,提高了 程序的可移植性。
简而言之,种别即决定数值在计算机中存储的字节数。
Fortran的数据类型
1.整型常量(INTEGER)
整型常量又叫整数,整数值的集合就是数学整数的子集。
FORTRAN90程序设计10

15.000000 30.000000
[例10.4] 用指针的方法实现将任意两个整型数进行交换。
PROGRAM EX4 IMPLICIT NONE INTEGER,POINTER::PA,PB,PC INTEGER,TARGET::A,B,C READ *,A,B PA=>A PB=>B PRINT *,A,B C=A PC=>C PA=PB PB=PC PRINT *,A,B END PROGRAM EX4
6
6
[例10.2] 指针赋值的例子。
PROGRAM EX2 IMPLICIT NONE REAL, TARGET :: R = 13 REAL, POINTER :: P1, P2 P1 = > R P2 = > P1 PRINT *, P1, P2, R 执行程序,在屏幕上输出的结果为: END 13.000000 13.000000 13.000000
FORTRAN90程序设计
扬州大学计算机中心 楚红 2007.1
第10章 指针与递归
10.1 指针的概念 10.2 指针的使用 10.3 指针数组 10.4 链表 10.5 递归及其应用
ቤተ መጻሕፍቲ ባይዱ 指针的概念
数据结构的概念 :数据的组织形式 数组的特点
同一数组中各元素的类型都是相同的 元素在内存中都占具同样大小的存储空间 数组元素按下标从小到大在内存中连续存放 具有元素寻址快、随机存取等特点 在数组中插入和删除一个元素时需要移动大量数据,操作很不方便。 如果数组元素较多,实际数据项较少时,会浪费大量存储空间。
ASSOCIATED (P1, P2)