Fortran語言基礎 - 圖文 - 下載本文

數值分析程序設計——Fortran基礎

implicit none integer score character grade write(*,*) \ read(*,*) score select case(score)

case(90:100) ! 90到100分之間 grade='A'

case(80:89) ! 80到89分之間 grade='B'

case(70:79) ! 70到79分之間 grade='C'

case(60:69) ! 60到69分之間 grade='D'

case(0:59) ! 0到59分之間 grade='E'

case default ! 其它情形 grade='?' end select

write(*,\ stop end

注意:使用SELECT CASE有以下限制:

(1) 只能使用整數、字符和邏輯變量,不能使用浮點數及復數; (2) 每個CASE中所使用的數值必須是固定值,不能使用變量;

3.4 其他流程控制

3.4.1 GOTO命令

GOTO命令功能強大,可以任意跳轉程序的執行順序。正因為這樣,一般不建議使用,以免造成程序邏輯混亂。

26

山東建筑大學

3.4.2 PAUSE、CONTINUE、STOP命令

PAUSE 程序執行到PAUSE時,會暫停執行,直到用戶按下ENTER鍵,才會恢復執行;

CONTINUE 沒有實際功能,只是為方便程序閱讀; STOP 結束程序;

27

數值分析程序設計——Fortran基礎

4 循環語句

4.1 DO循環

語法:

do counter=a, b , c 程序代碼 end do 注釋:

do循環標志 counter計數器 a計數初值 b計數終值

c計數增量,默認為1,可以省略 end do結束循環 例 利用循環計算2+4+6+8+10

program ex0602 implicit none

integer, parameter :: limit=10 ! 計數器的上限 integer counter ! 計數器 integer :: ans = 0 ! 拿來累加使用 do counter=2, limit ,2 ans = ans + counter end do write(*,*) ans stop end

注釋:DO循環可以多層嵌套 do i=1,10 do j=1,10

28

山東建筑大學

do k=1,10 {程 序 代 碼} end do end do end do

DO循環有明確的循環次數,在已知需要循環的次數時使用。若事先無法知道循環的次數,采用下面的循環方式。

4.2 DO WHILE循環

語法:

do while (邏輯表達式) 循環體 end do

例 利用循環計算2+4+6+8+10

program ex0604 implicit none

integer, parameter :: limit=10 ! 計數器的上限 integer counter ! 計數器 integer :: ans = 0 ! 拿來累加使用 counter = 2 ! 設定計數器初值 do while( counter <= limit ) ans = ans + counter

counter = counter + 2 ! 計數器累加 end do write(*,*) ans stop end

例 猜體重

program ex0605

29

數值分析程序設計——Fortran基礎

implicit none

real, parameter :: weight=45.0 real, parameter :: e = 0.001 real :: guess = 0.0

do while( abs(guess-weight) > e ) write(*,*) \ read(*,*) guess end do

write(*,*) \ stop end

Do While循環使用時應當注意正確設置循環判斷表達式,以免進入死循環。

4.3 循環的流程控制

4.3.1 CYCLE命令

CYCLE命令可以略過循環的程序模塊中,在CYCLE命令后面的所有程序代碼,直接跳回循環的開頭來進行下一次循環。

例 假設某大樓共有9層,但電梯在4層不停,試寫一個程序仿真大樓電梯從一層到九層的信號顯示情況。

program ex0606 implicit none integer :: dest = 9 integer floor do floor=1, dest if ( floor==4 ) cycle write(*,*) floor end do stop end

30





pk10冠军百期错一 长峰河南在线视频 打长沙麻将小诀窍 快乐12开奖结果查 深圳风采玩法介绍 28日世界杯比分预测 中储股份股票 红中麻将规则 吉林十一选五开奖历 516棋牌游戏中心首页 福州麻将教学视频新手 31选7开奖结果走 湖人凯尔特人 模拟炒基金app 52麻将辅助器下载手机版 湖北快三预测今天推荐号 3d开奖结果今天结