- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程式結構 * FLOW CONTROL1 IF … THEN… ELSE語法: IF(邏輯判斷式) THEN 執行動作1 ELSE 執行動作2 END IF * 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 * FLOW CONTROL3 邏輯運算式 = = 相等 / = 不相等 大於 = 大於等於 小於 = 小於等於 .AND. 如果兩邊式子都成立,整個條件就成立 .OR. 兩邊的式子只要有一個成立,整個條件就成立 .NOT. 如果後面的式子不成立,整個式子就算成立 .EQV. 兩邊式子的邏輯運算結果相同時,整個式子就成立 .NEQV. 兩邊式子的邏輯運算結果不同時,整個式子就成立 * FLOW CONTROL4 FORTRAN 77的邏輯運算式 .EQ. 等於 .NE. 不等於 .GT. 大於 .GE. 大於等於 .LT. 小於 .LE. 小於等於 * FLOW CONTROL5 DO迴圈語法: DO 起始值, 終止值, 累加值 執行程式碼 END DO 例: DO I=10, 5, -1 WRITE(*,*) I END DO * FLOW CONTROL6 結果: 10 9 8 7 6 5 * FLOW CONTROL7 Do…while語法: DO WHILE (邏輯運算) 程式碼 END DO * 陣列1 FORTRAN 90 陣列的宣告 integer a(10) !宣告a這個陣列有10個元素 integer , dimension(10) :: a ! 同上,另一種作法 FORTRAN 77 陣列的宣告 integer a dimension a(10) 注意!!index值從1開始算起!! * 陣列2 使用陣列 a(1)=18 INTEGER A(3) DATA A /36, 24, 36/ 在FORTRAN 90中,還可以省略DATA這個敘述 INTEGER :: A(3) = (/36, 26, 36/) ◎ 括號跟除號之間不能有空格,並且冒號不能省略。 * 函式1 副程式(SUBROUTINE)的使用:(可錯位) PROGRAM MAIN 主程式碼 END SUBROUTINE SUB1() 程式碼 END SUBROUTINE SUBROUTINE SUB2() 程式碼 END SUBROUTINE * 函式2 特性: CALL BY REFERENCE 無回傳值 副程式最後一個指令通常是RETURN 在主程式呼叫副程式:CALL * 函式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 * 函式4 這個程式的輸出: A的初始值是 1 A後來的值是 2 因為呼叫了subroutine,使得A的值被改變! * 函式5 自訂函數(function) 類似SUBROUTINE 不同點 呼叫前必需宣告 有回傳值 宣告方式 Fortran 90 REAL , EXTERNAL :: ADD Fortran 77 REAL ADD EXTERNAL ADD * 函式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 * 執
原创力文档


文档评论(0)