Fortran順序結(jié)構(gòu)_第1頁
Fortran順序結(jié)構(gòu)_第2頁
Fortran順序結(jié)構(gòu)_第3頁
Fortran順序結(jié)構(gòu)_第4頁
Fortran順序結(jié)構(gòu)_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第二章 順序結(jié)構(gòu)程序設(shè)計(jì)FORTRAN常量FORTRAN變量FORTRAN函數(shù)FORTRAN算術(shù)表達(dá)式賦值語句簡單的輸入輸出語句12.1 FORTRAN常量常量:程序運(yùn)行期間其值始終不變的量。 Fortran90 允許使用6種常量 INTEGER 整型常量 REAL 實(shí)型常量 DOUBLE PRECISION 雙精度常量 COMPLEX 復(fù)型常量 LOGICAL 邏輯型常量 CHARACTER 字符型常量2整型常量: 正整數(shù) 、負(fù)整數(shù) 和 0 如 34,40,0,-3,+3實(shí)型常量: 兩種表現(xiàn)形式(1)小數(shù)形式 23.00 -123.90, .909, 0.0 (2)指數(shù)形式 12.3*108

2、 表示為 12.3E83符號(hào)常量 符號(hào)常量:用一個(gè)標(biāo)識(shí)符來代表一個(gè)常量 格式: PARAMETER (PI=3.1415926, M=10)4 變量的概念 變量是在程序運(yùn)行過程中其值是可以變化的量。 一個(gè)變量需要一個(gè)變量名來標(biāo)識(shí)。 3.25A 變量名2.2 FORTRAN變量 變量名標(biāo)識(shí)符: 由字母、下劃線、數(shù)字組成,且開頭只能是 字母5 注意 (1)標(biāo)識(shí)符長度為: 131 (2) 大小寫等價(jià) (3) Fortran90 沒有規(guī)定系統(tǒng)的保留字 (盡量避免使用使用語句名、函數(shù)名) 例如:sin 是函數(shù)名 sin=3.4 sum=sin*sin(1.2) print*,sum 例如:read *,

3、print6 變量的說明1. 類型說明語句 類型說明符 變量名1, 變量名2, 例如:INTEGER X,Y REAL AVER,TOTALINTEGER:整型; REAL:實(shí)型;DOUBLE PRECISION:雙精度型;COMPLEX:復(fù)型;LOGICAL:邏輯型; CHARACTER:字符型;7 FORTRAN90中,還可以: 類型說明符:變量名1,變量名2, INTEGER: X,Y REAL: X1=12.3使用:這種格式時(shí),可以賦初值82. 隱含說明語句 IMPLICIT 將某個(gè)或某些字母開頭的變量規(guī)定為所需的類型。IMPLICIT 類型說明符(字母表) 例:IMPLICIT IN

4、TEGER(A,C,T-V)3. 隱含約定 (I-N規(guī)則) 以I,J,K,L,M,N 開頭的變量被當(dāng)成整型變量 FORTRAN90中一般不提倡用,通過在程序變量說明之前加入:IMPLICIT NONE 語句來取消I-N規(guī)則。9 在以上3類規(guī)則中,第一類優(yōu)先級(jí)最高,第二類次之,隱含約定最低。也就是說,當(dāng)一個(gè)變量被強(qiáng)制定義為某種類型時(shí),IMPLICIT語句和隱含約定將不再起作用。變量說明為非執(zhí)行語句,應(yīng)放在所有執(zhí)行語句前面。102.3 FORTRAN函數(shù)函數(shù)自變量是有類型的,函數(shù)值也是有類型的。函數(shù)有一個(gè)或多個(gè)自變量例: SIN(X) SIN(1.2) MOD(M,N) 取余 MOD(36,12)

5、 MAX(X,Y,Z) MAX(12,34,56)P19 表2.211 同一優(yōu)先級(jí)的兩個(gè)運(yùn)算,按“從左到右”例如: 3+5-6.0*8.0/4*2 與 3+5-(6.0*8.0)/(4*2)等價(jià)建議使用()2.4 FORTRAN算術(shù)表達(dá)式算術(shù)運(yùn)算符: + - * / *(乘方)優(yōu)先級(jí):* 高 * / +,- 低12 算術(shù)表達(dá)式中的類型問題()同類型運(yùn)算的結(jié)果保持原類型的值為整數(shù)的值為整數(shù)()不同類型的運(yùn)算轉(zhuǎn)換成同一類型然后進(jìn)行運(yùn)算。 規(guī)則:低級(jí)類型轉(zhuǎn)換成高級(jí)類型 integer real 低 高 例如 5*6.5 將5轉(zhuǎn)換為5.0,然后乘以6.5得到32.5 例如 1/4*0.5結(jié)果為0.0

