2010年一級(jí)結(jié)構(gòu)基礎(chǔ)輔導(dǎo):(計(jì)算機(jī)應(yīng)用基礎(chǔ))備考講義(12)

字號(hào):

六、控制語(yǔ)句
    一般情況下, FORTRAN程序是按語(yǔ)句順序執(zhí)行的,但需要時(shí),可以改變這種順序。 這種改變可以通過(guò)各種控制轉(zhuǎn)移語(yǔ)句、邏輯條件語(yǔ)句等來(lái)實(shí)現(xiàn)。
    (一)轉(zhuǎn)移語(yǔ)句
    1.無(wú)條件轉(zhuǎn)移語(yǔ)句
    無(wú)條件轉(zhuǎn)移語(yǔ)句的一般形式為:
    GOTO n
    當(dāng)程序流程到達(dá)GOTO語(yǔ)句時(shí),隨后就轉(zhuǎn)向語(yǔ)句標(biāo)號(hào)為n的語(yǔ)句。標(biāo)號(hào)為n的語(yǔ)句必須 是可執(zhí)行語(yǔ)句,但它在程序中的排列位置,可以在引導(dǎo)到它的GOTO語(yǔ)句之后,也可以 在該GOTO 語(yǔ)句之前。無(wú)條件轉(zhuǎn)移語(yǔ)句常和其他控制語(yǔ)句結(jié)合起來(lái)使用。
    2.算術(shù)條件轉(zhuǎn)移語(yǔ)句
    算術(shù)條件轉(zhuǎn)移語(yǔ)句的一般形式為:
    IF (e) nl, n2, n3
    其中, e必須是算術(shù)表達(dá)式,當(dāng)表達(dá)式運(yùn)算結(jié)果e<0時(shí),程序轉(zhuǎn)向標(biāo)號(hào)為n1的語(yǔ)句;當(dāng) e=0時(shí),轉(zhuǎn)向標(biāo)號(hào)為n2的語(yǔ)句;當(dāng)e>0時(shí),轉(zhuǎn)向標(biāo)號(hào)為n3的語(yǔ)句。
    例如,計(jì)算邊長(zhǎng)為B的正方形中挖去半徑為R的圓后的面積,若B<2R,則給出相 關(guān)信息。該問(wèn)題的FORTRAN程序可用別遼條件轉(zhuǎn)移語(yǔ)句編寫(xiě)如下。
    C Computation of area.
    READ*B.R
    IF (B-2*R) 5, 15, 15
    5 WRITE (*, 10)
    10 FORMAT (’Error message: B less than 2*R‘)
    GOTO 20
    15 AREA=B*B-3.14159*R*R
    WRITE *AREA
    20 CONTINUE
    END
    本例中,在算術(shù)條件轉(zhuǎn)移語(yǔ)句的第1個(gè)分支后,使用了GOTO語(yǔ)句;倘沒(méi)有此語(yǔ)句,則 程序按順序仍會(huì)執(zhí)行標(biāo)號(hào)為15的語(yǔ)句,從而得出不正確的結(jié)果。