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》是当今全世界每一个计算机科学家所膜拜的圣经。
- 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變數名稱的取名原則變數名稱的長度限制隨著各家編譯器而有所不同。