【正文】
代時不執(zhí)行下面的部分語句,使 DO結構更為靈活。 b) EXIT語句 計算材料學 條件循環(huán) 例:一個猜數游戲。用隨機數產生器產生 1- 10之間的一個整數,你猜它,如果猜得太大或太小都會提示,猜對了結束。 CALL RANDOM_SEED ! Processor initializes the seed randomly from the date and time call random_number(R) Number=int(10*R+1) do write(*,39。(Your Guess:)39。)。 read *, MyGuess if(MyGuess==Number) exit if(MyGuess Number) then print *, 39。Too high. Try again.39。 else print *, 39。Too low. Try again.39。 end if end do print *,39。You are lucky. It is39。,Numberend 計算材料學 數組 輸入 10個整數,并按輸入時的逆序輸出,每行 5個。 PROGRAM NUMBER INTEGER,DIMENSION(1:10)::A INTEGER::I DO I=1,10 READ *,A(I) END DO PRINT 39。(1X,5I4)39。,(A(11I),I=1,10) END PROGRAM NUMBER 計算材料學 INTEGER,DIMENSION(2,3)::A READ*,A 相當于 READ*,A(1,1),A(2,1),A(1,2),A(2,2),A(1,3),A(2,3) DO循環(huán) WRITE(*,39。(1X,3I5)39。)((A(I,J),J=1,3),I=1,2) READ(*,*)((A(I,J), I=1,2), J=1,3) 相當于 READ*,A DO循環(huán) — 最常用方法 DO I=1,2 READ*, (A(I,J),J=1,3) END DO DO I=1,2 WRITE(*,39。(1X,3I3)39。)(A(I,J),J=1,3) END DO 計算材料學 根據所操作的文件是否在內存中可以把文件分為內部文件和外部文件。當把內存中的數據記錄到到磁盤的文件中或輸入輸出到其他外部設備如打印機、顯示器、鍵盤上時,被稱為外部文件。連接著一個外部文件的設備描述必須是 — 整型表達式或是星號 (*),其整型表達式的取值范圍在 32768到 32767之間。 例: OPEN(UNIT=10,FILE=’ ’ ) WRITE(10,’ (A)’ ) ’ how are you? ’ 例: OPEN(7,FILE=E:\) WRITE(7,*) A CLOSE (7) 在 Fortran中有 4個預定義的外部文件 (設備 ): 設備號 連接的設備 星號 (*) 總是鍵盤和顯示器 外部文件 計算材料學 利用隨機過程產生 10個處于區(qū)間 [10,99] 上的隨機整數。 PROGRAM RANDOM_ARRAY INTEGER::I INTEGER,DIMENSION(1:10)::N_RAN REAL::X_RAN DO I=1,10 CALL RANDOM_NUMBER(X_RAN) N_RAN(I)=INT(X_RAN*90+10) END DO WRITE(*,39。(10I5)39。)(N_RAN(I),I=1,10) END PROGRAM RANDOM_ARRAY 計算材料學 屬性說明 PARAMETER屬性 PARAMETER屬性也稱常數名屬性。被說明對象一旦附加了PARAMETER屬性,就不再是變量名,而是一個常數的名字,它的形式雖與變量名形式一樣,但在程序中不能改變值,只能當常數使用。例如: INTEGER, PARAMETER :: K=20 REAL(8),PARAMETER :: PI=, K_PAI=K*PI, Light_Speed= 常數名被說明后,在程序中就不可再更改值,如要更改,則系統提示出錯信息。這一性質,有助于防止程序中誤改不可改的常數。使用常數名可以加強可讀性,也有助于程序維護。設原編程序是解四階方程以后要擴充為能解五階方程,修改時必須把所有反映階數,寫在程序各處的 4改成 5,這就難免修改時有逃漏,甚至把不該改的 4也誤改為 5,造成程序混亂。使用常數名就可避免這種維護上的困難,當編四階方程解的程序時,先定義 Order是整型數 4的常數名; INTEGER, PARAMETER :: Order=4 在程序中所有規(guī)定階數 4的場合都不寫 4而用常數名 Order代替,以后只要把 Order由 4改為 5即可。