■河南省商丘市第一高級中學(xué) 張志華 何茂紅
算法初步??碱}型
■河南省商丘市第一高級中學(xué) 張志華 何茂紅
在高考中,算法初步章節(jié)知識仍為考查熱點(diǎn),內(nèi)容以程序框圖為主。從形式上看,以選擇題和填空題為主,或以實際問題為背景,側(cè)重知識應(yīng)用能力的考查,要求學(xué)生具備一定的邏輯推理能力。
從近幾年高考題來看,在三種基本邏輯結(jié)構(gòu)中,循環(huán)結(jié)構(gòu)與條件結(jié)構(gòu)是考查的熱點(diǎn)。程序框圖是算法的直觀表示,是算法轉(zhuǎn)化為程序的媒介,故程序框圖在算法中的地位舉足輕重,仍是高考考查的重點(diǎn)。程序框圖及相應(yīng)的邏輯結(jié)構(gòu):順序、條件、循環(huán)結(jié)構(gòu),其中循環(huán)結(jié)構(gòu)是高考考查的重點(diǎn)。在復(fù)習(xí)中應(yīng)加強(qiáng)訓(xùn)練,過好“識圖、用圖、作圖”這三關(guān)。
例1 執(zhí)行圖1的程序框圖,為了使輸出S的值小于9 1,則輸入的正整數(shù)N的最小值為( )。
A.5 B.4
C.3 D.2
分析:解決程序框圖問題要注意幾個常用變量。(1)計數(shù)變量:用來記錄某個事件發(fā)生的次數(shù),如i=i+1;(2)累加變量:用來計算數(shù)據(jù)之和,如S=S+i;(3)累乘變量:用來計算數(shù)據(jù)之積,如p=p×i。而在處理循環(huán)結(jié)構(gòu)的框圖問題時,關(guān)鍵是理解并認(rèn)清終止循環(huán)結(jié)構(gòu)的條件及循環(huán)次數(shù)。
解:看清流程圖,程序運(yùn)行如下。
首先,初始化數(shù)值:t=1,M=1 0 0,S=0;然后,進(jìn)入循環(huán)體,此時應(yīng)滿足t≤N,執(zhí)行循環(huán)語句,S=S+M=1 0 0,M==-1 0,t=t+1=2;此時應(yīng)滿足t≤N,執(zhí)行循環(huán)語句,S=S+M=9 0,=1,t=t+1=3;此時不滿足S<9 1,可以跳出循環(huán)。則輸入的正整數(shù)N的最小值為2。故選D。
總結(jié):看到求輸入的值,想到利用程序框圖得出其算法功能,找到輸出值與輸入值之間的關(guān)系,逆推得輸入值??吹窖h(huán)結(jié)構(gòu),想到循環(huán)體的構(gòu)成;看到判斷框想到程序什么時候開始和終止。應(yīng)用循環(huán)結(jié)構(gòu)應(yīng)明確三個問題:(1)確定循環(huán)變量和初始值。(2)確定循環(huán)體,即算法中反復(fù)執(zhí)行的部分。(3)確定循環(huán)的終止條件。
例2 執(zhí)行圖2所示的程序框圖,如果輸入的a=-1,則輸出的S=( )。
據(jù)介紹,6月份,哈國家磷肥廠宣布投資80億堅戈(約合2200萬美元)用于現(xiàn)代化改造,預(yù)計到2020年擴(kuò)大磷肥產(chǎn)量至50萬噸,遠(yuǎn)期目標(biāo)為100萬噸。今年1~8月,該廠的產(chǎn)品主要銷往美國、中國、阿富汗、俄羅斯、烏克蘭、塔吉克斯坦和烏茲別克斯坦。同時,哈產(chǎn)氮肥已開始向阿根廷、羅馬尼亞、捷克、保加利亞和伊朗出口。
A.2 B.3 C.4 D.5
解析:閱讀流程圖,初始化數(shù)值a=-1,k=1,S=0。
循環(huán)結(jié)果執(zhí)行如下:
第一次:S=0-1=-1,a=1,k=2;
第二次:S=-1+2=1,a=-1,k=3;第三次:S=1-3=-2,a=1,k=4;
第四次:S=-2+4=2,a=-1,k=5;第五次:S=2-5=-3,a=1,k=6;
第六次:S=-3+6=3,a=-1,k=7;
故選B。
總結(jié):解決這類問題時,首先,要明確算法框圖中的順序結(jié)構(gòu)、條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu);其次,要識別運(yùn)行算法框圖,理解框圖解決的問題;最后,按照框圖的要求一步一步進(jìn)行循環(huán),直到跳出循環(huán)體輸出結(jié)果,完成解答。近年框圖問題考查很活,常把框圖的考查與函數(shù)和數(shù)列等知識相結(jié)合。一定要注意計算時不能出現(xiàn)重復(fù)和遺漏,切勿對判斷框的條件理解出錯,從而錯誤判斷循環(huán)次數(shù),弄錯循環(huán)變量。
題型三:填充空白框問題
例3 圖3所示的程序框圖是為了求出滿足3n-2n>10 0 0的最小偶數(shù)n,那么在◇和?兩個空白框中,可以分別填入( )。
A.A>10 0 0和n=n+1 B.A>10 0 0和n=n+2 C.A≤10 0 0和n=n+1 D.A≤10 0 0和n=n+2
解析:由題意,因為3n-2n>10 0 0,且框圖中在“否”時輸出,所以判定框內(nèi)不能輸入A>10 0 0,故填A(yù)≤10 0 0。又要求n為偶數(shù)且初始值為0,所以矩形框內(nèi)應(yīng)填n=n+2。故選D。
圖2
總結(jié):解決此類問題的關(guān)鍵是讀懂程序框圖,明確順序結(jié)構(gòu)、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu)的真正含義。本題巧妙地設(shè)置了兩個空格需要填寫,所以需要抓住循環(huán)的重點(diǎn),偶數(shù)該如何增量,判斷框內(nèi)如何進(jìn)行判斷可以根據(jù)選項排除。識別程序框圖常出現(xiàn)的錯誤有:(1)讀不懂程序框圖的邏輯結(jié)構(gòu),混淆處理框與輸入框的區(qū)別;(2)不能準(zhǔn)確把握判斷框中的條件,對條件結(jié)構(gòu)中的流向確定不準(zhǔn)確。
圖3
例4 如果執(zhí)行圖4所示的程序框圖,輸入正整數(shù)N(N≥2)和實數(shù)a1,a2,…,aN,輸出 A,B,則( )。
A.A+B為a1,a2,…,aN的和
1a2,…,aN的算術(shù)平均數(shù)
圖4
C.A和B分別是a1,a2,…,aN中最大的數(shù)和最小的數(shù)
D.A和B分別是a1,a2,…,aN中最小的數(shù)和最大的數(shù)
解析:根據(jù)程序框圖可知,這是一個數(shù)據(jù)大小比較的程序。當(dāng)x>A時,有x=A,即A表示a1,a2,…,aN中最大的數(shù);同理,B表示a1,a2,…,aN中最小的數(shù)。故選C。
總結(jié):數(shù)的大小排序在程序框圖中要注意賦值號“=”的含義,它不是數(shù)學(xué)中的等于號,而是表示把右邊的數(shù)值給左邊的數(shù),即對數(shù)據(jù)進(jìn)行位置的變換,這是解決這類題型的關(guān)鍵所在。常出現(xiàn)的錯誤有:(1)對循環(huán)體內(nèi)賦值語句的含義弄不清楚;(2)對判斷框內(nèi)的終止條件理解出錯。
(責(zé)任編輯 王福華)