Fortran语言简介

上传人:gp****x 文档编号:243497169 上传时间:2024-09-24 格式:PPT 页数:50 大小:90.50KB
返回 下载 相关 举报
Fortran语言简介_第1页
第1页 / 共50页
Fortran语言简介_第2页
第2页 / 共50页
Fortran语言简介_第3页
第3页 / 共50页
点击查看更多>>
资源描述
按一下以編輯母片標題樣式,按一下以編輯母片,第二層,第三層,第四層,第五層,*,FORTRAN 語言簡介,By 陳鯨太,1,Outline,語言簡介、編譯器簡介,Fortran 基本事項,輸出、輸入及宣告,格式化輸出,程式結構,流程控制,陣列,函式,2,Fortran 簡介,全名,For,mula,Tran,slator,IBM 1954 1957,第一個被廣泛使用的高階語言,演化,1978, FORTRAN 77,1992 FORTRAN 90,1997 FORTRAN 95,3,FORTRAN COMPILER 簡介1,Visual FORTRAN,Microsoft, Digital Compaq HP?,Microsoft Visual Studio,完整的windows程式開發工具,可與Visual C+相互連結使用,4,FORTRAN COMPILER 簡介2,計中工作站,提供Fortran 90 及 Fortran 77,編譯方式,輸出至a.out,f77,f90,輸出至指定檔案(sample),f77 o sample,f90 o sample,5,FORTRAN COMPILER 簡介3,計中工作站之 Fortran,只提供在 ccsun2635,總數:套,登入,telne.tw,帳號:u9031XXX,密碼:預設值是身份証字號,6,FORTRAN 基本事項1,字元集,英文字母:AZ (大小寫不分),數字:09,特殊符號:冒號、等號、加、減、乘、除、底線 etc,7,FORTRAN 基本事項2,程式碼寫作格式,Fixed Format,Fortran 77 的舊格式,為了使用打孔卡而發明,詳細規定每個字元的“用法”,Free Format,Fortran 90之後的新格式,提供較大彈性,8,FORTRAN 基本事項3,Fixed Format,第1個字元,如果是字母c,C或*(星號),表示此行是註解,第1-5個字元,如果這邊是數字,表示這一行的代號,否則應為空白,第6個字元,如果是0以外的字元,表示這一行程式會接續上一行,第7-72個字元,FORTRAN程式碼的寫作區域,第73個字元之後,不使用,超過部份會被忽略,有的編譯器會有錯誤訊息,9,FORTRAN 基本事項4,Free Format,不規定每一行第幾字元有什麼作用,驚嘆號 ! 後面文字是註解,每行可寫作132個字元,行號在每行程式最前面,一行程式碼的最後如果是符號&,代表下一行程式會和這一行連接。,10,FORTRAN 基本事項5,! Free Format,program main,write(*,*) “hello” ! 列印出hello這個字,write(*,*) &,“hello”,wri&,te(*,*) “hello”,end,11,輸出1,program main,write(*,*) “hello”,stop,end,12,輸出2,Write(*,*),第一個參數:輸出的位置,第二個參數:輸出格式,相等寫法:,WRITE(*,*) “HELLO”,WRITE(6,*) “HELLO”,WRITE(UNIT=6, FMT=*) “HELLO”,13,輸出3,關於write(*,*),自動換行,印出雙引號,使用連續2個雙引號,WRITE(*,*) “ MY NAME IS “”CASTER”. ”,FORTRAN 90,雙引號/單引號,FORTRAN 77 單引號,14,輸出4,PRINT,語法:PRINT *, ”輸出字串”,專門對螢幕輸出,15,結束程式,結束程式,END,END PROGRAM,END PROGRAM MAIN ! MAIN,是主程式的名字,Fortran 90, 1, 2, 3,Fortran 77 1,16,資料型態1,整數(integer),宣告方式:integer a,內定範圍為,232,232,17,資料型態2,浮點數,宣告方式:real a 或 real*4 a,單精確度,3.4*1038 3.4*1038,有效位數67位,雙精確度:real*8 a,1.79*10308,有效位數1516位,18,資料型態3,複數,宣告:complex a,使用:a=(x,y) !x為實部,y為虛部,program main,complex a,b,a=(1.0,1.0),b=(3.0,4.3),write(*,*) “a+b=”, a+b,write(*,*) “a-b=”, a-b,write(*,*) “a*b=”,a*b,write(*,*) “a/b=”, a/b,stop,end,19,資料型態4,執行結果:,a+b= (4.0,5.3),a-b= (-2.0,-3.3000001),a*b= (-1.3000002,7.3),a/b= (0.2655511,-0.047289926),20,資料型態5,字元及字串,Character a !宣告字元,Character*10 a !宣告長度為10的字串,其它寫法,CHARACTER*10,CHARACTER(LEN=10),CHARACTER*(10),給予初始值,A=”,字串內容,”,21,輸入指令,輸入指令的基本語法如下:,INTEGER A,READ (*,*) A !讀入一個整數,並存到A內,READ (5,*) A !同上,READ(UNIT=5, FMT=*) A !同上,22,格式化輸出1,關於I,WRITE(*,”(I5)”) 100 !用5個字元的欄位來輸出一個整數,OUTPUT : _ _ 1 0 0,WRITE(*,”(I3)”) 100000,OUTPUT: * * *,WRITE(*,”(I5.4)”) 3,!輸出五個字元欄位,至少輸出4位,不足補0,OUTPUT: _ 0 0 0 3,23,格式化輸出2,關於F,WRITE(*,”(F9.3)”) 123.45,!輸出9個字元欄位,包括小數部份3個位數,OUTPUT: _ _ 1 2 3 . 4 5 0,關於E,WRITE(*,”(E15.7)”) 123.45,!,用科學計號表示法,,輸出15個字元欄位,小數部份佔7位,OUTPUT : _ _ 0 . 1 2 3 4 5 0 0 E + 0 3,24,格式化輸出3,關於,A,WRITE (*,”(A10)”) “HELLO”,!用10個字元寬度輸出字串,OUTPUT: _ _ _ _ _ H E L L O,WRITE (*,”(A3)”) “HELLO”,OUTPUT : H E L,25,格式化輸出4,關於,B,WRITE (*,”(B6.5)”) 3,!把3變成二進位輸出,字6個字元寬,至少輸出5位,OUTPUT : _ 0 0 0 1 1,26,格式化輸出5,關於,X,WRITE (*,”(3X)”) 20,!輸出前先填3個空白字元,OUTPUT: _ _ _ 2 0,27,變數名稱取名原則1,長度限制,FORTRAN 77, 至少6,FORTRAN 90 至少31,不需宣告就能使用,第一個字母為I, J, K, L, M, N,整數,此為,1-,規則,不倡議使用,其它浮點數,28,變數名稱取名原則2,PROGRAM MAIN,I=11+22,WRITE(*,*) “11+22=”, J,STOP,END,結果:,11+22=0,29,變數名稱取名原則3,關閉內定型態的功能,IMPLICIT NONE,每個變數必需事先宣告,位置:PROGRAM指令的下一行,30,常數的宣告,方式一,REAL PI,PARAMETER(PI=3.14159),方式二,REAL, PARAMETER :PI=3.14159,31,程式結構,32,FLOW CONTROL1,IF THEN ELSE語法:,IF(邏輯判斷式) THEN,執行動作1,ELSE,執行動作2,END IF,33,FLOW CONTROL2,PROGRAM MAIN,IMPLICIT NONE,REAL HIEGHT,REAL WEIGHT,READ(*,*) HEIGHT,READ(*,*) WEIGHT,IF (WEIGHT HEIGHT-100) THEN,WRITE(*,*) “TOO FAT!”,ELSE,WRITE(*,*) “UNDER CONTROL”,END IF,STOP,END,34,FLOW CONTROL3,邏輯運算式,= = 相等,/ = 不相等, 大於, = 大於等於, 小於, = 小於等於,.AND. 如果兩邊式子都成立,整個條件就成立,.OR.兩邊的式子只要有一個成立,整個條件就成立,.NOT.如果後面的式子不成立,整個式子就算成立,.EQV.兩邊式子的邏輯運算結果相同時,整個式子就成立,.NEQV.兩邊式子的邏輯運算結果不同時,整個式子就成立,35,FLOW CONTROL4,FORTRAN 77的邏輯運算式,.EQ. 等於,.NE. 不等於,.GT. 大於,.GE. 大於等於,.LT. 小於,.LE. 小於等於,36,FLOW CONTROL5,DO迴圈語法:,DO 起始值, 終止值, 累加值,執行程式碼,END DO,例:,DO I=10, 5, -1,WRITE(*,*) I,END DO,37,FLOW CONTROL6,結果:,10,9,8,7,6,5,38,FLOW CONTROL7,Dowhile語法:,DO WHILE (邏輯運算),程式碼,END DO,39,陣列1,FORTRAN 90 陣列的宣告,integer a(10) !宣告a這個陣列有10個元素,integer , dimension(10) : a,! 同上,另一種作法,FORTRAN 77 陣列的宣告,integer a,dimension 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,副程式(SUBROUTINE)的使用,:(可錯位),PROGRAM MAIN,主程式碼,END,SUBROUTINE SUB1(),程式碼,END SUBROUTINE,SUBROUTINE SUB2(),程式碼,END SUBROUTINE,42,函式2,特性:,CALL BY REFERENCE,無回傳值,副程式最後一個指令通常是RETURN,在主程式呼叫副程式:CALL,43,函式3,PROGRAM MAIN,IMPLICIT NONE,INTEGER : A=1,WRITE (*,*) “A的初始值是”, A,CALL ADD(A),WRITE(*,*) “A後來的值是”, A,STOP,END,SUBROUTINE ADD(NUM),IMPLICIT NONE,INTEGER NUM,NUM = NUM + 1,RETURN,END SUBROUTINE,44,函式4,這個程式的輸出:,A的初始值是 1,A後來的值是 2,因為呼叫了subroutine,使得A的值被改變!,45,函式5,自訂函數(function),類似SUBROUTINE,不同點,呼叫前必需宣告,有回傳值,宣告方式,Fortran 90,REAL , EXTERNAL : ADD,Fortran 77,REAL ADD,EXTERNAL ADD,46,函式6,PROGRAM MAIN,IMPLICIT NONE,REAL, EXTERNAL: TRIPPLE,real: A=1.38,WRITE (*,*) A的初始值是, A,WRITE (*,*) 呼叫函數,TRIPPLE(A),WRITE(*,*) A後來的值是, A,STOP,END,REAL FUNCTION TRIPPLE(NUM),IMPLICIT NONE,REAL NUM,TRIPPLE = NUM * 3,RETURN,END,47,執行結果,A的初始值是 1.38,呼叫函數 4.14,A後來的值是 1.38,48,作業,圓面積計算公式,輸入:半徑(浮點數),輸出:圓面積(浮點數),必需使用subroutine, function其中一種方式,圓周率使用課堂上教的方法宣告,Pi=3.1416,49,Any Question,Please email : caste.tw,50,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!