■熊 偉
條件結(jié)構(gòu)作為表達(dá)算法的一種實(shí)用而簡(jiǎn)潔的形式,其主要特點(diǎn)是:依據(jù)條件,從可選的流程中選擇執(zhí)行;重點(diǎn)體現(xiàn)在“判斷”;條件結(jié)構(gòu)也是唯一的單入口、多出口的算法結(jié)構(gòu),雖然有兩個(gè)出口,但也只能選擇其中一個(gè)出口。解答條件結(jié)構(gòu)的程序框圖問(wèn)題時(shí),要厘清題目中的邏輯關(guān)系,注重細(xì)節(jié),認(rèn)真檢查。
例1畫出求分段函數(shù)y=的函數(shù)值的程序框圖。
分析:這是一個(gè)分段函數(shù)求值的程序框圖問(wèn)題,可通過(guò)條件結(jié)構(gòu)的嵌套實(shí)現(xiàn)三分支分段函數(shù)的求值問(wèn)題。
解法1:由題意畫出程序框圖,如圖1所示。

圖1
評(píng)注:對(duì)于條件結(jié)構(gòu)的嵌套,本題容易忽視判斷框“x<10”處隱含著“x≥1”這一條件,因?yàn)椤皒<10”這個(gè)條件結(jié)構(gòu)嵌套在“x<1”不成立這一分支上。
解法2:除了條件結(jié)構(gòu)的嵌套能實(shí)現(xiàn)這一功能,也可以像三分支的分段函數(shù)一樣用三個(gè)條件結(jié)構(gòu)串起來(lái),每個(gè)條件結(jié)構(gòu)對(duì)應(yīng)分段函數(shù)的一支,從而實(shí)現(xiàn)三分支分段函數(shù)求值的程序框圖問(wèn)題。由題意畫出程序框圖,如圖2所示。

圖2
評(píng)注:這種用三個(gè)條件結(jié)構(gòu)串起來(lái)實(shí)現(xiàn)三分支分段函數(shù)求值的程序框圖問(wèn)題,理解起來(lái)簡(jiǎn)單,只是與條件結(jié)構(gòu)嵌套畫出的程序框圖相比顯得冗長(zhǎng)一些。
例2閏年是指能被4整除但不能被100整除,或者能被400整除的年份,畫出判斷輸入的年份是否為閏年的程序框圖。
分析:明確題意,哪些年份是閏年,哪些年份不是閏年。閏年有這樣一個(gè)諺語(yǔ):四年一閏(如2020年,2024年是閏年),百年不閏(2100年,2200年不是閏年),四百年又閏(2000年,2400年是閏年)。
解法1:根據(jù)題意,利用直譯法畫出程序框圖,如圖3所示。

圖3
解法2:利用倒敘法畫出程序框圖,如圖4所示。

圖4
評(píng)注:厘清問(wèn)題的邏輯關(guān)系是解題的關(guān)鍵。解答這類問(wèn)題要求思路清晰,知識(shí)掌握得牢固。