資料-+-Compaq-Visual-Fortran-6-教程電子版本_第1頁
資料-+-Compaq-Visual-Fortran-6-教程電子版本_第2頁
資料-+-Compaq-Visual-Fortran-6-教程電子版本_第3頁
資料-+-Compaq-Visual-Fortran-6-教程電子版本_第4頁
資料-+-Compaq-Visual-Fortran-6-教程電子版本_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

VisualFortran90程序設計(chénɡxùshèjì)編譯器簡介(jiǎnjiè)§2.4程序單元(dānyuán)概念§2.1Fortran語言的發(fā)展§2.2源程序及其構(gòu)成§2.3語言元素第一頁,共50頁。1、運行VisualFortran6.6(FortranPowerStation4.0)2、文件——新建——Workspaces標簽:輸入:Workspacename;此步可省略,直接進入第3步(最好改為(ɡǎiwéi)d:\)3、File-New-Projects標簽選擇:Win32ConsoleApplication輸入:name其它采用默認值三、開發(fā)自己(zìjǐ)的簡單應用程序第二頁,共50頁。第三頁,共50頁。第四頁,共50頁。a、創(chuàng)建project時將自動創(chuàng)建同名的workspaceb、生成projectname的文件夾(目錄)打開后:自動形成Debug目錄,形成*.dsw文件4、File-New-File標簽:選擇:FortranfreeFormat…(自由格式).F90或FortranFixedFormat…(固定格式).For輸入:文件名(擴展名不輸入)其它(qítā)默認,選中addtoproject復選項會自動形成*.f90或*.for的文件。第五頁,共50頁。第六頁,共50頁。5、輸入文件內(nèi)容、存盤(文件菜等)注意自由格式和固定格式輸入的區(qū)別。6、Build—Compile:編譯Build—Build:連接Build—Exetuce:運行重復3~6進行第二個源程序(注意一個項目中只能含有1個主程序文件,不能將兩個獨立的程序文件放入同一個項目中,否則會導致(dǎozhì)編譯錯誤。)或用DEL移去已建立的文件,重復4~6第七頁,共50頁。第八頁,共50頁。編譯連接執(zhí)行第九頁,共50頁。注意:1)所移去的文件僅從此項目中移去,目錄下該文件仍然存在。2)所重復的不得與以前的文件名同名。7、下次重新修改程序時,可直接使用(shǐyòng)菜單File/OpenWorkspace來打開*.dsw的工程文件。第十頁,共50頁。第二章FORTRAN語言(yǔyán)的發(fā)展簡史第十一頁,共50頁?!?.1Fortran語言(yǔyán)的發(fā)展簡史一、FORTRAN含義及其適用范圍FORmulaTRANslator公式翻譯器科學(kēxué)和工程計算問題的程序設計語言二、發(fā)展(fāzhǎn)簡史代表性:19571958FORTRANⅡ1962FORTRANⅣ1978FORTRAN771991.FORTRAN901997.FORTRAN95第十二頁,共50頁?!?.2FORTRA90源程序基本(jīběn)結(jié)構(gòu)1、由若干個程序單元(位)組成:主程序、外部子程序、模塊、塊數(shù)據(jù)(shùjù)單元2、主程序結(jié)構(gòu)[program程序名稱]一般省略[聲明語句部分][執(zhí)行語句部分]END[program[程序名稱]]3、END停止運行結(jié)束(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個字符如果是數(shù)字,就是用來給這一行程序代碼取個代號,不然只能是空格。第6個字符如果是非0非空的任何字符,表示這一行程序會接續(xù)上一行。第7~72個字符Fortran程序代碼的編寫區(qū)域。第73個字符以后不使用這些列,語句超過該列的部分會被忽略,有的編譯器會發(fā)出錯誤信息。第十五頁,共50頁。書寫(shūxiě)格式1.CFIXEDFORMATDEMOPROGRAMMAINWRITE(*,*)‘HELLO’WRITE(*,*)1’HELLO’100WRITE(*,*)’HELLO’10STOPEND程序代碼命令之間的空格,不會有任何意義。FIXEDFORMAT是為了配合早期使用穿孔卡片輸入程序所發(fā)明(fāmíng)的格式。第十六頁,共50頁。FreeFormat(自由格式)基本上允許非常自由的編寫格式,它沒有規(guī)定每一行的第幾個字符有什么作用,但要注意: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的關(guān)鍵字分為兩行書寫,則兩行都要加續(xù)行符號。如6、7行。第十八頁,共50頁。注釋(zhùshì)語句:!后的所有字符都被編譯器忽略(非語句行)可獨占一行,可在其它語句之后,

語句行:可執(zhí)行語句:輸入(shūrù)、賦值、輸出說明語句:用于說明變量的類型、屬性等注意(zhùyì):第十九頁,共50頁。行的書寫(行的長度、分行、續(xù)行)一行可以是0~132個字符,空格有意義,語句最長不超過2640個字符一行可以有多個語句,用“;”分隔一個語句可分行寫,讀行標記為&(放在尾部(wěibù)),但如為關(guān)鍵字,首尾均加&。最多可有511個續(xù)行。例pro&&grammain書寫(shūxiě)格式第二十頁,共50頁??崭瘢宏P(guān)鍵字、變量、常量內(nèi)部不能用空格,但相鄰兩者之間須用空格語句前標號僅用于標識一個語句,與運行順序無關(guān)。語句有位置(wèizhi)規(guī)定說明語句必須出現(xiàn)在可執(zhí)行語句之前,格式說明語句(FORMAT語句)除外。書寫(shūxiě)格式第二十一頁,共50頁?!?.3語言(yǔyán)元素Fortran90的語言(yǔyán)元素是指在程序設計中所用到的基本成分,例如字符集、常量、變量、記號以及其它的基本結(jié)構(gòu)等。只有了解并掌握了這些基本要素,才可能正確自如地使用該種語言(yǔyán)。2.3.1FORTRAN90字符集:編寫Fortran90程序時,所能使用的所有字符及符號。⑴A~Z(a~z)程序中不區(qū)分大小寫26個在大多數(shù)處理系統(tǒng)(xìtǒng)中允許使用小寫字母,除了字符串內(nèi)的字符外,小寫字母等價于相應的大寫字母。第二十二頁,共50頁。⑵0~910個⑶空格=+-*/(),:.$‘22個⑷_(下劃線)、!、”、%、&、;、>、<、?注意:1、在FOR源程序中,只能使用以上字符2、字符型數(shù)據(jù)內(nèi)可以出現(xiàn)任意字符(包括漢字)命名規(guī)則:1~31個字符,由字母、數(shù)字、下劃線組成,第一個字符為字母全局名:主程序單元、外部過程(guòchéng)、數(shù)據(jù)塊、模塊2.3.1FORTRAN90字符集第二十三頁,共50頁。在Fortran90中,將字母、數(shù)字或?qū)S米址幕居行У男蛄蟹Q為記號,它包括標號、關(guān)鍵字、名字、常數(shù)、運算符和定界符。例如:A*SIN(x)+5.3這個表達式包括6個記號,即A、*、SIN、x、+、5.3。注意:在字符串內(nèi)部,不能隨意地添加空格。在記號內(nèi)部,也不許隨意地使用空格。記號與記號之間的空格可以隨意地使用。多個空格在語法上與一個空格的作用相同。一個記號與相鄰(xiānɡlín)關(guān)鍵字、名字、常數(shù)或標號之間,應當用一個或多個空格分開,以避免錯誤,同時也使結(jié)構(gòu)清晰。2.3.2記號(jìhɑo)第二十四頁,共50頁。常量(chángliàng)的定義:常量(chángliàng)是程序執(zhí)行過程中不能變化的量?;緮?shù)據(jù)類型有五種:整型、實型、復型、字符型和邏輯型前三種屬于數(shù)值類型,后兩種為非數(shù)值類型,主要用于文字處理和控制。2.3.3基本(jīběn)類型常量第二十五頁,共50頁。I格式(整數(shù)格式)一般形式:Iw或:Iw.m其中:w一個數(shù)據(jù)占的位數(shù)寬度(又稱“字段寬度”),m需要輸出(shūchū)的最少數(shù)字位數(shù)。Fortran的數(shù)據(jù)類型F格式(又叫小數(shù)型格式)一般形式(xíngshì):Fw.dw各數(shù)值占的總位數(shù),d輸出數(shù)據(jù)的小數(shù)位數(shù)(小數(shù)點后的位數(shù))。第二十六頁,共50頁。Fortran的數(shù)據(jù)類型E格式(又叫指數(shù)型格式)一般(yībān)形式:Ew.dw各數(shù)值占的總位數(shù),d輸出數(shù)據(jù)的小數(shù)位數(shù)(小數(shù)點后的位數(shù))。G格式G格式可以根據(jù)輸出(shūchū)的實數(shù)大小決定用小數(shù)形式(F格式)輸出(shūchū)或指數(shù)形式(E格式)輸出(shūchū)。當輸出(shūchū)大數(shù)值或小數(shù)值時自動按E格式,當輸出(shūchū)的數(shù)不大不小時用F格式。其一般形式為:Gw.d第二十七頁,共50頁。Fortran的數(shù)據(jù)類型D格式一般形式:Dw.a用于雙精度數(shù)據(jù)的輸出,使用方法與E格式相仿(xiāngfǎng),只是把字母“E”換成“D”。L格式一般形式(xíngshì):Lw用于邏輯型數(shù)據(jù)的輸出,w輸出數(shù)據(jù)的字段寬度。邏輯值“.TRUE.",在輸出時打印一個字母T;邏輯值".FLASE.",在輸出時打印一個字母F。第二十八頁,共50頁。Fortran的數(shù)據(jù)類型X格式一般形式:nX用于輸出空格,n輸出的空格數(shù)目。即插入n個空格,或者說,使打印(dǎyìn)的“當前位置”向右移動n列。/(斜杠)格式斜杠(/)編輯(biānjí)符的作用是:結(jié)束本記錄的輸出并開始下一個記錄的輸出。第二十九頁,共50頁。字符(CHARACTER)計算機除了存儲數(shù)字(shùzì)之外,也可以在內(nèi)存中記錄一段文本,字符類型可以記錄的東西非常廣,從鍵盤輸入的任何東西,不論是數(shù)字(shùzì)、文本或任何特殊符號,它都可以記錄,只記錄一個字母、符號時的數(shù)據(jù)類型稱為“字符”,記錄一連串的字符時,就稱為“字符串”,記錄一個西文字符需要一個字節(jié)的存儲空間。一個漢字為兩個字節(jié)的存儲空間。一般記為:Aw,w為字符數(shù)例:Character(LEN=10)::wordlen=10可以直接寫為10或缺省長度為1;如只有一個沒有命名的參數(shù),一定是長度整數(shù)Fortran的數(shù)據(jù)類型第三十頁,共50頁。Fortran的數(shù)據(jù)類型FORMAT(1X,S)其中:1X縱向走紙符,S輸出格式,用不同的“格式編輯符”(簡稱“編輯符”)來實現(xiàn)指定的輸出格式,各格式間用逗號相隔(xiānggé)。FORMAT語句又叫“格式語句”,是一個非執(zhí)行語句,本身不產(chǎn)生任何操作,只是提供輸入或輸出的格式。FORMAT語句可以出現(xiàn)在程序的任何地方(但必須在PROGRAM語句之后和END語句之前,如果在子程序中用FORMAT語句,則應在子程序定義語句之后)。第三十一頁,共50頁。2.3.4名字(míngzi)對于名字有下列要求:1.名字的長度不能超過31個字符2.名字的組成成分可以是字母、數(shù)字和下劃線3.名字的第一個字符必須是字母4.在名字中不能出現(xiàn)空格提倡使用具有一定含義(hányì)的名字,提高程序的清晰度和可讀性。第三十二頁,共50頁。1、定義:程序運行過程中值(zhōnɡzhí)可變化的量2、命名的規(guī)則字母、數(shù)字、下劃線組成(zǔchénɡ)字母開頭長度1-31個錯例3A、x-3、3.14、A3$2.3.5變量(biànliàng)第三十三頁,共50頁。3、變量含義:實際是內(nèi)存中的一個存儲單元,存放變量的值。特性:取之不盡,一沖就跑,總采用當前值參與運算。例: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規(guī)則(隱式說明):在程序變量名中,凡以字母I、J、K、L、M、N六個字母開頭的變量為整型變量。implicitnone可以取消I-N規(guī)則。五種變量的類型說明關(guān)鍵字:整型:INTEGER實型:REAL復型:COMPLEX邏輯型:LOGICAL字符(zìfú)型:CHARACTER待說明的變量放在后面,中間用雙分隔符::隔開,對于同時說明多個變量,變量之間用逗號分隔。第三十五頁,共50頁。Fortran90關(guān)于變量說明的新功能: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)數(shù)據(jù)類型根據(jù)需要而由基本數(shù)據(jù)類型定義新的數(shù)據(jù)類型。在一個派生類型中可包含多個(duōɡè)基本類型。如:TYPESTUDENT(定義開始)CHARACTER(LEN=20)::DEPARTMENTCHARACTER(LEN=10)::CLASSCHARACTER(LEN=15)::NAMEINTEGER::NUMBER(成員定義)ENDTYPESTUDENT(定義結(jié)束)第三十七頁,共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)類型數(shù)組數(shù)組是具有相同類型的元素的有序集合。數(shù)組在使用之前必須說明。數(shù)組的說明:INTEGER,DIMENSION(1:50)::X;數(shù)組名為X,類型為整型,元素個數(shù)為50。INTEGER,DIMENSION(5,3)::B;數(shù)組名為B,類型為整型,元素個數(shù)為5*3個維界:1:50上界:下界缺省下界為1數(shù)組中元素的個數(shù)稱為它的大小(dàxiǎo),維數(shù)稱為秩,每維中元素的個數(shù)稱為維的長度,長度的序列稱為形。第三十九頁,共50頁。數(shù)組的引用:通過指定下標值的辦法來實現(xiàn)。下標值可為整數(shù)或整型表達式。下標值不能越界,個數(shù)必須與數(shù)組的秩相等。注意:1.允許(yǔnxǔ)對數(shù)組名進行運算。2.允許(yǔnxǔ)對數(shù)組片段進行操作。所謂數(shù)組片段是指數(shù)組中某些連續(xù)元素的重新組合。數(shù)組片段也是一個數(shù)組。第四十頁,共50頁。2.3.8字符(zìfú)子串字符(zìfú)型常量又叫字符(zìfú)串。一個字符(zìfú)串的一部分稱為子字符(zìfú)串或字符(zìfú)子串。字符(zìfú)數(shù)組: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ú)數(shù)組:CHARACTER(LEN=80),DIMENSION(25)::ROWC引用:ROWC(I)(J:J)第四十一頁,共50頁。2.3.9數(shù)據(jù)(shùjù)對象和子對象由一個名引用的對象:有名標量(biāoliàng)有名數(shù)組由子對象標志符引用的子對象是:數(shù)組元素數(shù)組片段結(jié)構(gòu)分量子串第四十二頁,共50頁?!?.4程序單元(dānyuán)概念程序單元是FORTRAN語言的基本成分。程序單元可以是主程序、子程序、模塊或塊數(shù)據(jù)程序單元。子程序可以是函數(shù)子程序或子例行子程序。模塊包含的說明是對其它的程序單元形成可訪問性。塊數(shù)據(jù)單元用來對有名公用區(qū)中的數(shù)據(jù)對象賦初值。(F90中不提倡(tíchàng)使用)第四十三頁,共50頁。2.4.1主程序主程序是不包含SUBROUTINE、FUNCTION、MODULE或BLOCKDATA語句作為其第一條語句的程序單元。主程序的可執(zhí)行部分不能包含有RETURN語句或者ENTRY語句。程序名對可執(zhí)行程序是全局的,而且不得(bude)于該可執(zhí)行程序中的任何其它程序單元名、外部過程名或公用塊名相同,也不得(bude)于主程序內(nèi)的任何局部名相同。在主程序的作用范圍內(nèi)的說明不得(bude)包含OPTIONAL語句、INTENT語句、PUBLIC語句或它們的等價屬性,在主程序內(nèi)SAVE語句不起作用。主程序內(nèi)的任何內(nèi)部過程的定義必須跟在CONTAINS語句之后。第四十四頁,共50頁。2.3.2子程序子程序是可以(kěyǐ)完成某一獨立算法或功能的程序單元,但它功能的具體體現(xiàn)要通過主程序(或子程序)的調(diào)用來實現(xiàn)。按子程序與主程序的位置關(guān)系分為內(nèi)部過程和外部過程。內(nèi)部過程可以(kěyǐ)出現(xiàn)在主程序、外部過程或模塊內(nèi)。第四十五頁,共50頁。2.4.3模塊(mókuài)模塊也是一種在程序單元之外獨立編寫的程序單元。它有獨特的形式,即模塊程序單元內(nèi)沒有可執(zhí)行語句(yǔjù),除了說明語句(yǔjù)外,最多包含內(nèi)部過程。模塊的主要作用是供其它程序單元引用。程序單元引用模塊,實際是將模塊內(nèi)的全部語句(yǔ

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論