精選分類 書庫 完本 排行 原創專區
欣可小說 > 曆史 > 程式設計語言處理係統 > FORTRAN

程式設計語言處理係統 FORTRAN

作者:池昌海 分類:曆史 更新時間:2026-04-29 09:20:01

{

\"code\": 200,

\"title\": \"\",

\"content\": \"FORTRAN,亦譯為福傳,是英文“FORmulaTRANslator”的縮寫,譯為“公式翻譯器”,它是世界上最早出現的計算機高級程式設計語言,廣泛應用於科學和工程計算領域。FORTRAN語言以其特有的功能在數值、科學和工程計算領域發揮著重要作用。\\n\\n早在1951年,美國IBM公司約翰·貝克斯(JohnBackus)針對組合語言的缺點著手研究開發FORTRAN語言,並於1954年在紐約正式對外釋出。稱約翰·貝克斯提出的FORTRAN語言為FORTRANⅠ,FORTRANⅠ雖然功能簡單,但它的開創性工作,在社會上引起了極大的反響。到1957年第一個FORTRAN編譯器在IBM704計算機上實現,並首次成功運行了FORTRAN程式。\\n\\n在1958年,對FORTRANⅠ進行了擴充和完善,引進了子函數等概念,推出了商業化的FORTRANⅡ版本。之後,FORTRAN語言發展迅速,多種版本相繼在其它計算機上實現。\\n\\n在1962年,推出了FORTRANⅣ。FORTRANⅣ冇有充分考慮相容性,導致FORTRANⅡ程式不能在FORTRANⅣ係統中運行,使其應用受到了很大限製,這時語言不相容性問題和影響被突出表現出來。此前也出現過FORTRANⅢ,但由於存在嚴重缺陷,冇有在計算機上實現。\\n\\n隨著FORTRAN語言版本的不斷更新和變化,語言不相容性問題日益突出,語言標準化工作被提上了日程。1962年5月,美國標準化協會(簡稱ANSI)成立相關機構著手進行FORTRAN語言標準化的研究工作,並於1966年正式公佈了兩個標準文字:美國國家標準FORTRAN(ANSIX3.9-1966)和美國國家標準基本FORTRAN(ANSIX3.10-1966),前者相當於FORTRANⅣ,後者相當於FORTRANⅡ。基本FORTRAN是美國國家標準FORTRAN的一個子集,從而實現了語言的向下相容,初步解決了語言的相容性問題。通常稱美國國家標準FORTRAN為FORTRAN66。FORTRAN66的推出在國際上產生了廣泛影響,1972年國際標準化組織(簡稱ISO)在FORTRAN66基礎上製定了FORTRAN語言三級國際標準:基本級、中間級和完全級。\\n\\n20世紀60代末,結構化程式設計方法提出後,具有結構化特征的程式設計語言開始出現,如:ALGOL、PASCAL、MODULA、C等。如何將結構化特征引入FORTRAN66引起計算機廠商和研究機構的高度重視,許多計算機廠商開始對FORTRAN66進行不同程度的擴充,引入了結構化特征。針對這種情況,ANSI於1976年對FORTRAN66(ANSIX3.9-1966)進行了修訂,吸收了計算機廠商所擴充的一些行之有效的功能,同時增加了許多新內容。ANSI於1978年4月正式公佈了新的美國國家標準(程式設計語言FORTRANANSIX3.9-1978),同時宣佈撤消ANSIFORTRAN3.9-1966,通常稱新標準為FORTRAN77(該版本原計劃1977年公佈)。FORTRAN77向下相容FORTRAN66。在1980年,FORTRAN77被ISO正式確定為國際標準ISO1539-1980,該標準分全集和子集。FORTRAN77推出後,由於具有結構化特征,在社會上得到了廣泛應用,同時由於擴充了字元處理功能,在非數值處理領域也能大顯身手。\\n\\n20世紀80年代末,FORTRAN77結構化和現代化的研究開始興起,到1991年5月,ANSI公佈了新的美國國家標準FORTRAN(ANSI3.198-1991)。之後,ISO采納該標準,並確定為國際標準ISO\\/IEC1539-1:1991,新國際標準還采納了我國計算機和資訊處理標準化技術委員會程式設計分會提出的多字節字元集數據類型及相應的內部函數,為非英語國家使用計算機提供了極大的方便。通常稱新標準為FORTRAN90,FORTRAN90向下相容FORTRAN77。之後不久又出現了FORTRAN95。\\n\\nFORTRAN90的推出,使傳統FORTRAN語言具有了現代氣息。Fortran2003的規則已經由ISO組織製定釋出。\\n\\nWindows平台下,微軟公司將FORTRAN90無縫整合在DeveloperStudio整合開發環境之中,推出了MicrosoftFORTRANPowerStation4.0,使FORTRAN90真正實現了可視化編程,徹底告彆了傳統DOS環境(字元介麵),轉到了現代Windows環境(視窗介麵),共享微軟公司Windows平台的豐富資源。\\n\\n在1997年3月,微軟公司和數據設備公司(DigitalEquipmentCorp,簡稱DEC)強強聯合,合作研究、開發和推出了功能更強的FORTRAN語言新版本:\\n\\nDigitalVisualFORTRAN5.0,它是MicrosoftFORTRANPowerStation4.0的升級換代產品。DEC公司在高效能科學和工程計算方麵擁有世界領先技術,其高質量的FORTRAN編譯器遍及全球。1998年1月,DEC與Compag公司合併,DEC成為Compag公司的全資子公司,於是DigitalVisualFORTRAN更名為CompaqVisualFORTRAN,其最新版本為CompagVisualFORTRAN6.6。Compaq和HP合併之後,Compaq的Fortran小組和Intel的Fortran開發小組合併,開發出來IntelFotran編譯器9,有linux和windows2個版本,其windows版本為IntelVisualFortran,可以和微軟的VisualStudio.net整合。Windows平台下還有PGI,Absoft,Intel等多個商業公司的Fortran編譯器,還有大量小公司的免費Fortran編譯器。\\n\\nopenMPI使Fortran等語言可以容易且免費的實現並行計算。\\n\\nLinux平台下,其gcc編譯器默認支援fortran,另外有Intel,SunStudio,openMPI,Photran等共享編譯器和PGI,Absoft,lachy,IBM,SGI,HP等多個版本的商業編譯器。\\n\\n支援Fortran2003標準的編譯器行將推出,新版本的SunStudio編譯器已經支援部分Fortran2003語法。\\n\\nFortran語法的版本\\n\\nFORTRANI\\n\\n最早的FORTRAN版本應用於IBM704係統上,包含了32種語句,包括:\\n\\nDIMENSION和EQUIVALENCE語句賦值語句三態算術IF語句。以IF這個陳述式檢查例外情況(ACCUMULATOROVERFLOW,QUOTIENTOVERFLOW和DIVIDECHECK);IF語句以處理判斷開關和判斷指示燈GOTO,計算的GOTO,ASSIGN,和賦值GOTODO循環格式化的輸入與輸出(FormattedI\\/O):FORMAT,READ,READINPUTTAPE,WRITE,WRITEOUTPUTTAPE,PRINT和PUNCH非格式化的輸入與輸出(UnformattedI\\/O):READTAPE,READDRUM,WRITETAPE和WRITEDRUM其他的輸入與輸出:ENDFILE,REWIND,和BACKSPACEPAUSE,STOP,和CONTINUEFREQUENCY語句(為編譯器提供優化幫助)\\n\\nFORTRANII\\n\\n1958年IBM又推出FORTRANII.支援使用者撰寫副編程(subroutines)以及函數(functions)。有六個新陳述如下:\\n\\nSUBROUTINE,FUNCTION,和ENDCALL和RETURNCOMMON接下來的幾年內,FORTRANII繼續又支援DOUBLEPRECISION和COMPLEX等資料型態(datatypes)。\\n\\nFORTRANIII\\n\\nIBM繼續開發FORTRANIII至1958年時已可以內建組合語言碼並新增其它功能;然而這個版本卻從未推出。有如704FORTRAN和FORTRANII、FORTRANIII等的開發過程包含了過多的機器相依性(machine-dependent),造成編程碼不易移植到其他機器上的問題。早期提供FORTRAN版本的廠商經常為此所苦\\n\\nFORTRANIV\\n\\n自1961年開始,由於客戶的強烈要求,IBM開始發展FORTRANIV,目的在於移除一些FORTRANII中過於依賴機器本身的編程碼(例如:READINPUTTAPE)同時新增一些新的功能,如LOGICAL資料型彆。布爾類型(TRUE或者FALSE)與邏輯IF語句則取代了算術IF語句。FORTRANIV於1962年推出,最早應用於IBM7030(\\\"Stretch\\\")計算機之上,以及其接續的IBM7090和IBM7094版本。\\n\\nFORTRAN66\\n\\n早期的FORTRAN語言發展史上最重要的一件大事也許是美國標準協會(AmericanStandardsAssociation,即今日的ANSI)的委員們開始為FORTRAN製定標準規格,名為\\\"AmericanStandardFortran.\\\"1966年委員會推出兩套FORTRAN標準版本,分彆定義成FORTRAN(基於FORTRANIV,用來應付defacto標準)和BasicFORTRAN(基於FORTRANII,並且移除其平台依賴性)。FORTRAN第一套標準後來被稱為FORTRAN66(大家仍習慣稱之為FORTRANIV)。FORTRAN66有效的成功第一套工業標準版的FORTRAN。其功能如下:\\n\\n主程式,SUBROUTINE,FUNCTION和BLOCKDATA程式單元INTEGER,REAL,DOUBLEPRECISION,COMPLEX和LOGICAL數據類型COMMON,DIMENSION和EQUIVALENCE語句DATA語句用以指定初始值內部和EXTERNAL(例如庫)函數賦值語句GOTO,賦值GOTO和計算GOTO語句邏輯IF和算術(三態)IF語句DO循環READ,WRITE,BACKSPACE,REWIND和ENDFILE語句以處理順序讀寫FORMAT語句CALL,RETURN,PAUSE和STOP語句DATA和FORMAT語句中的霍爾瑞斯常數,作為子程式的實際參數最長六個字母的標識符註釋行\\n\\nFORTRAN77\\n\\n在FORTRAN66標準推出之後,各家編譯器廠商不斷推出更具擴充性的標準FOTRAN(\\\"StandardFortran\\\"),這使得ANSI於1969年開始著手於1966標準版本的修正工作。最後定稿於1977年,1978年四月正式推出FORTRAN。新的標準規格也就是著名的FORTRAN77,這個版本是基於FORTRAN66之上新增許多功能,彌補過去的缺點:\\n\\nCHARACTER數據類型,極大地擴展了的字元輸入和輸出以及對基於字元的數據進行處理的工具IMPLICIT語句IF語句塊,以及可選的ELSE和ELSEIF從句,提供改進了的對結構化編程的語言支援。OPEN,CLOSE和INQUIRE語句以改進I\\/O能力直接訪問檔案I\\/OPARAMETER語句以指定常數SAVE語句以儲存本地變量內部函數的通用名稱1978年推出了一個重要的版本FORTRAN77是為MIL-STD-1753Release版。這個規格由美國國防部製定,這個標準化的FORTRAN77編譯器並未引入ANSIFORTRAN77標準。一些新功能最終合併到Fortran90標準版。\\n\\nDOWHILE和ENDDO語句INCLUDE語句IMPLICITNONE變量,用於IMPLICIT語句位處理內部函數,基於類似的包含在工業實時Fortran(ANSI\\/ISAS61.1(1976))中的函數1991年推出IEEE1003.9POSIX標準版,為Fortran-77的編程人員提供了POSIXsystem上的呼叫。有超過一百種功能呼叫被定義在檔案上。允許存取POSIX-相容的行程控製(processcontrol)、信號取得(signalhandling)、檔案係統控製(filesystemcontrol)、裝置控製(devicecontrol)、程式指定(procedurepointing),以及資料流的輸入與輸出(streamI\\/O)。\\n\\n由於成功的修正了FORTRAN77發展流程,使得原本過於緩慢重複的編程設計可以順利的應付計算機領域迅速的變化。同時,作為將近15年的“標準FORTRAN”,FORTRAN77成為曆史上最重要的一套電腦語言。\\n\\nFORTRAN90\\n\\nFORTRAN77的被嚴重推遲的後續版本,非正式的名稱是Fortran90,最終於1992年作為ANSI標準被髮表。這一大版本新增了許多新特性以反映自1978年標準以來發展的在編程方麵顯著的變化:\\n\\n自由格式源代碼輸入,以及小寫的Fortran關鍵字模塊,將有關聯的過程和數據組合在一起,使它們可以被其它程式單元調用,包括允許限製一些模塊的特定部分訪問。RECURSIVE過程極大地改善了參數傳遞機製,允許在編譯時檢查介麵通用過程的用戶自定義介麵操作符重載派生\\/抽象數據類型新的數據類型定義語法,以指定數據類型和變量的其它屬性可以在表達式和賦值語句中按整體操作數組(或數組節),由此極大地簡化了數學和工程計算。這些特性包括整體、部分和通配的數組賦值(比如用WHERE語句作選擇性賦值),數組常數和表達式,用戶定義的數組函數和數組構造。動態內存分配通過ALLOCATABLE屬性和ALLOCATE和DEALLOCATE語句POINTER屬性,指針賦值和NULLIFY語句以便於創建和操作動態數據結構CASE結構以用於多路選擇EXIT和CYCLE語句以用於在按順序地\\\"跳出\\\"正常的DO循環重複最長31個字元的標識符行內註釋用戶可控製的可定義的數字精度新的和增強的內部過程\\n\\nFORTRAN95\\n\\nFortran95僅是一個小改版,大部份修正了Fortran90standard一些較為顯著的問題。雖然如此,Fortran95仍有不少的擴充,尤其是在HighPerformanceFortran的規格:\\n\\nFORALL和巢狀的WHERE結構以幫助向量化用戶定義的PURE和ELEMENTAL過程Fortran95的一個重要補充是ISO技術報告TR-15581:增強的數據類型工具,非正式名稱是可分配的TR。這一標準定義了ALLOCATABLE數組的增強的應用,先於與完全的Fortran2003相容的Fortran編譯器,以供使用。這些使用包括在過程偽參數列表中以及將函數返回值使用ALLOCATABLE數組作為派生的類型組件。(ALLOCATABLE數組比基於POINTER的數組更受歡迎,因為ALLOCATABLE數組是由Fortran95保證的,當它們退出範圍時會被自動釋放掉,避免了內存溢位的可能性。另外,彆名也不再是優化數組引用時的一個問題,可以使編譯器生成比用指針時更快的代碼。)\\n\\nFortran95的第二個補充是ISO技術報告TR-15580:浮點異常處理,非正式名稱是IEEETR。這一標準定義了對IEEE浮點算術和浮點異常處理的支援。\\n\\nFORTRAN2003\\n\\n最新的版本,Fortran2003,有著更大幅度的改版。ISOFortranWorkingGroup(WG5)的官方網站有關於Fortran2003新特性的詳細總結,並有PDF檔案PDF或者壓縮PostScript檔案可供直接下載。\\n\\n據該文所述,本版本的主要改進包括:\\n\\n增強了衍生類型:帶參數的衍生類型,改善了控製的可操作性,改善了結構化的創建和釋放。支援麵向對象編程:擴展類型和繼承,多態,動態類型分配,以及類型綁定過程。改善了數據操作:可分配的組件(編入IEEETR15581),延期的類型參數,VOLATILE屬性,在數組構造和分配語句中顯式定義類型,增強的指針,擴展的初始化表達式,增強的內部過程。增強的輸入\\/輸出:異步傳輸,流訪問,用戶指定衍生類型的傳輸操作,用戶在格式轉換時指定舍入控製,為連接前單元指定常數,FLUSH語句,關鍵字的規範,訪問錯誤資訊。過程指針。支援IEEE浮點演算法和浮點異常處理(編入IEEETR15580)。與C語言的互動性支援國際化:訪問ISO106464字節字元和在格式化的數字輸入\\/輸出中選擇數字或者逗號。與宿主操作係統增強的整合:訪問命令列參數,環境變量和處理器錯誤資訊。\\n\\nFORTRAN2008\\n\\nFortran2003之後的下一個版本是Fortran2008.一如Fortran95,這隻是一個小改版,略微更正了Fortran2003的一些問題,並且合併了TR-19767的語言功能。\\n\\n如同February2007,新的功能包括了Co-arrayFortran–平行處理模式BIT資料型態。2007年8月,資料型態BIT被刪除了。2008年2月,Coarrays的計劃已縮小,僅有ParallelI\\/O,而研發團隊也被裁員了。\\n\\nFortran的特性\\n\\nFortran語言的最大特性是接近數學公式的自然描述,在計算機裡具有很高的執行效率。\\n\\n易學,語法嚴謹。\\n\\n可以直接對矩陣和複數進行運算,這一點類似matlab。\\n\\n自誕生以來廣泛地應用於數值計算領域,積累了大量高效而可靠的源程式。\\n\\n很多專用的大型數值運算計算機針對Fortran做了優化。\\n\\n廣泛地應用於並行計算和高效能計算領域。\\n\\nFortran90,Fortran95,Fortran2003的相繼推出使Fortran語言具備了現代高級編程語言的一些特性。\\n\\nFortran語言的HelloWorld程式\\n\\n下麵是一個在標準輸出設備上使用Fortran90輸出HelloWorld的簡單程式,這種程式通常作為開始學習編程語言時的第一個程式:\\n\\nprogrammain\\n\\nprint*,'helloworld'\\n\\nend\\n\\nFortran編譯器\\n\\nWindows操作係統下:\\n\\nFortranPowerStation4.0(FPS4.0),微軟公司開發的Fortran編譯器。1997年3月轉讓給DEC公司。\\n\\nDigitalVisualFortran(DVF),FortranPowerStation的DEC公司版本。\\n\\nCompaqVisualFortran(CVF),1998年1月,DEC公司被康柏公司收購,DigitalVisualFortran更名為CompaqVisualFortran。一個著名的版本是CompaqVisualFortran6.5。目前康柏公司已併入惠普公司。CompaqVisualFortran的最新版是6.6。\\n\\nIntelFortran,英特爾公司的開發的Fortran編譯器。\\n\\nLaheyFortran\\n\\nAbsoftFortran\\n\\nOpenWatcom\\n\\nLinux操作係統下:\\n\\nPGIFortran\\n\\nG77,GNU的Fortran77編譯器,整合在GCC中。\\n\\nGFORTRAN,GNU的最新的Fortran編譯器,整合在GCC4.0中,目的是支援Fortran95和一部分Fortran2003的功能,以替代G77。\\n\\ng95,跟GFORTRAN同為開放源代碼的Fortran95編譯器。\\n\\nFortran程式包\\n\\n幾個著名的Fortran程式包:\\n\\nIMSL--國際數學和統計鏈接庫\\n\\nBLAS--BasicLinearAlgebraSubroutines\\n\\nLAPACK--LinearAlgebraPACKage\\n\\nFORTRAN90是ISO(國際標準化組織)於1991年推出的最新標準,我國國家標準是GB\\/T3057-1996.除了保持FORTRAN77的全部優點之外,又增加了許多具有現代特性的功能,使他成為具有良好的結構特性,鮮明的時代特性的程式設計語言.程式設計是計算機基礎教育的基礎與重點,高級語言程式設計課是繼微機應用基礎之後的一門必修的基礎課,目的是向學生介紹程式設計的基礎知識,使學生掌握高級語言程式設計的基本方法,具有應用計算機的初步能力,並培養學生掌握用計算機處理問題的思維方法。通過該課程的學習,要求學生瞭解FORTRAN語言的特點,基本成份及使用方法,具有閱讀程式和初步編程的能力。進行演算法的初步訓練,掌握最基本演算法的設計和實現方法。掌握結構化程式設計方法,能設計出良好風格的程式。具有調試程式的基本能力。\\n\\nFortran的將來\\n\\nFortran語言是一種極具發展潛力的語言,在全球範圍內流行過程中,Fortran語言的標準化不斷吸收現代化編程語言的新特性,並且在工程計算領域仍然占有重要地位。\\n\\n不可否認,Fortran語言與目前流行的JAVA,C#等高級語言相比,它缺乏創造力。但是,工科學生必須注意到,由於Fortran在工程計算領域長期處於統治地位,很多優秀的工程計算軟件都是運用fortran語言編寫,例如ANSYS,Marc,為了能夠使用這些商業軟件的高級功能,必須先學會fortran語言,才能編寫應用程式介麵。\\n\\n在數值計算中,Fortran語言仍然不可替代。Fortran90標準引入了數組計算等非常利於矩陣運算的功能。在數組運算時,Fortran能夠自動進行並行運算,這是很多編程語言不具備的。運用fortran語言,你能夠運用很多現成的函數軟件包,所以非常便利。(目前流行的Matlab的早期版本,主要就是為兩個著名的Fortran函數包提供程式介麵)\\n\\n\"

}

目錄
設置
設置
閱讀主題
字體風格
雅黑 宋體 楷書 卡通
字體風格
適中 偏大 超大
儲存設置
恢複默認
手機
手機閱讀
掃碼獲取鏈接,使用瀏覽器打開
書架同步,隨時隨地,手機閱讀
收藏
聽書
聽書
發聲
男聲 女生 逍遙 軟萌
語速
適中 超快
音量
適中
開始播放
推薦
反饋
章節報錯
當前章節
報錯內容
提交
加入收藏 < 上一章 章節列表 下一章 > 錯誤舉報