6、(由于1/4 為0)13例如: X=X1+X2*X3+5作用:將右邊表達(dá)式的值賦給左邊變量,即將表達(dá)式的值存放到變量所對(duì)應(yīng)的存儲(chǔ)單元。格式: 變量名=表達(dá)式賦值語句類型轉(zhuǎn)換:2.左右兩邊類型不同,計(jì)算,轉(zhuǎn)換,賦值2.5 賦值語句例:INTEGER N N=33.3*3 N的值 991.左右兩邊類型相同,運(yùn)算完畢,直接賦值 142.6 簡單輸入輸出語句(表控輸入輸出語句)FORTRAN用READ語句實(shí)現(xiàn)數(shù)據(jù)輸入,方式有3種:(1)用自由格式輸入,即表控格式輸入。(2)數(shù)據(jù)按用戶規(guī)定的格式輸入;(3)無格式輸入,即以二進(jìn)制形式輸入,只適用從磁盤或磁帶輸入。表控輸入語句 用戶不必指出輸入數(shù)據(jù)的格式,

7、只要將數(shù)據(jù)按合法形式輸入即可READ *,變量表*:表控輸入15READ (*,*) 變量表例:READ *,X,Y,Z從鍵盤讀入3個(gè)實(shí)型數(shù)據(jù)分別給X、Y、和Z。第一個(gè)*:系統(tǒng)隱含指定的輸入設(shè)備第二個(gè)*:表控輸入 輸入數(shù)據(jù)可用逗號(hào)隔開也可以用一個(gè)或多個(gè)空格隔開輸入的數(shù)據(jù)類型應(yīng)與變量類型盡量保持一致。輸入數(shù)據(jù)的個(gè)數(shù)不應(yīng)少于變量個(gè)數(shù)。16每一個(gè)READ語句都是從一個(gè)新的輸入行開始讀數(shù)的,如果一行中數(shù)據(jù)多于變量個(gè)數(shù),則多余的數(shù)據(jù)作廢。該程序執(zhí)行后,M=5,N=6,而X1=56.4,X2=12.8,A1、A2得不到值。例如:READ *,M,NREAD *,X1,X2READ *,A1,A2輸入:5,

8、6,12.3,14.8 回車輸入:56.4,12.8 回車17表控輸出語句WRITE(*,*)輸出表格式: PRINT *,輸出表*:表控格式第一個(gè)*:系統(tǒng)隱含的輸出設(shè)備第二個(gè)*:表控格式輸出 輸出項(xiàng)可以是常量、變量、表達(dá)式或字符串,它們之間使用逗號(hào)隔開。每一個(gè)輸出語句在新的一行開始顯示。沒有輸出項(xiàng)時(shí),輸出一個(gè)空行。例如:PRINT *,X*2,Y+3 PRINT *,N=,N18P25 例2.1IMPLICIT NONEINTEGER M,NREAD *,M,N,N,MM=M+NN=M+NPRINT *,M,NEND當(dāng)輸入 7 8 9 10時(shí),輸出結(jié)果為:19 2819P25 例2.2 輸入

9、三個(gè)實(shí)數(shù),輸出最大值、最小值program ex_22implicit nonereal: x1,x2,x3,maxnum,minnumread(*,*) x1,x2,x3maxnum=max(x1,x2,x3)minnum=min(x1,x2,x3)write(*,*) 最大數(shù)為:, maxnumwrite(*,*) 最小數(shù)為:, minnum end program ex_22運(yùn)行輸入 7, 8, 9 結(jié)果為: 最大數(shù)為: 9.000000 最小數(shù)為:7.000000202.7 END、STOP和PAUSE語句END語句作用:(1)結(jié)束本程序單元的運(yùn)行 (2)作為一個(gè)程序單元的結(jié)束標(biāo)志 在

10、子程序中END一方面作為子程序結(jié)束的標(biāo)志,另一方面使流程返回調(diào)用程序。21STOP語句作用:停止程序的運(yùn)行 程序中可有多個(gè)STOP ,為了區(qū)分哪一個(gè)STOP,在執(zhí)行STOP同時(shí)輸出信息。 STOP 1234 (輸出信息不超過5位的正整數(shù)) STOP ABC ( 輸出信息是字符串 )22PAUSE語句 作用:使程序暫停執(zhí)行。 在程序調(diào)試階段,可以在程序中設(shè)置多個(gè)PAUSE,即設(shè)幾個(gè)斷點(diǎn),把程序分成幾段,程序員可以逐段調(diào)試,直到無錯(cuò)誤為止。 格式同STOP,例如: PAUSE 1234 PAUSE ASD23P26 例2.3 任意輸入兩個(gè)數(shù),對(duì)它們進(jìn)行加、減運(yùn)算program ex_23implicit nonereal: x1,x2,s1,s2read(*,*) x1,x2s1=x1+x2s2=x1-x2write(*,*) “兩個(gè)數(shù)的和:”,s1write(*,*) “兩個(gè)數(shù)的差:”,s2end program ex_23 24P27 例2.4 已知f(x)=x3+sin2x+ln(x4+1) 輸入自變量的值,求出對(duì)應(yīng)的函數(shù)值。 IMPLICIT NONEREAL X, YREAD *, XY=X*3+SIN(X)*SIN(X)+LOG(X*4+1)PRINT *, YEND 輸入:12.1 輸出:1781.736

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論