版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1,FORTRAN 語言簡介,By 陳鯨太,2,Outline,語言簡介、編譯器簡介Fortran 基本事項輸出、輸入及宣告格式化輸出程式結(jié)構(gòu)流程控制陣列函式,3,Fortran 簡介,全名-Formula TranslatorIBM 1954 ~ 1957第一個被廣泛使用的高階語言演化1978 ? FORTRAN 771992 ? FORTRAN 901997 ? FORTRAN 95,4,FORTRAN C
2、OMPILER 簡介1,Visual FORTRANMicrosoft ? Digital ? Compaq ? HP?Microsoft Visual Studio完整的windows程式開發(fā)工具可與Visual C++相互連結(jié)使用,5,FORTRAN COMPILER 簡介2,計中工作站提供Fortran 90 及 Fortran 77編譯方式輸出至a.outf77 filename.for f90 filenam
3、e.f90輸出至指定檔案(sample)f77 filename.for -o samplef90 filename.for -o sample,6,FORTRAN COMPILER 簡介3,計中工作站之 Fortran只提供在 ccsun26~35總數(shù):2套登入telnet ccsun27.cc.nctu.edu.tw帳號:u9031XXX密碼:預(yù)設(shè)值是身份証字號,7,FORTRAN 基本事項1,字元集英文字母:A
4、~Z (大小寫不分)數(shù)字:0~9特殊符號:冒號、等號、加、減、乘、除、底線 …etc,8,FORTRAN 基本事項2,程式碼寫作格式Fixed FormatFortran 77 的舊格式為了使用打孔卡而發(fā)明詳細(xì)規(guī)定每個字元的“用法”Free FormatFortran 90之後的新格式提供較大彈性,9,FORTRAN 基本事項3,Fixed Format第1個字元如果是字母c,C或*(星號),表示此行是註解第1-
5、5個字元如果這邊是數(shù)字,表示這一行的代號,否則應(yīng)為空白第6個字元如果是0以外的字元,表示這一行程式會接續(xù)上一行第7-72個字元FORTRAN程式碼的寫作區(qū)域第73個字元之後不使用,超過部份會被忽略,有的編譯器會有錯誤訊息,10,FORTRAN 基本事項4,Free Format不規(guī)定每一行第幾字元有什麼作用驚嘆號 ! 後面文字是註解每行可寫作132個字元行號在每行程式最前面一行程式碼的最後如果是符號&,代
6、表下一行程式會和這一行連接。,11,FORTRAN 基本事項5,! Free Formatprogram mainwrite(*,*) “hello” ! 列印出hello這個字write(*,*) &“hello”wri&te(*,*) “hello”end,12,輸出1,program mainwrite(*,*) “hello”stopend,13,輸出2,Write(*,*)第一個參數(shù):輸
7、出的位置第二個參數(shù):輸出格式相等寫法:WRITE(*,*) “HELLO”WRITE(6,*) “HELLO”WRITE(UNIT=6, FMT=*) “HELLO”,14,輸出3,關(guān)於write(*,*)自動換行印出雙引號?使用連續(xù)2個雙引號WRITE(*,*) “ MY NAME IS “”CASTER””. ” FORTRAN 90 ?雙引號/單引號FORTRAN 77 ?單引號,15,輸出4,PRINT語
8、法:PRINT *, ”輸出字串”專門對螢?zāi)惠敵?16,結(jié)束程式,結(jié)束程式ENDEND PROGRAMEND PROGRAM MAIN ! MAIN是主程式的名字Fortran 90 ? 1, 2, 3Fortran 77 ? 1,17,資料型態(tài)1,整數(shù)(integer)宣告方式:integer a內(nèi)定範(fàn)圍為2^32~ -2^32,18,資料型態(tài)2,浮點數(shù)宣告方式:real a 或 real*4 a 單精確度
9、3.4*10^38 ~ -3.4*10^38 有效位數(shù)6~7位雙精確度:real*8 a 1.79*10^308有效位數(shù)15~16位,19,資料型態(tài)3,複數(shù)宣告:complex a使用:a=(x,y) !x為實部,y為虛部program maincomplex a,ba=(1.0,1.0)b=(3.0,4.3)write(*,*) “a+b=”, a+bwrite(*,*) “a-b=”, a-bwrite
10、(*,*) “a*b=”,a*bwrite(*,*) “a/b=”, a/bstopend,20,資料型態(tài)4,執(zhí)行結(jié)果:a+b= (4.0,5.3)a-b= (-2.0,-3.3000001)a*b= (-1.3000002,7.3)a/b= (0.2655511,-0.047289926),21,資料型態(tài)5,字元及字串Character a !宣告字元Character*10 a !宣告長度為10的字串其它
11、寫法CHARACTER*10CHARACTER(LEN=10)CHARACTER*(10)給予初始值A(chǔ)=”字串內(nèi)容”,22,輸入指令,輸入指令的基本語法如下:INTEGER AREAD (*,*) A !讀入一個整數(shù),並存到A內(nèi)READ (5,*) A !同上READ(UNIT=5, FMT=*) A !同上,23,格式化輸出1,關(guān)於I WRITE(*,”(I5)”) 100 !用5個字元的欄位來輸出一
12、個整數(shù) OUTPUT : _ _ 1 0 0 WRITE(*,”(I3)”) 100000 OUTPUT: * * * WRITE(*,”(I5.4)”) 3 !輸出五個字元欄位,至少輸出4位,不足補(bǔ)0OUTPUT: _ 0 0 0 3,24,格式化輸出2,關(guān)於FWRITE(*,”(F9.3)”) 123.45 !輸出9個字元欄位,包括小數(shù)部份3個位數(shù)OUTPUT: _ _ 1 2 3 . 4 5 0關(guān)於EW
13、RITE(*,”(E15.7)”) 123.45 !用科學(xué)計號表示法,輸出15個字元欄位,小數(shù)部份佔7位OUTPUT : _ _ 0 . 1 2 3 4 5 0 0 E + 0 3,25,格式化輸出3,關(guān)於A WRITE (*,”(A10)”) “HELLO” !用10個字元寬度輸出字串OUTPUT: _ _ _ _ _ H E L L OWRITE (*,”(A3)”) “HELLO”O(jiān)UTPUT : H E L,
14、26,格式化輸出4,關(guān)於B WRITE (*,”(B6.5)”) 3 !把3變成二進(jìn)位輸出,字6個字元寬,至少輸出5位OUTPUT : _ 0 0 0 1 1,27,格式化輸出5,關(guān)於X WRITE (*,”(3X)”) 20 !輸出前先填3個空白字元OUTPUT: _ _ _ 2 0,28,變數(shù)名稱取名原則1,長度限制FORTRAN 77 ? 至少6FORTRAN 90 ? 至少31不需宣告就能使用第一個字母為
15、I, J, K, L, M, N ?整數(shù)其它?浮點數(shù),29,變數(shù)名稱取名原則2,PROGRAM MAIN I=11+22 WRITE(*,*) “11+22=”, JSTOPEND結(jié)果:11+22=0,30,變數(shù)名稱取名原則3,關(guān)閉內(nèi)定型態(tài)的功能IMPLICIT NONE每個變數(shù)必需事先宣告位置:PROGRAM指令的下一行,31,常數(shù)的宣告,方式一 REAL PIPARAMETER(PI=3
16、.14159)方式二 REAL, PARAMETER ::PI=3.14159,32,程式結(jié)構(gòu),33,FLOW CONTROL1,IF … THEN… ELSE語法:IF(邏輯判斷式) THEN執(zhí)行動作1ELSE執(zhí)行動作2END IF,34,FLOW CONTROL2,PROGRAM MAINIMPLICIT NONEREAL HIEGHTREAL WEIGHT READ(*
17、,*) HEIGHTREAD(*,*) WEIGHTIF (WEIGHT > HEIGHT-100) THENWRITE(*,*) “TOO FAT!”ELSEWRITE(*,*) “UNDER CONTROL”END IFSTOPEND,35,FLOW CONTROL3,邏輯運(yùn)算式= = 相等/ = 不相等> 大於> = 大於等於< 小於<
18、 = 小於等於.AND. 如果兩邊式子都成立,整個條件就成立.OR.兩邊的式子只要有一個成立,整個條件就成立.NOT.如果後面的式子不成立,整個式子就算成立.EQV.兩邊式子的邏輯運(yùn)算結(jié)果相同時,整個式子就成立.NEQV.兩邊式子的邏輯運(yùn)算結(jié)果不同時,整個式子就成立,36,FLOW CONTROL4,FORTRAN 77的邏輯運(yùn)算式.EQ. 等於.NE. 不等於.GT. 大於.GE. 大於等於
19、.LT. 小於.LE. 小於等於,37,FLOW CONTROL5,DO迴圈語法:DO 起始值, 終止值, 累加值執(zhí)行程式碼END DO例:DO I=10, 5, -1WRITE(*,*) I END DO,38,FLOW CONTROL6,結(jié)果:1098765,39,FLOW CONTROL7,Do…while語法:DO WHILE (邏輯運(yùn)算)程式碼END DO,40,陣列1
20、,FORTRAN 90 陣列的宣告integer a(10) !宣告a這個陣列有10個元素integer , dimension(10) :: a ! 同上,另一種作法FORTRAN 77 陣列的宣告integer adimension a(10)注意!!index值從1開始算起!!,41,陣列2,使用陣列a(1)=18 INTEGER A(3) DATA A /36, 24, 36/在FORTR
21、AN 90中,還可以省略DATA這個敘述INTEGER :: A(3) = (/36, 26, 36/) ◎ 括號跟除號之間不能有空格,並且冒號不能省略。,42,函式1,副程式(SUBROUTINE)的使用:(可錯位)PROGRAM MAIN主程式碼END SUBROUTINE SUB1()程式碼END SUBROUTINESUBROUTINE SUB2()程式碼END SUBROUTINE,43,
22、函式2,特性:CALL BY REFERENCE無回傳值副程式最後一個指令通常是RETURN在主程式呼叫副程式:CALL,44,函式3,PROGRAM MAINIMPLICIT NONEINTEGER :: A=1WRITE (*,*) “A的初始值是”, ACALL ADD(A)WRITE(*,*) “A後來的值是”, ASTOPEND SUBROUTINE ADD(NUM)IMPLIC
23、IT NONEINTEGER NUMNUM = NUM + 1RETURNEND SUBROUTINE,45,函式4,這個程式的輸出:A的初始值是 1A後來的值是 2因為呼叫了subroutine,使得A的值被改變!,46,函式5,自訂函數(shù)(function)類似SUBROUTINE不同點呼叫前必需宣告有回傳值宣告方式Fortran 90 REAL , EXTERNAL :: ADD Fortran
24、77REAL ADDEXTERNAL ADD,47,函式6,PROGRAM MAINIMPLICIT NONEREAL, EXTERNAL:: TRIPPLE real:: A=1.38 WRITE (*,*) "A的初始值是", A WRITE (*,*) "呼叫函數(shù)",TRIPPLE(A) WRITE(*,*) "
25、;A後來的值是", A STOPEND REAL FUNCTION TRIPPLE(NUM)IMPLICIT NONE REAL NUM TRIPPLE = NUM * 3 RETURNEND,48,執(zhí)行結(jié)果,A的初始值是 1.38呼叫函數(shù) 4.14A後來的值是 1.38,49,作業(yè),圓面積計算公式輸入:半徑(浮點數(shù)),輸出:圓面積(浮點數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- fortran語言自學(xué)基礎(chǔ)
- 程序設(shè)計簡介(程序語言簡介.ppt)
- 蘭大20秋學(xué)期《fortran語言》平時作業(yè)
- 《程序設(shè)計語言(fortran)》課程教學(xué)大綱
- 基于網(wǎng)絡(luò)環(huán)境的FORTRAN語言學(xué)習(xí)系統(tǒng).pdf
- 蘭大fortran語言18春平時作業(yè)2輔導(dǎo)資料
- 蘭大fortran語言18春平時作業(yè)1輔導(dǎo)資料
- fortran做eof分析
- fortran課后習(xí)題答案
- 語言行為法簡介
- fortran練習(xí)題
- fortran常用函數(shù)表
- 第1章fortran概述
- sanofi簡介 ppt課件
- 香港簡介ppt資料
- 工廠物流簡介ppt
- 臺風(fēng)英文簡介ppt
- 深圳gpo簡介 ppt課件
- 索菲特酒店簡介ppt
- 數(shù)學(xué)史簡介ppt
評論
0/150
提交評論