Fortran95简介-全文版
fortran95程序设计
fortran95程序设计
Fortran95一门面向应用的编程语言,用于开发科学和工程应用软件,它继承了Fortran77的优点,又增添了很多新特性。
这些特性大大改善了编程效率,使Fortran95程序设计更加灵活、更具有扩展性。
首先,Fortran95可以使用动态数组和变量名数量(变量名的长度从6个字符提高到32个字符),这样就可以更加清楚地定义问题和程序功能。
此外,Fortran95中允许使用数据类型,它允许开发者使用自定义数据类型,这样可以更加清楚地描述程序的结构和功能。
其次,Fortran95支持更多的编程模型,如结构化编程,面向对象编程,组件设计,它使程序设计变得更具灵活性,能够更有效地编写程序代码,从而提高程序的执行效率。
此外,Fortran95还提供了许多存储器管理的功能,以更好地实现内存的动态分配和释放,使程序运行更快。
它还提供了一些语言特征,如变量的定义和数组的声明,能够更好地维护程序的可读性和可维护性。
另外,Fortran95还具有跨平台功能,允许用户在不同的操作系统之间迁移程序,以及在不同的系统上并行运行程序,这些特性也可以提高程序的性能。
总之,Fortran95拥有许多功能,可以提升程序设计的效率,使软件开发变得更具可移植性和可扩展性。
正因为有了这些优点,Fortran95有着广泛的应用,为科学和工程软件开发提供了强大的技
术支持。
FORTRAN95概述
第1章FORTRAN 95简单程序设计
本章主要内容: Fortran语言的基本概念 Fortran95语言的用途、 程序的书写格式 Fortran95基本数据类型的表示方法 Fortran95表达式的书写方法 Fortran95赋值语句的用法 Fortran95简单的输入与输出语句的用法
初步学会简单Fortran95程序的编写
适用于科技计算的高级程序设计语言。 FORTRAN的名字来自英文的Formula Translator,即数学公式翻译器的意思。 FORTRAN语言最初是在1954年由美国IBM
公司提出的。 1966年制定了FORTRAN语言的统一标准,
这套标准制定了新的FORTRAN语言标准, 并在1978年由美国国家标准协会(ANSI)正 式公布,称为FORTRAN77
9
1.1.2程序设计过程 一、程序设计步骤
1.确定所要解决的问题及应达到的要求 2.分析问题构造模型
根据实际问题确定物理模型,再用数学语言描述它,即列出解题 的数学公式或方程式,也就是建立数学模型。
3.选择计算方法 4.确定算法并绘制流程图 5.编写程序 6.程序调试 7.正式运行
10
二、算法 所谓算法指为在有限步内解决一个具体问
16
1.2.3 FORTRAN程序的组成 一、FORTRAN程序结构 是一种段式结构(或称块结构)。每个 FORTRAN程序由一个主程序段和若干个子 程序段及模块组成。 主程序段有且仅有一 个, 子程序段和模块根据需要可用零个或 多个。每个程序段可以独立编写,实现不同 的功能,程序运行总是从主程序段开始。 每个程序段都有自己的段头语句,但主程 序段的段头语句可以省略。
用户采用高级语言编程,上机的过程如图1-1所示.
Fortran95 简介-全文版
Fortran95简介-全文版By陈鲸太FORTRAN的演进FORTRAN的起源,要追溯到1954年IBM公司的一项计划。
由JOHN BACKUS 领导的一个小组,尝试着在IBM 704计算机上面发展一套程序,它可以把使用接近数学语言的文字,翻译成机械语言。
这个计划在刚开始并不被大家看好,但他们在1957年交出了成果,也就是第一套FORTRAN编译器,FORTRAN语言也就因此诞生了。
FORTRAN语言的执行效率普遍的令各界满意,它证明了这项计划的可行性,也成为第一个被广泛使用的高级语言。
FORTRAN的名字来自于英文的FORMULA TRANSLATOR这两个字,而这两个字恰是数学公式翻译器的意思。
旧版的FORTRAN77是在1978年由美国国家标准局(ANSI)所正式公布的,之后改版有1992年提出的FORTRAN90以及1997年的FORTRAN95,本文是为了FORTRAN 95所撰写。
编译器简介1、VISUAL FORTRANVISUAL FORTRAN一开始是起源于MICROSOFT的FORTRANPOWERSTATION 4.0,这套工具后来卖给DIGITAL公司来继续发展,下一个版本称为DIGITAL VISUAL FORTRAN 5.0,DIGITAL后来被COMPAQ合并,所以接下来的6.0及6.5版就称为COMPAQ VISUAL FORTRAN。
而COMPAQ目前又跟HP合并,也许下一个版本会称为HP VISUALFORTRAN。
VISUAL FORTRAN被整合在一个叫作MICROSOFT VISUAL STUDIO的图形接口开发环境中,VISUAL STUDIO提供一个统一的使用接口,这个接口包括文书编辑功能,PROJECT的管理、除错工具等等,所以在使用上其实跟上学期的VISUAL C++满类似的,同学们上课用过VISUAL C++,对VISUAL FORTRAN应该不会陌生。
第1章 Fortran95概述
√
四、Fortran95编译环境与上机步骤
明德笃志、博学创新
学再学习的能力、学愿学习的习惯
三、Fortran语言特点、程序设计引例(看书)
【例1-1】输入三个数据,计算它们的算数平均值 和几何平均值。
分析:假设用a,b,c分别表示三个数,在数学 上,要计算这三个数的算数平均值和几何平均值, 采用以下公式:
明德笃志、博学创新
学再学习的能力、学愿学习的习惯
一、程序设计、程序设计语言
【例1-1】输入三个数据,计算它们的算数平均值 和几何平均值。
分析:假设用a,b,c分别表示三个数,在数学 上,要计算这三个数的算数平均值和几何平均值, 采用以下公式:
算术平均值 = a + b + c 3
几何平均值 = 3 a × b × c
算法设计是程序设计的主要步骤。算法是指为 解决给定问题而需要计算机去一步一步执行的有穷 操作过程的描述。
一个算法必须具有以下特征: (1)有穷性 (2)确定性 (3)可执行性 (4)数据输入 (5)数据输出
明德笃志、博学创新
学再学习的能力、学愿学习的习惯
一、程序设计、程序设计语言
从根本上讲,程序就是用计算机语言描述的算
力和对基础知识的良好掌握。
明德笃志、博学创新
学再学习的能力、学愿学习的习惯
一、程序设计、程序设计语言
程序的处理对象是数据,每个数据都有一定的 特性和关联,因此为了更好的处理和操作,要研究 数据,对数据进行有规律的组织和构造。在算法设 计中,数据的组织和构造都有其基本方式和规律, 这种组织和构造方式称为数据结构。
明德笃志、博学创新
学再学习的能力、学愿学习的习惯
一、程序设计、程序设计语言
Fortran95简介-全文版
Fortran95简介-全文版Fortran95簡介-全文版By陳鯨太FORTRAN的演進FORTRAN的起源,要追溯到1954年IBM公司的一項計畫。
由JOHN BACKUS 領導的一個小組,嘗試著在IBM 704電腦上面發展一套程式,它可以把使用接近數學語言的文字,翻譯成機械語言。
這個計畫在剛開始並不被大家看好,但他們在1957年交出了成果,也就是第一套FORTRAN編譯器,FORTRAN語言也就因此誕生了。
FORTRAN語言的執行效率普遍的令各界滿意,它證明了這項計畫的可行性,也成為第一個被廣泛使用的高階語言。
FORTRAN的名字來自於英文的FORMULA TRANSLATOR這兩個字,而這兩個字恰是數學公式翻譯器的意思。
舊版的FORTRAN77是在1978年由美國國家標準局(ANSI)所正式公布的,之後改版有1992年提出的FORTRAN90以及1997年的FORTRAN95,本文是為了FORTRAN 95所撰寫。
編譯器簡介1、VISUAL FORTRANVISUAL FORTRAN一開始是起源於MICROSOFT的FORTRAN POWERSTATION 4.0,這套工具後來賣給DIGITAL公司來繼續發展,下一個版本稱為DIGITAL VISUAL FORTRAN 5.0,DIGITAL後來被COMPAQ合併,所以接下來的6.0及6.5版就稱為COMPAQ VISUAL FORTRAN。
而COMPAQ目前又跟HP合併,也許下一個版本會稱為HP VISUAL FORTRAN。
VISUAL FORTRAN被整合在一個叫作MICROSOFT VISUAL STUDIO的圖形介面開發環境中,VISUAL STUDIO提供一個統一的使用介面,這個介面包括文書編輯功能,PROJECT的管理、除錯工具等等,所以在使用上其實跟上學期的VISUAL C++滿類似的,同學們上課用過VISUAL C++,對VISUAL FORTRAN應該不會陌生。
FORTRAN语言程序设计——FORTRAN95
教材目录
(注:目录排版顺序为从左列至右列 )
教学资源
该教材有配套的实验指导书——《FORTRAN95程序设计实验指导与测试》。 该教材还提供电子课件等资源。
教材特色
该教材以程序设计为主线,以编程应用为驱动,通过案例和问题引入知识点,重点讲解程序设计的思想和方 法。书中所有程序实例都是由教师在多年授课过程中挑选所得,并采用Microsoft Develop Studio集成开发环 境。为适应不断更新的计算机操作系统,在实验教材中还给出了Windows 7、Windows 10操作系统下使用Visual Fortran的上机操作过程。
全书共14章,主要内容有: FORTRAN95概述及编译环境的介绍、FORTRAN95程序设计基础、顺序结构程序设 计、选择结构程序设计、循环结构程序设计、数组、函数与子程序、文件、派生类型与结构体、指针、模块、常 用数值算法。
成书过程
修订情况
ห้องสมุดไป่ตู้出版工作
该教材由王丽娟、段志东主编,李玉龙主审。第1、2、12、14章由王红鹰编写,第3、5、6、7章由陈权编写, 第9、11、13章和附录A由段志东编写,第4、8、10章和附录B由王丽娟编写。
该教材在规划和编写过程中得到了兰州交通大学教务处、计算机教学示范中心、电信学院、继续教育学院、 土木工程学院的领导和教师们的支持。
2017年9月1日,该教材清华大学出版社出版。
内容简介
该教材介绍FORTRAN95的语法规则以及利用它进行程序设计的方法。全书共14章,主要内容有: FORTRAN95 概述及编译环境的介绍、FORTRAN95程序设计基础、顺序结构程序设计、选择结构程序设计、循环结构程序设计、 数组、函数与子程序、文件、派生类型与结构体、指针、模块、常用数值算法。另外,还扩充了计算思维和计算 机系统组成的相关知识。
FORTRAN95第六章 Fortran 过程程序设计
普通的外部函数子程序形式之二为:
例6.2 利用函数子程序,计算N的阶乘。
! 计算N!的函数子程序
function fact (n)
!fact为外部函数子程序名, n为哑元
implicit none
integer:: n,i
! 说明哑元n和函数体中所用变量i的类型
real*8:: fact
! 说明函数名的类型
fact=1d0
!函数名作为变量名使用
do
write(*,*)'输入正整数m:'
read (*,*)m
if (m>0) exit
write(*,*)'输入了一个负整数或零,重输!'
end do
do
write(*,"('输入正整数n(n<=',i4,'):')")m
read (*,*)n
if (n>0 .and. n<m) exit
read *,n
h=(b-a)/n
do i=1,n-1
s=s+f (a+i*h) !调用语句函数f的语句
end do
s=h*(f (a)+f (b)+2.0*s)/2.0 !调用语句函f
write ( *,"('定积分的值为: ',f10.6)")s
Fortran95第2篇. 计算的叙述
第2篇. 计算的叙述算法的每一个步骤,都必须给予确切的定义。
对于算法当中所考虑的每一种情况,每一个有待执行的动作,都必须严格地和不含混地加以规定。
…对于以描述算法作为目的而设计出来的,采用了形式的定义的程序设计语言,或者说计算机语言,它的每一个语句都必须有非常确切的意义。
---- D.E.Knuth[1]《The Art of Computer Programming》本质上FORTRAN就是一门语言,一门人与计算机赖以进行有效交流的语言,在这个意义上和我们使用的中文,英文等没有本质差别。
现在假设要来描述一种大家都陌生的语言,那么总是要分成两个方面来描述,即一方面要描述这门语言的表象和形态,也就是它使用哪些符号,哪些词汇,一般的句式如何,怎样才能完整叙述一个任务之类;另一方面需要说明这门语言的语义,也就是说这门语言是如何用来表达我们需要它表达的意思的。
第4章基本上就是描述FORTRAN作为一种语言的基本形态,也就是书写这种语言的书写规则。
接下来几章则逐步说明如何用FORTRAN来表达我们的要求,或者反过来说,FORTRAN提供了些什么表达方式,以便我们用来向计算机提出合理的任务:● 表达基本数据;● 表达数据的结构;● 完整地描述数据;● 构造表达式;● 驱动计算的赋值;● 计算过程的结构控制;在整个第二篇,我们将领略到FORTRAN 95是如何能够做到精致地描述计算的,而把一个问题阐述清楚了,就意味着问题已经解决了一大半。
[1]Donald E. Knuth (高纳德),Stanford University的The Art of Computer Programming荣休教授,而The Art of Computer Programming(计算机程序设计技巧)正是他的伟大著作的名称。
洋洋七大卷的《The Art of Computer Programming》是当今全世界每一个计算机科学家所膜拜的圣经。
fortran 95程序设计
fortran 95程序设计
Fortran 95程序设计是一门针对科学计算和工程学科的高级编程语言。
这门语言的设计目的是为了提供一种简洁、高效、易于实现和易于维
护的编程环境,以便于开发出更高质量的科学计算和工程解决方案。
Fortran 95的特点之一是其输入输出,因为它可以使用多种方式输入
和输出数据,使程序的编写更加简单而不失灵活性。
另一个特点是其
令人宜人的书写风格,使得代码的可读性和可维护性得到了更好的保障。
此外,Fortran 95还支持模块化编程,由于模块被编写为独立的
实体,因此可以更好地调试和修改源代码。
在Fortran 95代码中,程序员使用各种算法和数学技术来解决问题。
这门语言不仅提供了一些基本的算法和数据结构,还支持数组操作、
字符串操作、位操作等高级操作。
它的函数式编程能力也很强,可以
使程序更加高效、简洁和易于维护。
虽然Fortran 95在以往的几十年中已经被不断地改进和扩展,但是它仍然存在一些问题。
例如,它只支持有限的异常处理机制,无法处理
不同层级的异常。
此外,一些新的编程语言,如Python和R,已经逐渐取代了Fortran在科学计算和工程学科中的地位。
总之,Fortran 95程序设计是一门高级编程语言,具备简洁性、高效性、易实现性和易维护性的特点。
虽然它可能存在一些缺陷和限制,但是对于需要高效可靠的科学计算和工程解决方案的行业和领域,Fortran 95仍然是一个很好的选择。
fortran952003程序设计
fortran952003程序设计Fortran 95是Fortran编程语言的一个版本,它在1997年被正式发布。
它继承了Fortran语言的数值计算能力,并引入了许多现代编程特性,使得Fortran 95成为一个功能强大的科学计算语言。
以下是Fortran 95程序设计的一些基础要点:1. 程序结构Fortran 95程序由一个或多个程序单元组成,这些单元可以是子程序、函数或模块。
程序的开始和结束分别由`program`和`end program`语句标记。
2. 变量声明在Fortran 95中,变量必须在使用前声明其类型。
Fortran 95支持多种数据类型,包括整数、实数、复数、逻辑和字符类型。
例如:```fortraninteger :: ireal :: xlogical :: flagcharacter(len=10) :: name```3. 常量和参数Fortran 95允许定义常量和参数,它们在程序中只能被赋值一次。
常量使用`parameter`关键字定义:```fortranparameter (pi = 3.14159)4. 控制语句Fortran 95提供了多种控制语句,包括条件语句(`if`)、循环语句(`do`、`while`)和选择语句(`select case`)。
```fortranif (x > 0) thenprint *, 'x is positive'elseprint *, 'x is non-positive'end ifdo i = 1, 10print *, 'Iteration ', iend doselect case (ch)case ('A', 'B', 'C')print *, 'Grade A, B, or C'case defaultprint *, 'Other grade'end select```5. 数组Fortran 95支持多维数组,并且可以声明数组的维度。
FORTRAN95第01章-概述讲课讲稿
2.实型常数 实型常数有多种不同的表示形式。 (1)基本实常数形式 基本实常数形式与日常习惯写法相同,由
一个正(或负)号、整数部分、小数点和小数 部分组成。其中正号可以省略,并且允许没有 整数部分或小数部分,但小数点是必须的。例 如 0.0 .02 314. -27.567 256.0 +0.05 都是正确的表示形式。
16
二、FORTRAN语句 每个程序段和模块由若干条FORTRAN语句
组成,这些语句又分为可执行语句和非执行语 句。可执行语句在程序执行时使计算机产生 某种特定的操作,如赋值、输入输出、控制 转移等。非执行语句只是用于将某些信息
(如变量的类型、数组的维数及大小、数 据的输入输出格式等)通知编译程序,使编 译程序在编译源程序时按这些信息要求进行 处理。程序执行时非执行语句不会使计算机 产生任何操作。
据取值范围不同,处理方式不同,存储形式和书写形 式也不同。FORTRAN语言中有五种基本数据类型。
24
一、整型(INTEGER) 整型表示整数的类型,分长整型和短整型。在PC
机中长整型占4个字节(32bit),可保存的数值范围 在-2147483648~2147483647之间(-231 ~231-1);短整 型占2个字节,保存的数值范围在-32768~32767之间, 即(-215 ~215-1)。
有规定每行的第几个字符有什么作用: 每行最多可写132个字符; 叹号“!”后的内容都是注释; 如果需要写语句标号, 则标号可以紧挨着写在语句第1个字符
前面; 一行字符的最后如果是符号“&”,则表示下一行是该行的继
续。如果一行程序代码开头是符号&,则其上一行的最后非空格 符必须是一个&号, 且&号前不能有空格,表示该行是上一行的继 续。这种形式的续行允许把一个常数、变量名、关键字等分开放 在两行上。
FORTRAN95第三章循环程序设计
FORTRAN95第三章循环程序设计第三章的内容包括:1.DO循环:DO循环是FORTRAN中最基本的循环结构。
它允许我们指定循环变量的初始值、结束值和步长。
在每次循环迭代时,循环变量都会自动更新,并且在达到结束值时退出循环。
2.嵌套循环:FORTRAN也支持嵌套循环,这是在一个循环内部使用另一个循环。
嵌套循环使得我们能够处理更加复杂和具有分层结构的问题。
3.WHILE循环:FORTRAN还提供了类似于其他编程语言中的WHILE循环。
WHILE循环允许我们在循环前先检查一个条件,并且只要条件为真,就会继续执行循环体。
4.无限循环:有时候需要创建一个无限循环,即一个永远不会结束的循环。
在FORTRAN中,我们可以使用无条件的循环退出语句来跳出循环。
5.循环控制:在循环内部,我们可以使用控制语句来控制循环的执行方式。
这些控制语句包括CONTINUE、EXIT、CYCLE和END。
6.循环的应用:循环结构在许多数学和科学计算问题中都有广泛应用,如求和、求平均值、计算阶乘、寻找最大和最小值等。
循环程序设计是编程中非常重要的一部分,因为它可以帮助我们处理大数据集和执行复杂算法。
FORTRAN95提供了一系列强大的循环结构,使得我们能够更加灵活和高效地处理各种问题。
在循环程序设计中,重点应该放在优化循环的执行。
通过合理地选择循环变量的初始值、结束值和步长,以及使用合适的循环控制语句,可以使循环更加高效。
此外,避免在循环体内进行过多的计算和IO操作,可以减少循环的执行时间。
总之,循环程序设计是编程中一个基本但重要的概念。
FORTRAN95提供了丰富的循环结构和控制语句,使得我们能够更加高效地处理各种问题。
在实际应用中,我们应该根据具体问题的要求,合理选择和优化循环结构,以求得更好的性能和效果。
FORTRAN95第八章实用程序设计方法
FORTRAN95第八章实用程序设计方法Fortran 95是一种编程语言,其提供了许多实用的程序设计方法。
本文将介绍Fortran 95的第八章,主要讨论了一些实用的程序设计方法,并对其进行详细的阐述。
首先,第八章首先介绍了Fortran 95中的模块和接口。
模块可以将程序中相关的子程序、变量和常量组织在一起,使得程序更加结构化。
接口则可以定义子程序的输入和输出参数,以及子程序的类型和属性。
这样可以提高代码的可读性和重用性。
接下来,该章节还介绍了Fortran 95中的递归子程序。
递归是指一个子程序可以调用自己。
递归子程序可以解决一些复杂的问题,例如数学中的阶乘计算。
在使用递归子程序时,需要注意递归的终止条件,否则可能导致无限循环。
此外,Fortran 95还引入了动态内存分配的概念。
动态内存分配允许在程序运行时动态地申请和释放内存。
这对于处理大规模数据或者需要临时存储空间的情况非常有用。
Fortran 95提供了ALLOCATE和DEALLOCATE语句来进行动态内存分配和释放。
在实际的程序设计中,很多时候需要对输入数据进行校验和处理。
Fortran 95提供了一系列的内置子程序和函数,可以方便地进行数据处理。
例如,可以使用MOD函数计算一个整数的余数,还可以使用TRANSFER函数将一个数据对象转换成另一种类型。
此外,本章还介绍了一种常见的程序设计技巧,即使用函数来替代变量。
这样可以提高代码的可读性和维护性。
通过将一些复杂的计算封装在函数中,可以简化主程序的逻辑。
最后,本章还介绍了一些常用的数学库函数。
Fortran 95提供了一系列的内置函数,用于数值计算和数学操作。
例如,可以使用SQRT函数计算一个数的平方根,还可以使用LOG函数计算一个数的自然对数。
总之,Fortran 95的第八章介绍了一些实用的程序设计方法。
通过掌握这些方法,可以提高代码的结构化程度和可读性,同时还可以提高代码的灵活性和可重用性。
FORTRAN95第07章-模块
7.2.4 别名共享和部分共享 对于模块中的数据和过程,如果在USE语句中使用 “别名=>原名” 的形式: USE 模块名[,别名=>原名]... 则说明模块中指定原名的数据或过程,在本程序单元 中改为指定的别名,从而实现“别名共享”。 如果在USE语句中使用ONLY属性的形式: USE 模块名,ONLY:数据和过程名表 则说明仅仅共享模块中指定的数据和过程, 从而实现 “部分共享”。而且, 其中数据和过程名表内的名 称也 可以使用“别名=>原名” 的形式,从而实现“别名、 部 2015-6-11 7 分共享”。
2015-6-11 8
module geometry type square real side integer border end type type circle real radius integer border end type end module program test use geometry,only:lcircle=>circle ! 部分共享circle类型且使用别名 lcircle type (lcircle) c1,c2,c3 ... end 模块的共享使用,不仅可以代替原有的common语句共享使用数据,而且 提供了共享使用过程的手段。同时提供了多种多样的共享使用方法。提 高了程序的可读性、可重用性、可靠性和可维护性。
2015-6-11
11
7.4.1 类的定义 类(Class)是一种将不同类型的数据和与这 些数据相关的操作封装在一起的集合体。因 此,类确定了该类对象在发生某种事件时的 操作,这些操作称为方法或行为或服务,这 些行为、方法是通过一种操作接口来描述的. 在Fortran95中,类的定义是通过模块和派 生类型实现的。
FORTRAN95第05章-文件
⑩POSITION=pos,用于设置文件打开后的读写位置。Pos若取‘ASIS’, 表示读写位置在文件开头,这是缺省值;pos若取“REWIND”,表示把打 开文件的读写位置移到文件开头;pos若取‘APPEND’,表示将文件读写 位置移到文件尾。
2019/9/2
7
11. ACTION=rw,用于设置文件的读写权限。rw可取‘READ’,表示对 打
2.文件的组成 一个文件由若干个记录组成。一个记录由一组数据项组成,这
种文件称为有结构文件, 如一个存储学生基本信息的“学生文 件”,
其中一个学生的学号、姓名、年龄、专业、 等数据项就是一个
记录,若干个这样的学生记录, 如一个班的学生情况信息就组 成201一9/9/2个“学生文件”。也有的文件看作字节序列,不分记录。2
⑥RECL=rl,用于指定记录长度,当打开的是顺序文件时,以字节为单 位,可以省略指定记录的最大长度; 当打开的是直接文件时,此项不能
省略,指定记录长度时,单位与编译器有关, 如Visual Fortran中为数值 1时,表示一个整数所占字节个数。Rl可以是常量或变量(必须先赋值)。
⑦ERR=label,label为语句标号, 此项用于设置当打开文件的过程中发 生错误时,去执行label所指的语句。
open(9,file=’F3’,status=’old’) 该语句的作用是:打开一个文件名为F3的旧文年,并与文件 号9关联。其他项省略,按FORTRAN规定,省略存取方式, 表 示为顺序文件,且文件中的记录是有格式的。
2019/9/2
9
二、CLOSE语句 CLOSE称关闭文件语句,文件使用后应使用该语句关闭
2)无格式直接文件 这种文件内容是以二进制形式写入和 读出的,除了写入数据未达到指定长度,要用丛“0”补齐外, 其他规定同有格式直接文件。
第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 程序设计基础 本章将介绍:
•字符集、标识符和关键字
•程序的书写格式
•数据类型
•常量和变量
•算术运算符和算术表达式 •标准函数
学习目标:
了解字符集、标识符和关键字
了解程序的固定书写格式
掌握程序的自由书写格式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Fortran95簡介-全文版By陳鯨太FORTRAN的演進FORTRAN的起源,要追溯到1954年IBM公司的一項計畫。
由JOHN BACKUS 領導的一個小組,嘗試著在IBM 704電腦上面發展一套程式,它可以把使用接近數學語言的文字,翻譯成機械語言。
這個計畫在剛開始並不被大家看好,但他們在1957年交出了成果,也就是第一套FORTRAN編譯器,FORTRAN語言也就因此誕生了。
FORTRAN語言的執行效率普遍的令各界滿意,它證明了這項計畫的可行性,也成為第一個被廣泛使用的高階語言。
FORTRAN的名字來自於英文的FORMULA TRANSLATOR這兩個字,而這兩個字恰是數學公式翻譯器的意思。
舊版的FORTRAN77是在1978年由美國國家標準局(ANSI)所正式公布的,之後改版有1992年提出的FORTRAN90以及1997年的FORTRAN95,本文是為了FORTRAN 95所撰寫。
編譯器簡介1、VISUAL FORTRANVISUAL FORTRAN一開始是起源於MICROSOFT的FORTRANPOWERSTATION 4.0,這套工具後來賣給DIGITAL公司來繼續發展,下一個版本稱為DIGITAL VISUAL FORTRAN 5.0,DIGITAL後來被COMPAQ合併,所以接下來的6.0及6.5版就稱為COMPAQ VISUAL FORTRAN。
而COMPAQ目前又跟HP合併,也許下一個版本會稱為HP VISUAL FORTRAN。
VISUAL FORTRAN被整合在一個叫作MICROSOFT VISUAL STUDIO的圖形介面開發環境中,VISUAL STUDIO提供一個統一的使用介面,這個介面包括文書編輯功能,PROJECT的管理、除錯工具等等,所以在使用上其實跟上學期的VISUAL C++滿類似的,同學們上課用過VISUAL C++,對VISUAL FORTRAN應該不會陌生。
VISUAL FORTRAN 6.5除了完全支援FORTRAN 95的語法外,擴充功能方面提供完整的WINDOWS程式開發工具,專業版還內含IMSL數值程式庫。
另外它還可以和VISUAL C++直接互相連結使用,也就是把FORTRAN和C語言的程式碼混合編譯成同一執行檔案。
2、在工作站使用FORTRAN學校計中工作站也提供FORTRAN COMPILER,使用方式很簡單,只需要在存放FORTRAN檔案的目錄下面輸入下面敘述即可:ccsun33 [u8623033/fortran]% f77 filename.for這個指令使用f77的compiler,其中filename.for就是我們所編寫的FORTRAN 程式檔案ccsun33 [u8623033/fortran]% f90 filename.for這個指令使用f90的compiler而指令按下enter鍵之後,會把結果COMPILE到a.out這個檔案裡面,我們想要執行這個程式,只要在命令提示字元後打a.out就可以看到執行結果:ccsun33 [u8623033/fortran]% a.out如果在compile的過程中想要把執行檔改成別的檔名,不要每次都變成a.out,那我們可以輸入下列指令ccsun33 [u8623033/fortran]%f77 filename1.for –o filename2或者ccsun33 [u8623033/fortran]%f90 filename1.for –o filename2則filename2會變成我們的執行檔名字在COMPILE FORTRAN的時候,我們必需登入學校計中ccsun26~ccsun35的機器才可以使用(學校規定),並且因為軟體總數只有兩套,同時間只有兩個人能可compile。
FORTRAN基本事項字元集是指使用FORTRAN的時候,所能使用的所有字元有符號。
FORTRAN所能使用的字元集有1、英文26個字母:大小寫不分2、數字:0到93、22個特殊符號:有冒號、等號、加號、減號、驚嘆號…等等FORTRAN程式碼的寫作格式有兩種,FREE FORMAT(自由格式)以及FIXED FORMAT(固定格式)。
簡單來說,FIXED FORMAT是屬於舊式的寫法,它在寫作版面上有很多限制。
FREE FORMAT是FORTRAN90之後的新寫法,取消了許多舊的限制。
FORTRAN程式碼附加檔名為*.F或*.FOR的檔案,就是指以FIXED FORMAT來寫作的程式,若以*.F90為附加檔名的檔案,就是以FREE FORMAT來寫作的程式。
建議現在都應該改用FREE FORMAT來寫作程式。
FIXED FORMAT固定格式之中,規定了程式碼每一行中每個字元欄位的意義。
如下表所示:FIXED FORMAT是為了配合早期需要使用打洞卡來輸入程式才發明出來的格式。
現在都應該要使用FREE FORMAT來寫作程式。
早期的電腦,還沒有使用顯示器作為輸出裝置,不能像現在一樣直接利用鍵盤來修改程式。
早期的程式是利用打洞卡片一張一張的記錄下來,再拿給電腦執行。
有著打洞卡的淘汰,FIXED FORMAT也沒有必要再繼續使用下去。
不過同學們還是可以大概瞭解一下,因為仍有些舊程式是用這種格式來寫作。
FREE FORMATFREE FORMAT基本上允許非常自由的寫作格式,它沒有再去規定每一行的第幾個字元有什麼作用。
需要注意的事項只有下面幾點:1、驚嘆號「!」後面的文字都是註解。
2、每行可以寫作132個字元。
(注意! 並不是無限長)3、行號放在每行程式的最前面。
4、一行程式碼的最後如果是符號&,代表下一行程式會和這一行連接。
例子:sample1.f90輸出、輸入及宣告輸出使用write指令,如下例FORTRAN程式通常以PROGRAM敘述來開頭,PROGRAM後面還要接一個自訂的程式名稱。
這個名稱可以完全自訂,不需要和檔名有任何的關係,這個名字表示「主程式」的名字。
我在這裡取名為MAIN,這個名字可以看個人喜好修改。
FORTRAN程式最後還要有END這個敘述,表示程式碼寫到這一行結束。
WRITE指令就是作為輸出用,WRITE(*,*)之中兩個星號各有各自的意義,前面的星號表示輸出的位置使用內定值,也就是螢幕,後面的星號表示不特別設定輸出格式。
另外,下面三種輸出格式其實會得到一樣的結果:WRITE(*,*) “HELLO”WRITE(6,*) “HELLO”WRITE(UNIT=6, FMT=*) “HELLO”關於WRITE還有幾點要注意1、每一次執行write指令之後,會自動換到下一行來準備做下一次的輸出。
2、因為雙引號是用來包裝字串用的,所以想要印出雙引號的時候,要連用兩個雙引號。
例:想要印出MY NAME IS “CASTER”.就要下達WRITE(*,*) “ MY NAME IS “”CASTER””. ”這個敘述3、FORTRAN90可以使用雙引號或單引號來包裝字串,FORTRAN77標準中只能使用單引號,不過大部份的FORTRAN77還是可以接受雙引號。
範例中還有另一個指令STOP,STOP是終止程式的意思,它可以出現在程式的任何地方,程式執行到這個指令就會中止。
除非必要,不要把STOP指令使用在主程式結束之外的其它地方。
因為一個程式如果有太多的終止點會容易出錯。
STOP指令在這個地方可以省略,因為主程式的程式碼執行完畢後,程式會自動終止。
加上這個指令只是為了更明確表示程式到此結束而已。
END是用來包裝程式碼使用的,說明程式碼已經寫作完畢。
FORTRAN 90標準中,可以使用下面三種方法來表示程式碼寫作結束,FORTRAN77只能使用第一種方法。
ENDEND PROGRAMEND PROGRAM MAIN ! MAIN是主程式的名字PRINT指令用法大致上和WRITE相同,只是專門針對螢幕作輸出,因此少了指定輸出的能力,它也具有限定輸出格式的功能,其語法如下:PRINT *,”輸出字串”1、整數整數的宣告法很簡單,如下:integer a !宣告a為一個整數,內定範圍為2^32~ -2^322、浮點數real a !宣告a為一個浮點數,預設值為單精確度浮點數real*4 a !宣告a為一個單精確度浮點數,大小為4bytereal*8 a !宣告a為一個雙精確度浮點數,大小為8byte單精確度可記錄的數值最大為3.4*10^38,最小為-3.4*10^383、複數FORTRAN是少數有提供複數型態的程式語言,宣告方法如下complex a設定複數的方法如下:a=(x,y) !x為實部,y為虛部例如我們設a=(3,8)就表示a是3+8i範例:sample3.f90則執行結果如下a+b= (4.0,5.3)a-b= (-2.0,-3.3000001)a*b= (-1.3000002,7.3)a/b= (0.2655511,-0.047289926)4、字元及字串宣告一個字元的方法如下CHARACTER a宣告字串的方法如下CHARACTER(10) A !宣告A這個字串的最大長度為10另外使用下面幾種宣告語法也是相同的結果CHARACTER*10CHARACTER(LEN=10)CHARACTER*(10)宣告好之後,我們要給予這個變數一個初始值的方法如下:A=”字串內容”!雙引號在FORTRAN90適用A=’字串內容’!單引號在部份FORTRAN77及所有FORTRAN 90都適用輸入指令的基本語法如下:INTEGER AREAD (*,*) A !讀入一個整數,並存到A內READ (5,*) A !同上READ(UNIT=5, FMT=*) A !同上第一個星號表示輸入的來源使用內定的裝置,第二顆星號來源表示不指定輸出格式。
鍵盤的輸入位置是5,也就是預設位置,所以可以用星號代替鍵盤代碼。
格式化輸出格式化輸出入的控制字元非常豐富,但是常用的並不多,在這裡我們只示範幾個比較常用的部份。
A.關於IWRITE(*,”(I5)”) 100 !用5個字元的欄位來輸出一個整數OUTPUT : _ _ 1 0 0WRITE(*,”(I3)”) 100000OUTPUT: * * *輸出10000需要5個欄位,但是輸出格式只給三個字的欄位,因此印出三顆星號作為警告WRITE(*,”(I5.4)”) 3 !輸出五個字元欄位,至少輸出4位,不足補0OUTPUT: _ 0 0 0 3B.關於FWRITE(*,”(F9.3)”) 123.45 !輸出9個字元欄位,包括小數部份3個位數OUTPUT: _ _ 1 2 3 . 4 5 0C.關於EWRITE(*,”(E15.7)”) 123.45! 用科學計號表示法,輸出15個字元欄位,小數部份佔7位OUTPUT : _ _ 0 . 1 2 3 4 5 0 0 E + 0 3D.關於AWRITE (*,”(A10)”) “HELLO”!用10個字元寬度輸出字串OUTPUT: _ _ _ _ _ H E L L OWRITE (*,”(A3)”) “HELLO”OUTPUT : H E LE.關於BWRITE (*,”(B6.5)”) 3 !把3變成二進位輸出,字6個字元寬,至少輸出5位OUTPUT : _ 0 0 0 1 1F.關於XWRITE (*,”(3X)”) 20 !輸出前先填3個空白字元OUTPUT: _ _ _ 2 0變數名稱的取名原則變數名稱的長度限制隨著各家編譯器而有所不同。