版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、FORTRAN 語言簡介By 陳鯨太1Outline 語言簡介、編譯器簡介Fortran 基本事項輸出、輸入及宣告格式化輸出程式結(jié)構(gòu)流程控制陣列函式2Fortran 簡介全名Formula TranslatorIBM 1954 1957第一個被廣泛使用的高階語言演化1978 FORTRAN 771992 FORTRAN 901997 FORTRAN 953FORTRAN COMPILER 簡介1Visual FORTRANMicrosoft Digital Compaq HP?Microsoft Visual Studio完整的windows程式開發(fā)工具可與Visual C+相互連結(jié)使用4FO
2、RTRAN COMPILER 簡介2計中工作站提供Fortran 90 及 Fortran 77編譯方式輸出至a.outf77 f90 輸出至指定檔案(sample)f77 o samplef90 o sample5FORTRAN COMPILER 簡介3計中工作站之 Fortran只提供在 ccsun2635總數(shù):套登入telnet .tw帳號:u9031XXX密碼:預(yù)設(shè)值是身份証字號6FORTRAN 基本事項1字元集英文字母:AZ (大小寫不分)數(shù)字:09特殊符號:冒號、等號、加、減、乘、除、底線 etc7FORTRAN 基本事項2程式碼寫作格式Fix
3、ed FormatFortran 77 的舊格式為了使用打孔卡而發(fā)明詳細(xì)規(guī)定每個字元的“用法”Free FormatFortran 90之後的新格式提供較大彈性8FORTRAN 基本事項3Fixed Format第1個字元如果是字母c,C或*(星號),表示此行是註解第1-5個字元如果這邊是數(shù)字,表示這一行的代號,否則應(yīng)為空白第6個字元如果是0以外的字元,表示這一行程式會接續(xù)上一行第7-72個字元FORTRAN程式碼的寫作區(qū)域第73個字元之後不使用,超過部份會被忽略,有的編譯器會有錯誤訊息9FORTRAN 基本事項4Free Format不規(guī)定每一行第幾字元有什麼作用驚嘆號 ! 後面文字是註解每
4、行可寫作132個字元行號在每行程式最前面一行程式碼的最後如果是符號&,代表下一行程式會和這一行連接。10FORTRAN 基本事項5! Free Formatprogram mainwrite(*,*) “hello” ! 列印出hello這個字write(*,*) &“hello”wri&te(*,*) “hello”end11輸出1program mainwrite(*,*) “hello”stopend12輸出2Write(*,*)第一個參數(shù):輸出的位置第二個參數(shù):輸出格式相等寫法:WRITE(*,*) “HELLO”WRITE(6,*) “HELLO”WRITE(UNIT=6, FMT=
5、*) “HELLO”13輸出3關(guān)於write(*,*)自動換行印出雙引號使用連續(xù)2個雙引號WRITE(*,*) “ MY NAME IS “”CASTER”. ” FORTRAN 90 雙引號/單引號FORTRAN 77 單引號14輸出4PRINT語法:PRINT *, ”輸出字串”專門對螢?zāi)惠敵?5結(jié)束程式結(jié)束程式ENDEND PROGRAMEND PROGRAM MAIN ! MAIN是主程式的名字Fortran 90 1, 2, 3Fortran 77 1 16資料型態(tài)1整數(shù)(integer)宣告方式:integer a內(nèi)定範(fàn)圍為232 232 17資料型態(tài)2浮點(diǎn)數(shù)宣告方式:real a
6、 或 real*4 a 單精確度3.4*1038 3.4*1038 有效位數(shù)67位雙精確度:real*8 a 1.79*10308有效位數(shù)1516位18資料型態(tài)3複數(shù)宣告:complex a使用:a=(x,y) !x為實(shí)部,y為虛部program maincomplex a,ba=(1.0,1.0)b=(3.0,4.3)write(*,*) “a+b=”, a+bwrite(*,*) “a-b=”, a-bwrite(*,*) “a*b=”,a*bwrite(*,*) “a/b=”, a/bstopend19資料型態(tài)4執(zhí)行結(jié)果:a+b= (4.0,5.3)a-b= (-2.0,-3.30000
7、01)a*b= (-1.3000002,7.3)a/b= (0.2655511,-0.047289926)20資料型態(tài)5字元及字串Character a !宣告字元Character*10 a !宣告長度為10的字串其它寫法CHARACTER*10CHARACTER(LEN=10)CHARACTER*(10)給予初始值A(chǔ)=”字串內(nèi)容” 21輸入指令輸入指令的基本語法如下:INTEGER AREAD (*,*) A !讀入一個整數(shù),並存到A內(nèi)READ (5,*) A !同上READ(UNIT=5, FMT=*) A !同上22格式化輸出1關(guān)於I WRITE(*,”(I5)”) 100 !用5個字
8、元的欄位來輸出一個整數(shù) OUTPUT : _ _ 1 0 0 WRITE(*,”(I3)”) 100000 OUTPUT: * * * WRITE(*,”(I5.4)”) 3 !輸出五個字元欄位,至少輸出4位,不足補(bǔ)0OUTPUT: _ 0 0 0 323格式化輸出2關(guān)於FWRITE(*,”(F9.3)”) 123.45 !輸出9個字元欄位,包括小數(shù)部份3個位數(shù)OUTPUT: _ _ 1 2 3 . 4 5 0關(guān)於EWRITE(*,”(E15.7)”) 123.45 !用科學(xué)計號表示法,輸出15個字元欄位,小數(shù)部份佔(zhàn)7位OUTPUT : _ _ 0 . 1 2 3 4 5 0 0 E + 0
9、3 24格式化輸出3關(guān)於A WRITE (*,”(A10)”) “HELLO” !用10個字元寬度輸出字串OUTPUT: _ _ _ _ _ H E L L OWRITE (*,”(A3)”) “HELLO”O(jiān)UTPUT : H E L25格式化輸出4關(guān)於B WRITE (*,”(B6.5)”) 3 !把3變成二進(jìn)位輸出,字6個字元寬,至少輸出5位OUTPUT : _ 0 0 0 1 126格式化輸出5關(guān)於X WRITE (*,”(3X)”) 20 !輸出前先填3個空白字元OUTPUT: _ _ _ 2 027變數(shù)名稱取名原則1長度限制FORTRAN 77 至少6FORTRAN 90 至少31
10、不需宣告就能使用第一個字母為I, J, K, L, M, N 整數(shù)其它浮點(diǎn)數(shù)28變數(shù)名稱取名原則2PROGRAM MAIN I=11+22 WRITE(*,*) “11+22=”, JSTOPEND結(jié)果:11+22=0 29變數(shù)名稱取名原則3關(guān)閉內(nèi)定型態(tài)的功能IMPLICIT NONE每個變數(shù)必需事先宣告位置:PROGRAM指令的下一行30常數(shù)的宣告方式一 REAL PIPARAMETER(PI=3.14159)方式二 REAL, PARAMETER :PI=3.1415931程式結(jié)構(gòu)32FLOW CONTROL1IF THEN ELSE語法:IF(邏輯判斷式) THEN執(zhí)行動作1ELSE執(zhí)行
11、動作2END IF 33FLOW CONTROL2PROGRAM MAINIMPLICIT NONEREAL HIEGHTREAL WEIGHTREAD(*,*) HEIGHTREAD(*,*) WEIGHTIF (WEIGHT HEIGHT-100) THENWRITE(*,*) “TOO FAT!”ELSEWRITE(*,*) “UNDER CONTROL”END IFSTOPEND34FLOW CONTROL3邏輯運(yùn)算式= = 相等/ = 不相等 大於 = 大於等於 小於 = 小於等於.AND. 如果兩邊式子都成立,整個條件就成立.OR.兩邊的式子只要有一個成立,整個條件就成立.NOT.
12、如果後面的式子不成立,整個式子就算成立.EQV.兩邊式子的邏輯運(yùn)算結(jié)果相同時,整個式子就成立.NEQV.兩邊式子的邏輯運(yùn)算結(jié)果不同時,整個式子就成立35FLOW CONTROL4FORTRAN 77的邏輯運(yùn)算式.EQ. 等於.NE. 不等於.GT. 大於.GE. 大於等於.LT. 小於.LE. 小於等於36FLOW CONTROL5DO迴圈語法:DO 起始值, 終止值, 累加值執(zhí)行程式碼END DO例:DO I=10, 5, -1WRITE(*,*) I END DO37FLOW CONTROL6結(jié)果:109876538FLOW CONTROL7Dowhile語法:DO WHILE (邏輯運(yùn)算
13、)程式碼END DO39陣列1FORTRAN 90 陣列的宣告integer a(10) !宣告a這個陣列有10個元素integer , dimension(10) : a ! 同上,另一種作法FORTRAN 77 陣列的宣告integer adimension a(10)注意!index值從1開始算起!40陣列2使用陣列a(1)=18 INTEGER A(3) DATA A /36, 24, 36/在FORTRAN 90中,還可以省略DATA這個敘述INTEGER : A(3) = (/36, 26, 36/) 括號跟除號之間不能有空格,並且冒號不能省略。 41函式1副程式(SUBROUTI
14、NE)的使用:(可錯位)PROGRAM MAIN主程式碼END SUBROUTINE SUB1()程式碼END SUBROUTINESUBROUTINE SUB2()程式碼END SUBROUTINE42函式2特性:CALL BY REFERENCE無回傳值副程式最後一個指令通常是RETURN在主程式呼叫副程式:CALL 43函式3PROGRAM MAINIMPLICIT NONEINTEGER : A=1WRITE (*,*) “A的初始值是”, ACALL ADD(A)WRITE(*,*) “A後來的值是”, ASTOPENDSUBROUTINE ADD(NUM)IMPLICIT NONE
15、INTEGER NUMNUM = NUM + 1RETURNEND SUBROUTINE44函式4這個程式的輸出:A的初始值是 1A後來的值是 2因為呼叫了subroutine,使得A的值被改變!45函式5自訂函數(shù)(function)類似SUBROUTINE不同點(diǎn)呼叫前必需宣告有回傳值宣告方式Fortran 90 REAL , EXTERNAL : ADD Fortran 77REAL ADDEXTERNAL ADD46函式6PROGRAM MAINIMPLICIT NONEREAL, EXTERNAL: TRIPPLE real: A=1.38 WRITE (*,*) A的初始值是, A WRITE (*,*) 呼叫函數(shù),TRIPPLE(A) WRITE(*,*) A後來的值是,
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報參考:健康老齡化背景下社區(qū)老年運(yùn)動健康促進(jìn)典型案例與創(chuàng)新模式研究
- 2025版大型商業(yè)綜合體水電安裝工程分包合同范本2篇
- 二零二五年度生物醫(yī)藥創(chuàng)新平臺建設(shè)合同:地方政府與生物醫(yī)藥企業(yè)的合作3篇
- 2025版學(xué)校食堂承包合同包含食品安全培訓(xùn)與監(jiān)督3篇
- 2025版微信公眾號與電商平臺跨界合作服務(wù)合同3篇
- 二零二五版綠化苗木培育與種植服務(wù)合同3篇
- 二零二五年度城市基礎(chǔ)設(shè)施大數(shù)據(jù)信息服務(wù)與維護(hù)合同4篇
- 二零二五年度便利店便利店加盟店員勞動合同3篇
- 2025年二手車買賣廣告宣傳合作協(xié)議4篇
- 二零二五年度便利店品牌授權(quán)及區(qū)域保護(hù)合同3篇
- 銷售與銷售目標(biāo)管理制度
- 人教版(2025新版)七年級下冊英語:寒假課內(nèi)預(yù)習(xí)重點(diǎn)知識默寫練習(xí)
- 2024年食品行業(yè)員工勞動合同標(biāo)準(zhǔn)文本
- 全屋整裝售后保修合同模板
- 高中生物學(xué)科學(xué)推理能力測試
- GB/T 44423-2024近紅外腦功能康復(fù)評估設(shè)備通用要求
- 2024-2030年中國減肥行業(yè)市場發(fā)展分析及發(fā)展趨勢與投資研究報告
- 運(yùn)動技能學(xué)習(xí)
- 2024年中考英語專項復(fù)習(xí):傳統(tǒng)文化的魅力(閱讀理解+完型填空+書面表達(dá))(含答案)
- 音樂培訓(xùn)合同與培訓(xùn)機(jī)構(gòu)的合作
- 移動商務(wù)內(nèi)容運(yùn)營(吳洪貴)任務(wù)四 圖文類內(nèi)容的打造
評論
0/150
提交評論