Fortran95简介-全文版
- 格式:doc
- 大小:74.00 KB
- 文档页数:13
fortran95程序设计
Fortran95一门面向应用的编程语言,用于开发科学和工程应用软件,它继承了Fortran77的优点,又增添了很多新特性。
这些特性大大改善了编程效率,使Fortran95程序设计更加灵活、更具有扩展性。
首先,Fortran95可以使用动态数组和变量名数量(变量名的长度从6个字符提高到32个字符),这样就可以更加清楚地定义问题和程序功能。
此外,Fortran95中允许使用数据类型,它允许开发者使用自定义数据类型,这样可以更加清楚地描述程序的结构和功能。
其次,Fortran95支持更多的编程模型,如结构化编程,面向对象编程,组件设计,它使程序设计变得更具灵活性,能够更有效地编写程序代码,从而提高程序的执行效率。
此外,Fortran95还提供了许多存储器管理的功能,以更好地实现内存的动态分配和释放,使程序运行更快。
它还提供了一些语言特征,如变量的定义和数组的声明,能够更好地维护程序的可读性和可维护性。
另外,Fortran95还具有跨平台功能,允许用户在不同的操作系统之间迁移程序,以及在不同的系统上并行运行程序,这些特性也可以提高程序的性能。
总之,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的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应该不会陌生。
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應該不會陌生。
第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在以往的几十年中已经被不断地改进和扩展,但是它仍然存在一些问题。
例如,它只支持有限的异常处理机制,无法处理
不同层级的异常。
此外,一些新的编程语言,如Python和R,已经逐渐取代了Fortran在科学计算和工程学科中的地位。
总之,Fortran 95程序设计是一门高级编程语言,具备简洁性、高效性、易实现性和易维护性的特点。
虽然它可能存在一些缺陷和限制,但是对于需要高效可靠的科学计算和工程解决方案的行业和领域,Fortran 95仍然是一个很好的选择。
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第三章循环程序设计第三章的内容包括:1.DO循环:DO循环是FORTRAN中最基本的循环结构。
它允许我们指定循环变量的初始值、结束值和步长。
在每次循环迭代时,循环变量都会自动更新,并且在达到结束值时退出循环。
2.嵌套循环:FORTRAN也支持嵌套循环,这是在一个循环内部使用另一个循环。
嵌套循环使得我们能够处理更加复杂和具有分层结构的问题。
3.WHILE循环:FORTRAN还提供了类似于其他编程语言中的WHILE循环。
WHILE循环允许我们在循环前先检查一个条件,并且只要条件为真,就会继续执行循环体。
4.无限循环:有时候需要创建一个无限循环,即一个永远不会结束的循环。
在FORTRAN中,我们可以使用无条件的循环退出语句来跳出循环。
5.循环控制:在循环内部,我们可以使用控制语句来控制循环的执行方式。
这些控制语句包括CONTINUE、EXIT、CYCLE和END。
6.循环的应用:循环结构在许多数学和科学计算问题中都有广泛应用,如求和、求平均值、计算阶乘、寻找最大和最小值等。
循环程序设计是编程中非常重要的一部分,因为它可以帮助我们处理大数据集和执行复杂算法。
FORTRAN95提供了一系列强大的循环结构,使得我们能够更加灵活和高效地处理各种问题。
在循环程序设计中,重点应该放在优化循环的执行。
通过合理地选择循环变量的初始值、结束值和步长,以及使用合适的循环控制语句,可以使循环更加高效。
此外,避免在循环体内进行过多的计算和IO操作,可以减少循环的执行时间。
总之,循环程序设计是编程中一个基本但重要的概念。
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簡介-全文版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變數名稱的取名原則變數名稱的長度限制隨著各家編譯器而有所不同。