




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
VisualFortran90程序設計(chénɡxùshèjì)編譯器簡介(jiǎnjiè)§2.4程序單元(dānyuán)概念§2.1Fortran語言的發展§2.2源程序及其構成§2.3語言元素第一頁,共50頁。1、運行VisualFortran6.6(FortranPowerStation4.0)2、文件——新建——Workspaces標簽:輸入:Workspacename;此步可省略,直接進入第3步(最好改為(ɡǎiwéi)d:\)3、File-New-Projects標簽選擇:Win32ConsoleApplication輸入:name其它采用默認值三、開發自己(zìjǐ)的簡單應用程序第二頁,共50頁。第三頁,共50頁。第四頁,共50頁。a、創建project時將自動創建同名的workspaceb、生成projectname的文件夾(目錄)打開后:自動形成Debug目錄,形成*.dsw文件4、File-New-File標簽:選擇:FortranfreeFormat…(自由格式).F90或FortranFixedFormat…(固定格式).For輸入:文件名(擴展名不輸入)其它(qítā)默認,選中addtoproject復選項會自動形成*.f90或*.for的文件。第五頁,共50頁。第六頁,共50頁。5、輸入文件內容、存盤(文件菜等)注意自由格式和固定格式輸入的區別。6、Build—Compile:編譯Build—Build:連接Build—Exetuce:運行重復3~6進行第二個源程序(注意一個項目中只能含有1個主程序文件,不能將兩個獨立的程序文件放入同一個項目中,否則會導致(dǎozhì)編譯錯誤。)或用DEL移去已建立的文件,重復4~6第七頁,共50頁。第八頁,共50頁。編譯連接執行第九頁,共50頁。注意:1)所移去的文件僅從此項目中移去,目錄下該文件仍然存在。2)所重復的不得與以前的文件名同名。7、下次重新修改程序時,可直接使用(shǐyòng)菜單File/OpenWorkspace來打開*.dsw的工程文件。第十頁,共50頁。第二章FORTRAN語言(yǔyán)的發展簡史第十一頁,共50頁?!?.1Fortran語言(yǔyán)的發展簡史一、FORTRAN含義及其適用范圍FORmulaTRANslator公式翻譯器科學(kēxué)和工程計算問題的程序設計語言二、發展(fāzhǎn)簡史代表性:19571958FORTRANⅡ1962FORTRANⅣ1978FORTRAN771991.FORTRAN901997.FORTRAN95第十二頁,共50頁。§2.2FORTRA90源程序基本(jīběn)結構1、由若干個程序單元(位)組成:主程序、外部子程序、模塊、塊數據(shùjù)單元2、主程序結構[program程序名稱]一般省略[聲明語句部分][執行語句部分]END[program[程序名稱]]3、END停止運行結束(jiéshù)標記第十三頁,共50頁。書寫(shūxiě)格式Fortran程序代碼的編寫(biānxiě)格式有兩種:FreeFormat(自由格式)擴展名:.F90建議所有程序全部改用自由格式來編程FixedFormat(固定格式)擴展名:.F或.FOR第十四頁,共50頁。書寫(shūxiě)格式FixedFormat(固定(gùdìng)格式)第1個字符如果是字母c、C或*,這一行文本會當成說明或批注,不會被編譯。第1~5個字符如果是數字,就是用來給這一行程序代碼取個代號,不然只能是空格。第6個字符如果是非0非空的任何字符,表示這一行程序會接續上一行。第7~72個字符Fortran程序代碼的編寫區域。第73個字符以后不使用這些列,語句超過該列的部分會被忽略,有的編譯器會發出錯誤信息。第十五頁,共50頁。書寫(shūxiě)格式1.CFIXEDFORMATDEMOPROGRAMMAINWRITE(*,*)‘HELLO’WRITE(*,*)1’HELLO’100WRITE(*,*)’HELLO’10STOPEND程序代碼命令之間的空格,不會有任何意義。FIXEDFORMAT是為了配合早期使用穿孔卡片輸入程序所發明(fāmíng)的格式。第十六頁,共50頁。FreeFormat(自由格式)基本上允許非常自由的編寫格式,它沒有規定每一行的第幾個字符有什么作用,但要注意:1.!感嘆號后面的文本都是注釋。2.每行可以編寫132個字符。3.行號放在每行程序的最前面。4.一行程序代碼的最后如果(rúguǒ)是符號&,代表下一行程序會和這一行連接。如果(rúguǒ)一行程序代碼的開頭是符號&,代表它會和上一行程序連接。5.程序命令之間的空格,無意義。書寫(shūxiě)格式第十七頁,共50頁。書寫(shūxiě)格式1.!FreeFgrammain3.write(*,*)”Hello”!這也是注釋(zhùshì)4.write(*,*)&5.”Hello”6.wri&7.&te(*,*)”Hello”8.end如果把Fortran的關鍵字分為兩行書寫,則兩行都要加續行符號。如6、7行。第十八頁,共50頁。注釋(zhùshì)語句:!后的所有字符都被編譯器忽略(非語句行)可獨占一行,可在其它語句之后,
語句行:可執行語句:輸入(shūrù)、賦值、輸出說明語句:用于說明變量的類型、屬性等注意(zhùyì):第十九頁,共50頁。行的書寫(行的長度、分行、續行)一行可以是0~132個字符,空格有意義,語句最長不超過2640個字符一行可以有多個語句,用“;”分隔一個語句可分行寫,讀行標記為&(放在尾部(wěibù)),但如為關鍵字,首尾均加&。最多可有511個續行。例pro&&grammain書寫(shūxiě)格式第二十頁,共50頁??崭瘢宏P鍵字、變量、常量內部不能用空格,但相鄰兩者之間須用空格語句前標號僅用于標識一個語句,與運行順序無關。語句有位置(wèizhi)規定說明語句必須出現在可執行語句之前,格式說明語句(FORMAT語句)除外。書寫(shūxiě)格式第二十一頁,共50頁。§2.3語言(yǔyán)元素Fortran90的語言(yǔyán)元素是指在程序設計中所用到的基本成分,例如字符集、常量、變量、記號以及其它的基本結構等。只有了解并掌握了這些基本要素,才可能正確自如地使用該種語言(yǔyán)。2.3.1FORTRAN90字符集:編寫Fortran90程序時,所能使用的所有字符及符號。⑴A~Z(a~z)程序中不區分大小寫26個在大多數處理系統(xìtǒng)中允許使用小寫字母,除了字符串內的字符外,小寫字母等價于相應的大寫字母。第二十二頁,共50頁。⑵0~910個⑶空格=+-*/(),:.$‘22個⑷_(下劃線)、!、”、%、&、;、>、<、?注意:1、在FOR源程序中,只能使用以上字符2、字符型數據內可以出現任意字符(包括漢字)命名規則:1~31個字符,由字母、數字、下劃線組成,第一個字符為字母全局名:主程序單元、外部過程(guòchéng)、數據塊、模塊2.3.1FORTRAN90字符集第二十三頁,共50頁。在Fortran90中,將字母、數字或專用字符的基本有效的序列稱為記號,它包括標號、關鍵字、名字、常數、運算符和定界符。例如:A*SIN(x)+5.3這個表達式包括6個記號,即A、*、SIN、x、+、5.3。注意:在字符串內部,不能隨意地添加空格。在記號內部,也不許隨意地使用空格。記號與記號之間的空格可以隨意地使用。多個空格在語法上與一個空格的作用相同。一個記號與相鄰(xiānɡlín)關鍵字、名字、常數或標號之間,應當用一個或多個空格分開,以避免錯誤,同時也使結構清晰。2.3.2記號(jìhɑo)第二十四頁,共50頁。常量(chángliàng)的定義:常量(chángliàng)是程序執行過程中不能變化的量?;緮祿愋陀形宸N:整型、實型、復型、字符型和邏輯型前三種屬于數值類型,后兩種為非數值類型,主要用于文字處理和控制。2.3.3基本(jīběn)類型常量第二十五頁,共50頁。I格式(整數格式)一般形式:Iw或:Iw.m其中:w一個數據占的位數寬度(又稱“字段寬度”),m需要輸出(shūchū)的最少數字位數。Fortran的數據類型F格式(又叫小數型格式)一般形式(xíngshì):Fw.dw各數值占的總位數,d輸出數據的小數位數(小數點后的位數)。第二十六頁,共50頁。Fortran的數據類型E格式(又叫指數型格式)一般(yībān)形式:Ew.dw各數值占的總位數,d輸出數據的小數位數(小數點后的位數)。G格式G格式可以根據輸出(shūchū)的實數大小決定用小數形式(F格式)輸出(shūchū)或指數形式(E格式)輸出(shūchū)。當輸出(shūchū)大數值或小數值時自動按E格式,當輸出(shūchū)的數不大不小時用F格式。其一般形式為:Gw.d第二十七頁,共50頁。Fortran的數據類型D格式一般形式:Dw.a用于雙精度數據的輸出,使用方法與E格式相仿(xiāngfǎng),只是把字母“E”換成“D”。L格式一般形式(xíngshì):Lw用于邏輯型數據的輸出,w輸出數據的字段寬度。邏輯值“.TRUE.",在輸出時打印一個字母T;邏輯值".FLASE.",在輸出時打印一個字母F。第二十八頁,共50頁。Fortran的數據類型X格式一般形式:nX用于輸出空格,n輸出的空格數目。即插入n個空格,或者說,使打印(dǎyìn)的“當前位置”向右移動n列。/(斜杠)格式斜杠(/)編輯(biānjí)符的作用是:結束本記錄的輸出并開始下一個記錄的輸出。第二十九頁,共50頁。字符(CHARACTER)計算機除了存儲數字(shùzì)之外,也可以在內存中記錄一段文本,字符類型可以記錄的東西非常廣,從鍵盤輸入的任何東西,不論是數字(shùzì)、文本或任何特殊符號,它都可以記錄,只記錄一個字母、符號時的數據類型稱為“字符”,記錄一連串的字符時,就稱為“字符串”,記錄一個西文字符需要一個字節的存儲空間。一個漢字為兩個字節的存儲空間。一般記為:Aw,w為字符數例:Character(LEN=10)::wordlen=10可以直接寫為10或缺省長度為1;如只有一個沒有命名的參數,一定是長度整數Fortran的數據類型第三十頁,共50頁。Fortran的數據類型FORMAT(1X,S)其中:1X縱向走紙符,S輸出格式,用不同的“格式編輯符”(簡稱“編輯符”)來實現指定的輸出格式,各格式間用逗號相隔(xiānggé)。FORMAT語句又叫“格式語句”,是一個非執行語句,本身不產生任何操作,只是提供輸入或輸出的格式。FORMAT語句可以出現在程序的任何地方(但必須在PROGRAM語句之后和END語句之前,如果在子程序中用FORMAT語句,則應在子程序定義語句之后)。第三十一頁,共50頁。2.3.4名字(míngzi)對于名字有下列要求:1.名字的長度不能超過31個字符2.名字的組成成分可以是字母、數字和下劃線3.名字的第一個字符必須是字母4.在名字中不能出現空格提倡使用具有一定含義(hányì)的名字,提高程序的清晰度和可讀性。第三十二頁,共50頁。1、定義:程序運行過程中值(zhōnɡzhí)可變化的量2、命名的規則字母、數字、下劃線組成(zǔchénɡ)字母開頭長度1-31個錯例3A、x-3、3.14、A3$2.3.5變量(biànliàng)第三十三頁,共50頁。3、變量含義:實際是內存中的一個存儲單元,存放變量的值。特性:取之不盡,一沖就跑,總采用當前值參與運算。例:A=2.0AB B=3.0 A=A+B5.015.0 B=A*B注:A、B必須有確定值,如未定義,值不可預測(yùcè) (有時按0處理)2.03.0第三十四頁,共50頁。4、變量類型:基本類型有五種,同常量I-N規則(隱式說明):在程序變量名中,凡以字母I、J、K、L、M、N六個字母開頭的變量為整型變量。implicitnone可以取消I-N規則。五種變量的類型說明關鍵字:整型:INTEGER實型:REAL復型:COMPLEX邏輯型:LOGICAL字符(zìfú)型:CHARACTER待說明的變量放在后面,中間用雙分隔符::隔開,對于同時說明多個變量,變量之間用逗號分隔。第三十五頁,共50頁。Fortran90關于變量說明的新功能:1.在變量說明的同時(tóngshí),可以給變量賦初值。INTEGER::I=5,J=126REAL::X=7.2,Z,W=774.22.在說明變量的同時(tóngshí)也可說明其種別3.在說明變量的同時(tóngshí),還可說明變量的屬性INTEGER,PARAMETER::I=5,J=123REAL,DIMENSION(1:10)::A第三十六頁,共50頁。2.3.6派生(pàishēng)數據類型根據需要而由基本數據類型定義新的數據類型。在一個派生類型中可包含多個(duōɡè)基本類型。如:TYPESTUDENT(定義開始)CHARACTER(LEN=20)::DEPARTMENTCHARACTER(LEN=10)::CLASSCHARACTER(LEN=15)::NAMEINTEGER::NUMBER(成員定義)ENDTYPESTUDENT(定義結束)第三十七頁,共50頁。派生類型變量(biànliàng)的定義:TYPE(STUDENT)::PERSON變量(biànliàng)的賦值:PERSON=(”COMPUTER”,”92_2”,”LILIN”,21)成員的表示:PERSON%CLASS=“92_2”PERSON%NAME=“LILIN”第三十八頁,共50頁。2.3.7基本(jīběn)類型數組數組是具有相同類型的元素的有序集合。數組在使用之前必須說明。數組的說明:INTEGER,DIMENSION(1:50)::X;數組名為X,類型為整型,元素個數為50。INTEGER,DIMENSION(5,3)::B;數組名為B,類型為整型,元素個數為5*3個維界:1:50上界:下界缺省下界為1數組中元素的個數稱為它的大小(dàxiǎo),維數稱為秩,每維中元素的個數稱為維的長度,長度的序列稱為形。第三十九頁,共50頁。數組的引用:通過指定下標值的辦法來實現。下標值可為整數或整型表達式。下標值不能越界,個數必須與數組的秩相等。注意:1.允許(yǔnxǔ)對數組名進行運算。2.允許(yǔnxǔ)對數組片段進行操作。所謂數組片段是指數組中某些連續元素的重新組合。數組片段也是一個數組。第四十頁,共50頁。2.3.8字符(zìfú)子串字符(zìfú)型常量又叫字符(zìfú)串。一個字符(zìfú)串的一部分稱為子字符(zìfú)串或字符(zìfú)子串。字符(zìfú)數組:CHARACTER(LEN=1),DIMENSION(80)::ROW引用:ROW(I)字符(zìfú)串:CHARACTER(LEN=80)::ROW引用:ROW(I:I);ROW(4:7)特殊:ROW(:I)相當于ROW(1:I)ROW(I:)相當于ROW(I:80)ROW(:)相當于ROW(1:80)特定長度字符(zìfú)數組:CHARACTER(LEN=80),DIMENSION(25)::ROWC引用:ROWC(I)(J:J)第四十一頁,共50頁。2.3.9數據(shùjù)對象和子對象由一個名引用的對象:有名標量(biāoliàng)有名數組由子對象標志符引用的子對象是:數組元素數組片段結構分量子串第四十二頁,共50頁。§2.4程序單元(dānyuán)概念程序單元是FORTRAN語言的基本成分。程序單元可以是主程序、子程序、模塊或塊數據程序單元。子程序可以是函數子程序或子例行子程序。模塊包含的說明是對其它的程序單元形成可訪問性。塊數據單元用來對有名公用區中的數據對象賦初值。(F90中不提倡(tíchàng)使用)第四十三頁,共50頁。2.4.1主程序主程序是不包含SUBROUTINE、FUNCTION、MODULE或BLOCKDATA語句作為其第一條語句的程序單元。主程序的可執行部分不能包含有RETURN語句或者ENTRY語句。程序名對可執行程序是全局的,而且不得(bude)于該可執行程序中的任何其它程序單元名、外部過程名或公用塊名相同,也不得(bude)于主程序內的任何局部名相同。在主程序的作用范圍內的說明不得(bude)包含OPTIONAL語句、INTENT語句、PUBLIC語句或它們的等價屬性,在主程序內SAVE語句不起作用。主程序內的任何內部過程的定義必須跟在CONTAINS語句之后。第四十四頁,共50頁。2.3.2子程序子程序是可以(kěyǐ)完成某一獨立算法或功能的程序單元,但它功能的具體體現要通過主程序(或子程序)的調用來實現。按子程序與主程序的位置關系分為內部過程和外部過程。內部過程可以(kěyǐ)出現在主程序、外部過程或模塊內。第四十五頁,共50頁。2.4.3模塊(mókuài)模塊也是一種在程序單元之外獨立編寫的程序單元。它有獨特的形式,即模塊程序單元內沒有可執行語句(yǔjù),除了說明語句(yǔjù)外,最多包含內部過程。模塊的主要作用是供其它程序單元引用。程序單元引用模塊,實際是將模塊內的全部語句(yǔ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 銀冶煉過程中的生產質量控制方法考核試卷
- 烘焙坊設計與布局考核試卷
- 軟件項目管理工具與實踐考核試卷
- 后鼻韻母教學設計
- 校園急救事故案例分析及應對策略
- 淺析外科換藥
- 章小緩口腔健康環境研究
- 東南亞消費行業4月跟蹤報告:印尼與泰國經濟增長放緩
- 數字化銀行零售業務營銷轉型中的金融產品創新報告2025
- 針對金融衍生品市場2025年創新風險的保險產品設計與應用報告
- 河道維修養護管理制度
- 派出所消防管理制度
- 北京市朝陽區招聘社區工作者筆試真題2024
- T/CNESA 1203-2021壓縮空氣儲能系統性能測試規范
- T/CGMA 031003-2020一般用離心空氣壓縮機
- 2025年河北省中考乾坤押題卷化學試卷B及答案
- 2025年四年級下冊美術期末測試題附答案
- 計量經濟學知到智慧樹期末考試答案題庫2025年南開大學
- 2025至2030中國天文館行業投資前景研究與銷售戰略研究報告
- 國開學習網《員工招聘與配置》形考任務1-4答案
- 浙江省諸暨市2025年5月高三適應性考試-地理+答案
評論
0/150
提交評論