■熊 偉
條件結(jié)構(gòu)作為表達(dá)算法的一種實(shí)用而簡潔的形式,其主要特點(diǎn)是:依據(jù)條件,從可選的流程中選擇執(zhí)行;重點(diǎn)體現(xiàn)在“判斷”;條件結(jié)構(gòu)也是唯一的單入口、多出口的算法結(jié)構(gòu),雖然有兩個(gè)出口,但也只能選擇其中一個(gè)出口。解答條件結(jié)構(gòu)的程序框圖問題時(shí),要厘清題目中的邏輯關(guān)系,注重細(xì)節(jié),認(rèn)真檢查。
例1畫出求分段函數(shù)y=的函數(shù)值的程序框圖。
分析:這是一個(gè)分段函數(shù)求值的程序框圖問題,可通過條件結(jié)構(gòu)的嵌套實(shí)現(xiàn)三分支分段函數(shù)的求值問題。
解法1:由題意畫出程序框圖,如圖1所示。
圖1
評注:對于條件結(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)串起來,每個(gè)條件結(jié)構(gòu)對應(yīng)分段函數(shù)的一支,從而實(shí)現(xiàn)三分支分段函數(shù)求值的程序框圖問題。由題意畫出程序框圖,如圖2所示。
圖2
評注:這種用三個(gè)條件結(jié)構(gòu)串起來實(shí)現(xiàn)三分支分段函數(shù)求值的程序框圖問題,理解起來簡單,只是與條件結(jié)構(gòu)嵌套畫出的程序框圖相比顯得冗長一些。
例2閏年是指能被4整除但不能被100整除,或者能被400整除的年份,畫出判斷輸入的年份是否為閏年的程序框圖。
分析:明確題意,哪些年份是閏年,哪些年份不是閏年。閏年有這樣一個(gè)諺語:四年一閏(如2020年,2024年是閏年),百年不閏(2100年,2200年不是閏年),四百年又閏(2000年,2400年是閏年)。
解法1:根據(jù)題意,利用直譯法畫出程序框圖,如圖3所示。
圖3
解法2:利用倒敘法畫出程序框圖,如圖4所示。
圖4
評注:厘清問題的邏輯關(guān)系是解題的關(guān)鍵。解答這類問題要求思路清晰,知識掌握得牢固。