3.計算轉(zhuǎn)移語句計算轉(zhuǎn)移語句的一般形式為:
GOTO (n1, n2,……, nm), e
其中, ni (i = 1, 2,……, m)是被轉(zhuǎn)向的語句標號,共m個; e是一個整型算術(shù)表達 式,其值不得小于1且不得大于m.當(dāng)e的值等于1時,程序轉(zhuǎn)向標號nl的語句,當(dāng)e 的值等于2時轉(zhuǎn)向標號n2的話句,當(dāng)e的值為m時轉(zhuǎn)向標號為nm的語句。整型算術(shù)表 達式e前的逗號可以省略。計算轉(zhuǎn)移語句通常也和GOTO語句結(jié)合起來使用。 例如,有如下一個程序:
READ*,M
GOTO (20, 30, 40, 50) M
20 N=M GOTO 60
30 N=M*2 GOTO 60
40 N=M*3 GOTO 60
50 N=M*4
60 WRITE*,N
END
程序運行時,若輸入1,則轉(zhuǎn)向標號為20的語句,x的值為1 ;若輸入2,則轉(zhuǎn)向標號為 30的語句,x的值為4;輸入3,轉(zhuǎn)向標號為40的語句,x的值為9,輸入4,轉(zhuǎn)向標號 為50的語句,x的值為16
(二)邏輯條件語句
1.邏輯IF語句
邏輯IF 語句用來實現(xiàn)選擇結(jié)構(gòu)。它的一般形式為:
IF (邏輯表達式)內(nèi)嵌語句
其中內(nèi)嵌語句是單獨的一個可執(zhí)行語句。邏輯IF語句執(zhí)行時,首先計算邏輯表達式的值, 如果邏輯表達式的值為"真",則執(zhí)行內(nèi)嵌語句,若內(nèi)嵌語句非轉(zhuǎn)移語句,則執(zhí)行該語句 后繼續(xù)按順序往下執(zhí)行,若內(nèi)嵌語句是轉(zhuǎn)移語句,則轉(zhuǎn)向指定的語句;如果邏輯表達式的 值為"假",則不執(zhí)行內(nèi)嵌語句,而直接執(zhí)行該語句后面的語句。
例如,從鍵盤讀入一個代表百分制成績的數(shù)據(jù),如果數(shù)據(jù)在90-100之間就輸出 ‘Excellent’ ,在80-89之間輸出’Good’ ,在60-79之間輸出‘Pass’ ,在60以下則輸出 ’Not pass’ .其程序可以如下編寫:
READ (*.*) IPOINT
IF (IPOINT. GT .100. OR. IPOINT. LT. 0) WRITE (*,*) ’DATA ERROR’
IF (IPOINT.GE.90.AND. IPOINT. LE.100) WRITE (*.*) ’Excellent’
IF (IPOINT.GE.80.AND.IPOINT.LE89) WRITE ( * . *’Good’
IF (IPOINT.GE.60.AND. IPOINT. LE. 79) WRITE (*.*) ’Pass’
IF (IPOINT.GE.0.AND. IPOINT. LE.59) WRITE (*.*) ’Not Pass’
GOTO (n1, n2,……, nm), e
其中, ni (i = 1, 2,……, m)是被轉(zhuǎn)向的語句標號,共m個; e是一個整型算術(shù)表達 式,其值不得小于1且不得大于m.當(dāng)e的值等于1時,程序轉(zhuǎn)向標號nl的語句,當(dāng)e 的值等于2時轉(zhuǎn)向標號n2的話句,當(dāng)e的值為m時轉(zhuǎn)向標號為nm的語句。整型算術(shù)表 達式e前的逗號可以省略。計算轉(zhuǎn)移語句通常也和GOTO語句結(jié)合起來使用。 例如,有如下一個程序:
READ*,M
GOTO (20, 30, 40, 50) M
20 N=M GOTO 60
30 N=M*2 GOTO 60
40 N=M*3 GOTO 60
50 N=M*4
60 WRITE*,N
END
程序運行時,若輸入1,則轉(zhuǎn)向標號為20的語句,x的值為1 ;若輸入2,則轉(zhuǎn)向標號為 30的語句,x的值為4;輸入3,轉(zhuǎn)向標號為40的語句,x的值為9,輸入4,轉(zhuǎn)向標號 為50的語句,x的值為16
(二)邏輯條件語句
1.邏輯IF語句
邏輯IF 語句用來實現(xiàn)選擇結(jié)構(gòu)。它的一般形式為:
IF (邏輯表達式)內(nèi)嵌語句
其中內(nèi)嵌語句是單獨的一個可執(zhí)行語句。邏輯IF語句執(zhí)行時,首先計算邏輯表達式的值, 如果邏輯表達式的值為"真",則執(zhí)行內(nèi)嵌語句,若內(nèi)嵌語句非轉(zhuǎn)移語句,則執(zhí)行該語句 后繼續(xù)按順序往下執(zhí)行,若內(nèi)嵌語句是轉(zhuǎn)移語句,則轉(zhuǎn)向指定的語句;如果邏輯表達式的 值為"假",則不執(zhí)行內(nèi)嵌語句,而直接執(zhí)行該語句后面的語句。
例如,從鍵盤讀入一個代表百分制成績的數(shù)據(jù),如果數(shù)據(jù)在90-100之間就輸出 ‘Excellent’ ,在80-89之間輸出’Good’ ,在60-79之間輸出‘Pass’ ,在60以下則輸出 ’Not pass’ .其程序可以如下編寫:
READ (*.*) IPOINT
IF (IPOINT. GT .100. OR. IPOINT. LT. 0) WRITE (*,*) ’DATA ERROR’
IF (IPOINT.GE.90.AND. IPOINT. LE.100) WRITE (*.*) ’Excellent’
IF (IPOINT.GE.80.AND.IPOINT.LE89) WRITE ( * . *’Good’
IF (IPOINT.GE.60.AND. IPOINT. LE. 79) WRITE (*.*) ’Pass’
IF (IPOINT.GE.0.AND. IPOINT. LE.59) WRITE (*.*) ’Not Pass’