![FORTRAN學(xué)習(xí)語言_第1頁](http://file4.renrendoc.com/view/5f3adcf78cd51c7ee04c37ff8577356b/5f3adcf78cd51c7ee04c37ff8577356b1.gif)
![FORTRAN學(xué)習(xí)語言_第2頁](http://file4.renrendoc.com/view/5f3adcf78cd51c7ee04c37ff8577356b/5f3adcf78cd51c7ee04c37ff8577356b2.gif)
![FORTRAN學(xué)習(xí)語言_第3頁](http://file4.renrendoc.com/view/5f3adcf78cd51c7ee04c37ff8577356b/5f3adcf78cd51c7ee04c37ff8577356b3.gif)
![FORTRAN學(xué)習(xí)語言_第4頁](http://file4.renrendoc.com/view/5f3adcf78cd51c7ee04c37ff8577356b/5f3adcf78cd51c7ee04c37ff8577356b4.gif)
![FORTRAN學(xué)習(xí)語言_第5頁](http://file4.renrendoc.com/view/5f3adcf78cd51c7ee04c37ff8577356b/5f3adcf78cd51c7ee04c37ff8577356b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quá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浮點數(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為實部,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位,不足補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ù)部份佔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變成二進位輸出,字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ù)其它浮點數(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邏輯運算式= = 相等/ = 不相等 大於 = 大於等於 小於 = 小於等於.AND. 如果兩邊式子都成立,整個條件就成立.OR.兩邊的式子只要有一個成立,整個條件就成立.NOT.
12、如果後面的式子不成立,整個式子就算成立.EQV.兩邊式子的邏輯運算結(jié)果相同時,整個式子就成立.NEQV.兩邊式子的邏輯運算結(jié)果不同時,整個式子就成立35FLOW CONTROL4FORTRAN 77的邏輯運算式.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 (邏輯運算
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不同點呼叫前必需宣告有回傳值宣告方式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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《Dreamweaver CS5網(wǎng)頁設(shè)計與制作實例教程》課件-第1章 概述
- 2025年全球及中國應(yīng)急響應(yīng)無人機行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國用于光學(xué)應(yīng)用的超透鏡行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國單相柵極驅(qū)動器IC行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國臺式激光二極管驅(qū)動儀行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球高山輸送機行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國柵網(wǎng)型離子源行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球大麻含量分析儀行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球藥品和食品防偽技術(shù)行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球立式高溫反應(yīng)釜行業(yè)調(diào)研及趨勢分析報告
- 江蘇省蘇州市2024-2025學(xué)年高三上學(xué)期1月期末生物試題(有答案)
- 銷售與銷售目標(biāo)管理制度
- 特殊教育學(xué)校2024-2025學(xué)年度第二學(xué)期教學(xué)工作計劃
- 2025年第一次工地開工會議主要議程開工大吉模板
- 第16課抗日戰(zhàn)爭課件-人教版高中歷史必修一
- 對口升學(xué)語文模擬試卷(9)-江西省(解析版)
- 糖尿病高滲昏迷指南
- 【公開課】同一直線上二力的合成+課件+2024-2025學(xué)年+人教版(2024)初中物理八年級下冊+
- 南京信息工程大學(xué)《教師領(lǐng)導(dǎo)力》2021-2022學(xué)年第一學(xué)期期末試卷
- 信息科技大單元教學(xué)設(shè)計之七年級第三單元便捷的互聯(lián)網(wǎng)服務(wù)
- (正式版)HGT 22820-2024 化工安全儀表系統(tǒng)工程設(shè)計規(guī)范
評論
0/150
提交評論