




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、FORTRAN 筆記2014.10.07目錄第七講 _FORTRAN 的基本知識(shí).ppt 2FORTRAN 語(yǔ)言程序設(shè)計(jì)初步 2FORTRAN 源程序的書寫格式(以77 為例) 2變量 2變量類型 2算術(shù)運(yùn)算符和運(yùn)算優(yōu)先級(jí) 3賦值語(yǔ)句 3參數(shù)語(yǔ)句(PARAMETER 語(yǔ)句) 3END 語(yǔ)句 3PAUSE 語(yǔ)句 3邏輯運(yùn)算和選擇結(jié)構(gòu) 4關(guān)系表達(dá)式 4FORTRAN 中數(shù)組的定義及使用 4其他 51. fortran 語(yǔ)言定義CHARACTER*6 TTL(14,3),CNAM(400) 是什么意思? 52. fortran 里character*10 是什么意思 53. Fortran 中kin
2、d是什么函數(shù)? 5第七講 _FORTRAN 的基本知識(shí).pptFORTRAN 語(yǔ)言程序設(shè)計(jì)初步FORTRAN 是 Formula Translation 的縮寫,意為“公式翻譯”,它是為科學(xué)、工程問題或企事業(yè)管理中的那些能夠用數(shù)學(xué)公式表達(dá)的問題而設(shè)計(jì)的,其數(shù)值計(jì)算的功能較強(qiáng)。常用的是FORTRAN77 和 FORTRAN90 兩種標(biāo)準(zhǔn)。1、一個(gè)程序由若干個(gè)程序單位組成。主程序和每一個(gè)子程序分別是一個(gè)獨(dú)立的程序單位。2、每一個(gè)程序單位都是以“END ”結(jié)束的。3、一個(gè)程序單位包括若干行。1) 語(yǔ)句行 。由一個(gè)FORTRAN 語(yǔ)句組成。2) 非語(yǔ)句行,即 注釋行 。4、 FORTRAN 程序中的語(yǔ)
3、句可以沒有標(biāo)號(hào),也可以有標(biāo)號(hào),根據(jù)需要而定。標(biāo)號(hào)的作用是標(biāo)志一個(gè)語(yǔ)句以便被其他語(yǔ)句引用。5、一個(gè)程序單位中各類語(yǔ)句的位置是有一定規(guī)定的。6、 FORTRAN 源程序必須按一定的格式書寫。FORTRAN 源程序的書寫格式(以77 為例)每一行有80 列,分別如下:1、第 1-5 列為標(biāo)號(hào)區(qū)。一行中第一列為“C”或“*”,該行即被認(rèn)為是注釋行。2、第6 列為“續(xù)行標(biāo)志區(qū) ”,如果在一行的第 6 列上寫一個(gè)非空格和非零的字符,則該行作為其上一行的續(xù)行。3、第7-72 列為語(yǔ)句區(qū)。4、第73-80 列,注釋區(qū)。變量變量名:一個(gè)變量需要用一個(gè)名字(變量名)來(lái)識(shí)別。在同一個(gè)程序單位中不能用同一個(gè)變量名代表
4、兩個(gè)不同的變量。FORTRAN 的變量名按以下規(guī)則選定:1)第一個(gè)字符必須是字母,即變量名必須以字母開頭;2)在一個(gè)字母后面可以跟1-5 為數(shù)字或字母。如果選定的變量名超過(guò)6 個(gè)字符,則只有前面6 個(gè)字符有效。注:在變量名中大寫與小寫字母是等價(jià)的。變量類型整型變量Integer、實(shí)型變量Real、雙精度變量Double Precision 、復(fù)型變量Complex、邏輯型變量Logical 和字符型變量Character。1、 隱含約定(I-N 規(guī)則)FORTRAN 規(guī)定:在程序中的變量名,凡以字母I, J, K, L, M, N 六個(gè)字母開頭的,即認(rèn)為該變量為整型變量。在程序中,凡是變量名以
5、字母I,J,K,L,M,N,i,j,k,l,m,n 開頭的變量被默認(rèn)為整型變量,以其他字母開頭的變量被默認(rèn)為實(shí)型變量。2、用類型說(shuō)明語(yǔ)句確定變量類型1) INTEGER 語(yǔ)句(整型說(shuō)明語(yǔ)句)2) REAL 語(yǔ)句(實(shí)型說(shuō)明語(yǔ)句)3) DOUBLE PRECISION 語(yǔ)句(雙精度說(shuō)明語(yǔ)句)4) COMPLEX 語(yǔ)句(復(fù)型說(shuō)明語(yǔ)句)5) LOGICAL 語(yǔ)句(邏輯型說(shuō)明語(yǔ)句)6) CHARACTER 語(yǔ)句(字符型說(shuō)明語(yǔ)句) 內(nèi)部數(shù)據(jù)類型分為兩類:數(shù)值型(整型、實(shí)型和復(fù)型)和非數(shù)值型(字符型和邏輯型)3、用IMPLICIT 語(yǔ)句(隱含說(shuō)明語(yǔ)句)指定變量類型例: IMPLICIT INTEGER(A,
6、C,T -V)以上三種方法中,以類型說(shuō)明語(yǔ)句最優(yōu)先,IMPLICIT 語(yǔ)句次之,“ I-N 規(guī)則”的隱含約定級(jí)別最低。類型說(shuō)明只在本程序單位內(nèi)有效。IMPLICIT 語(yǔ)句和類型說(shuō)明語(yǔ)句應(yīng)該出現(xiàn)在本程序單位中的所有執(zhí)行語(yǔ)句的前面,其中, IMPLICIT 語(yǔ)句又應(yīng)在所有的類型說(shuō)明語(yǔ)句的前面。算術(shù)運(yùn)算符和運(yùn)算優(yōu)先級(jí)算術(shù)運(yùn)算符和運(yùn)算優(yōu)先級(jí):+表示“加”(或正號(hào))* 表示“減”(或負(fù)號(hào))* 表示“乘”/表示“除”* * 表示“乘方” 優(yōu)先級(jí)次序:* * 最高* , /次之+, -最低注:同類型的算術(shù)量之間運(yùn)算的結(jié)果仍保持原類型。如果參加運(yùn)算的兩個(gè)算術(shù)量為不同類型,則編譯系統(tǒng)會(huì)自動(dòng)將它們轉(zhuǎn)換成同一類型然
7、后進(jìn)行運(yùn)算。轉(zhuǎn)換的規(guī)律是:將低級(jí)類型轉(zhuǎn)成高級(jí)類型。賦值語(yǔ)句賦值語(yǔ)句的作用是將一個(gè)確定的值賦給一個(gè)變量。其一般格式為:V=e* 代表一個(gè)變量名,e 代表一個(gè)表達(dá)式。參數(shù)語(yǔ)句(PARAMETER 語(yǔ)句)PARAMETER 語(yǔ)句與賦值語(yǔ)句不同,它是非執(zhí)行語(yǔ)句,在程序定義一個(gè)符號(hào)常量后,不能再改變它的值。它應(yīng)寫在所有執(zhí)行語(yǔ)句之前,符號(hào)常量的定名規(guī)則與定變量名相同。在一個(gè)參數(shù)語(yǔ)句中可以定義多個(gè)符號(hào)常量。優(yōu)點(diǎn):如果需要改變某一常數(shù)時(shí),不需一一改變這個(gè)常數(shù),只需改變參數(shù)語(yǔ)句中符號(hào)常量的值即可。END 語(yǔ)句作用: 1)結(jié)束本程序單位的運(yùn)行;2)作為一個(gè)程序單位的結(jié)束標(biāo)志。PAUSE 語(yǔ)句暫停語(yǔ)句,在程序中假如
8、幾個(gè)PAUSE 語(yǔ)句,即設(shè)幾個(gè)“斷點(diǎn)”,把程序分成幾段,調(diào)試程序時(shí)一段一段地檢查,在調(diào)試完成后再將所有的PAUSE 刪去。一般形式:PAUSE( n)N 是輸出信息,程序員可以由此辨認(rèn)程序的流程。邏輯運(yùn)算和選擇結(jié)構(gòu) 用塊 IF 結(jié)構(gòu)來(lái)實(shí)現(xiàn)選擇結(jié)構(gòu),其形式為:IF(條件)THENthen 塊ELSEelse塊ENDIFthen 塊” ,否則,執(zhí)行“else塊” 。它的執(zhí)行邏輯為:如果給定的條件成立則執(zhí)行“關(guān)系表達(dá)式 關(guān)系表達(dá)式是最簡(jiǎn)單的一種邏輯表達(dá)式。其形式:<算術(shù)量> <關(guān)系運(yùn)算符> <算術(shù)量>關(guān)系運(yùn)算符:>(.GT.)>= (.GE.)<
9、(.LT.)<= (.LE.)= = (.EQ.)/= (.NE.)注意:1)關(guān)系運(yùn)算符的兩個(gè)字母的兩側(cè)各有一個(gè)句點(diǎn)。2)在一個(gè)關(guān)系表達(dá)式中可能包括算術(shù)運(yùn)算符和關(guān)系運(yùn)算符,它們的運(yùn)算次序?yàn)椋合冗M(jìn)行算術(shù)運(yùn)算,然后進(jìn)行關(guān)系運(yùn)算。3)關(guān)系表達(dá)式是將兩個(gè)數(shù)值進(jìn)行比較,這兩個(gè)數(shù)值量可以是不同類型的量。例:整型和實(shí)型。4)關(guān)系表達(dá)式的值不是一個(gè)數(shù)值,而是一個(gè)邏輯量。FORTRAN 中數(shù)組的定義及使用From: Fortran 95 程序設(shè)計(jì)彭國(guó)倫1.基本使用:一維數(shù)組:datatype name (size)datatype: integer, real, complex, logical, 或 t
10、ype 自定義出來(lái)的類型。integer, parameter : students = 5integer : student (students)其他定義方法:integer a(10) ! 最簡(jiǎn)單的integer, dimension (10) : a ! 另外的方法integer, dimension (10) : a,b,c ! 一起定義integer a !f77 先聲明 a 是整型,dimension a(10) !再聲明a是大小為10 的數(shù)組或 typetype : personreal :height, weightend typetype (person) : a(10)a(
11、2)%height = 180.0二維數(shù)組:integer a(3, 3)a(1,1) = 3定義方法:integer a(10,10)integer, dimension (10, 10) : a,b,cinteger adimension a(10,10) ! f77, 先定義類型二維數(shù)組常用來(lái)當(dāng)作矩陣使用。多維數(shù)組:fortran 最多可聲明高達(dá)七維的數(shù)組。integer a(D1,D2,.,Dn) ! n 維一般說(shuō)來(lái),越高維數(shù)組讀數(shù)據(jù)越慢。另類聲明方法:integer a(5) 可使用的是a(1), a(2), a(3), a(4), a(5)integer a(0:5) 下標(biāo)可使用的
12、是0 5, a(0),a(1),.,a(5)六個(gè)元素。integer a(-3: 3) 可以使用的是a(-3), a(-2), a(-1), a(0),.,a(3)七個(gè)元素。integer a (5,0:5) 可用 a(15, 05)integer b(2:3, -1:3) 可用 b(23, -13)其他1. fortran 語(yǔ)言定義CHARACTER*6 TTL(14,3),CNAM(400) 是什么意思?表示定義字符串,每個(gè)字符串長(zhǎng)度是6。一共定義兩個(gè)該長(zhǎng)度字符串的數(shù)組,一個(gè)叫TTL ,二維數(shù)組,14 * 3 個(gè)元素。另一個(gè)叫CNAM ,一維數(shù)組,400個(gè)元素。2. fortran 里 c
13、haracter*10 是什么意思就是限定最大為 10 個(gè)字符3. Fortran 中 kind 是什么函數(shù)?查看變量所占內(nèi)存空間的字節(jié)數(shù)。聲明整型數(shù)、浮點(diǎn)數(shù)變量所占用的內(nèi)存字節(jié)4. bytes 字節(jié)1byte 有 8 位,可以表示一個(gè)字母、數(shù)字或符號(hào)(一個(gè)漢字占兩字節(jié))1 byte = 8 bit1 KB = 1024 bytes =210 bytes1 MB = 1024 KB = 220 bytes1 GB = 1024 MB = 230 bytes5. Fortran 聲明變量(經(jīng)典)大家好:我剛剛接觸Fortran, 看見個(gè)代碼中用了dimension 這個(gè)東西,我在書里翻了一下,沒
14、看到 dimension 可以聲明變量。請(qǐng)問這個(gè)是什么意思呢?謝謝!Program Main_hydrusdouble precision P,R,S,Q,RTime1,t,tInit,tOld,RTime,tMax,tAtm,tPrint1,tAtm1,tAtm2,tAtmOld,tAtmN,tAtm2O, TPrint,tPrintIntcharacter cFileName*260,cDataPath*260,ccname*260dimension x(NumNPD),hNew(NumNPD),hOld(NumNPD),hTemp(NumNPD)dimension 在 fortran 是
15、定義數(shù)組,樓主的程序段中,dimension x(NumNPD),hNew(NumNPD),hOld(NumNPD),hTemp(NumNPD)定義了x, hNew, hOld, hTemp 四個(gè)一位數(shù)組,括號(hào)內(nèi)的變量代表了數(shù)組的大小。需要注意的是在 fortran 中默認(rèn)以 a-h 和 o-z 開頭的變量為實(shí)型變量,而其他的均為整型變量,所以在這里NumNPD 是一個(gè)整型變量。例如: dimension x(100)即定義了一個(gè)容量了100 的一維數(shù)組,記為x(100),上述四個(gè)數(shù)組含義類似。fortran 語(yǔ)言對(duì)語(yǔ)法要求相對(duì)嚴(yán)格一些,祝學(xué)習(xí)順利!以上愚見,如有不當(dāng)之處,請(qǐng)見諒 dimens
16、ion 是聲明數(shù)組大小用的。比如:real adimension a(10)fortran90 的新語(yǔ)法可以寫成:real a(10)不過(guò)我看lz 的代碼前面都有縮進(jìn),所以估計(jì)是舊語(yǔ)法。新語(yǔ)法向前兼容,但是老板看不懂6. Fortran 里面的 return 語(yǔ)句怎么用?目前遇到遇到如何把C 語(yǔ)言代碼轉(zhuǎn)換成Fortran 語(yǔ)句的問題。因?yàn)?C 語(yǔ)言里面有return, 返回值給主調(diào)函數(shù)。Fortran里面也有return 語(yǔ)句,但是用法含義是否與C 語(yǔ)言相同呢?求助高手!本人菜鳥,剛剛開始Fortran,不知道retrun 語(yǔ)句怎么用。 。 。而且也不知道哪個(gè)語(yǔ)句具有與C 中的 return
17、中相同的功能。 。 。 。找了一些書,也沒有找到介紹。 。求助! Fortran 里面也有return 語(yǔ)句, 但是用法含義是否與C 語(yǔ)言相同呢?哪個(gè)語(yǔ)句具有與C 中的 return 中相同的功能呢?謝謝! ! ! !Fortran 中可以不用return 啊。如果是子程序,返回值都直接寫在子程序的參數(shù)序列中了如果是函數(shù),函數(shù)名本身就是返回值所依附的變量不明白你為什么要把C 轉(zhuǎn)為Fortran,有什么特別的理由嗎? "Return" is used in a subroutine for conditionally exiting the subroutine.retrur
18、n 語(yǔ)句如果放到子程序的末尾(即 end 之前的話,跟不用 return 沒有什么區(qū)別,這種情況可以不用); 如果不是上面的這樣,放在子程序其它位置的,表示程序執(zhí)行到return 語(yǔ)句的時(shí)候就返回到主程序中。7. 開方 SQRT 函數(shù)SQRTElemental Intrinsic Function (Generic): Derives the square root of its argument. 單元內(nèi)部函數(shù)Syntax 語(yǔ)法result = SQRT (x)x(Input) must be of type real or complex. If x is type real, its v
19、alue must be greater than or equal to zero.輸入的 x 必須為實(shí)型或復(fù)型。假如x 的類型為實(shí)型,x 的值必須大于或等于0Results:The result type is the same as x. The result has a value equal to the square root of x. A result of type complex is the principal value, with the real part greater than or equal to zero. When the real part of th
20、e result is zero, the imaginary part is greater than or equal to zero.開平方函數(shù)的類型與x 一樣。其結(jié)果是x 的開平方值。復(fù)型的開平方是個(gè)主值,實(shí)部大于或等于0。當(dāng)實(shí)部等于0時(shí),虛部大于或等于08. 空格Fortran77 會(huì)忽略行中的空格,關(guān)鍵字和變量中可以有空格。Free Format(自由格式)Fortran90 與 95 格式空格: 在語(yǔ)句名和變量名中間不能有空格。需要空格的地方必須有一個(gè)以上空格( GOTO 和 GO TO , ELSEIF 和 ELSEIF, END 構(gòu)造名(構(gòu)造名有:DO, PROGRAM, F
21、UNCTION, MODULE, SUBROUTINE) 等有兩種寫法的除外),如關(guān)系運(yùn)算符=, <= 不能寫成= =, < =。這與 F77 有很大不同之處,因?yàn)镕77 的設(shè)計(jì)中將編譯源程序的空格忽略。9. 雙精度若指數(shù)標(biāo)識(shí)為D 或 d,則表示該實(shí)數(shù)為雙精度實(shí)數(shù),等價(jià)于kind 值為8,但不能指定kind 值,即 D 指數(shù)不允許指定實(shí)型 kind 值。表 實(shí)數(shù)的存儲(chǔ)空間、精度及取值范圍實(shí)型類型名字節(jié)數(shù)精度(有效數(shù)字)取值范圍單精度46-7± 3.40282347E38-± 1.17549435E-38雙精度815-16± 2.225073858507
22、2013D308-± 1.7976931348623158 D -308表 整數(shù)的存儲(chǔ)空間及取值范圍整型類型名字節(jié)數(shù)取值范圍integer(1)1-128127短整型integer(2)2-3276832767長(zhǎng)整型integer4-21474836482147483647integer(8)8-263263-1 ( Alpha 系統(tǒng))Fortran 95 程序設(shè)計(jì)(書籍彭國(guó)倫編著)Chapter 3 Fortran 程序設(shè)計(jì)基礎(chǔ)3-1 字符集“字符集”是指編寫 Fortran 程序時(shí),所能使用的所有字符及符號(hào)。26 個(gè)英文字母(不區(qū)分大小寫)0-9 數(shù)字22 個(gè)特殊符號(hào)3-2 書面
23、格式Fixed Format(固定格式),擴(kuò)展名為*.F 或 *.FOR 文件Fixed Format 是為了配合早期使用穿孔卡片輸入程序所發(fā)明的格式。Free Format(自由格式),擴(kuò)展名為*.F90 文件3-3 Fortran 的數(shù)據(jù)類型數(shù)據(jù)類型:使用Fortran 在計(jì)算機(jī)內(nèi)存中記錄文本、數(shù)值等數(shù)據(jù)的最小單位及方法整數(shù)(Integer) 、浮點(diǎn)數(shù)(Real) 、復(fù)數(shù)(Complex) 、字符(Character) 、邏輯判斷(Logical )3-4 Fortran 的數(shù)學(xué)表達(dá)式Chapter 4 輸入輸出及聲明1. Implicit 命令Fortran 標(biāo)準(zhǔn)中, 變量不一定要經(jīng)過(guò)程序的聲明才能使用,編譯器會(huì)根據(jù)變量名稱的第一個(gè)字母來(lái)自動(dòng)決定這個(gè)變量的類型。第1 個(gè)字母為I、 J、 K、 L、 M、 N 的變量被視為整數(shù)類型,其他的變量則被當(dāng)成浮點(diǎn)數(shù)來(lái)使用。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年重慶合川花灘醫(yī)院招聘筆試真題
- 2024年昆明市西山區(qū)婦幼健康服務(wù)中心招聘真題
- 2024年吉林省應(yīng)急管理廳下屬事業(yè)單位真題
- 班主任在班級(jí)中開展批判性思維教育計(jì)劃
- 財(cái)務(wù)信息更新與維護(hù)計(jì)劃
- 2024年海南省監(jiān)獄管理局下屬事業(yè)單位真題
- 2025屆浙江省富陽(yáng)市七年級(jí)數(shù)學(xué)第二學(xué)期期末達(dá)標(biāo)檢測(cè)試題含解析
- 學(xué)期交流反饋與計(jì)劃調(diào)整
- 2024年北京腫瘤醫(yī)院社會(huì)人員招聘筆試真題
- 2024年北京清華附中學(xué)院路學(xué)校招聘筆試真題
- 汽機(jī)發(fā)電量計(jì)算
- 西南交通大學(xué)《行車組織》區(qū)段站工作組織課程設(shè)計(jì)(附大圖)
- GB∕T 1457-2022 夾層結(jié)構(gòu)滾筒剝離強(qiáng)度試驗(yàn)方法
- 康復(fù)治療技術(shù)(康復(fù)養(yǎng)老服務(wù))專業(yè)群建設(shè)方案
- 防止水電站水淹廠房措施研究報(bào)告
- 衛(wèi)生監(jiān)督稽查規(guī)范
- 第五章結(jié)型場(chǎng)效應(yīng)晶體管
- 修正責(zé)任準(zhǔn)備金
- 麗聲北極星自然拼讀繪本第一級(jí)Uncle Vic‘s Wagon 課件
- authorware7程序設(shè)計(jì)制作一個(gè)時(shí)鐘
- 變速器換擋叉的加工工藝規(guī)程及工裝設(shè)計(jì)帶圖紙】
評(píng)論
0/150
提交評(píng)論