●王紅權(quán) 沈 浩 (杭州市第十四中學(xué) 浙江杭州 310006)
算法思想是現(xiàn)代人應(yīng)該具備的一種數(shù)學(xué)素養(yǎng).學(xué)習(xí)算法的關(guān)鍵是了解算法的含義、算法的思想及其構(gòu)建過程,理解程序框圖的3種基本邏輯結(jié)構(gòu):順序結(jié)構(gòu)、條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu).從考題設(shè)計方式上看:一種是給出缺損循環(huán)結(jié)構(gòu)流程圖,要求學(xué)生補充完整;另一種是讓學(xué)生讀框圖寫結(jié)果.一般都以選擇題、填空題等形式出現(xiàn).
翻閱近3年新課改省份的文、理科試卷發(fā)現(xiàn),考題題型基本相同,筆者對這3年的試卷進(jìn)行了分析,如表1.
表1 近3年算法考題統(tǒng)計
循環(huán)是計算機工作最主要的方式,其結(jié)構(gòu)與傳統(tǒng)高中數(shù)學(xué)的其他教學(xué)內(nèi)容有很大的區(qū)別,是算法所特有的內(nèi)容,因此也可以作為判斷學(xué)生對算法掌握程度的試金石.但這并不意味著另外2種結(jié)構(gòu)就不重要,3者常常同時出現(xiàn),相輔相成,這也許就是今后命題的一個方向.
比較2009年與前2年的試題可以發(fā)現(xiàn):程序框圖已從單一結(jié)構(gòu)向結(jié)構(gòu)嵌套發(fā)展;題型也從單一的選擇題向選擇題與填空題這2種題型并存發(fā)展;考查的內(nèi)容從單一的算法向通過算法考查其他知識發(fā)展,即簡單綜合化.
筆者通過研究近3年算法在以上10個省、市的命題來看,主要有2種考查形式:一種讀框圖理解算法含義寫出運算結(jié)果;另一種是讀框圖補全殘缺算法,考查的都是對框圖的理解.
算法復(fù)習(xí)的主線是算法的邏輯結(jié)構(gòu),復(fù)習(xí)的重點是框圖.特別是要注意新出現(xiàn)的綜合現(xiàn)象.下面用具體的例子說明這2種命題形式的思路和解題策略.
單一的考查條件結(jié)構(gòu)只有在2008年海南、寧夏數(shù)學(xué)高考試題和2009年上海市數(shù)學(xué)高考試題中出現(xiàn)過,條件結(jié)構(gòu)的框圖常常和分段函數(shù)結(jié)合來考查.
例1 某算法的程序框如圖1所示,則輸出量y與輸入量x 滿足的關(guān)系式是_______.
(2009年上海市數(shù)學(xué)高考試題)
點評框圖中的賦值符號“=”也可以寫成“←”或“:=”.
循環(huán)結(jié)構(gòu)是2009年數(shù)學(xué)高考考查的重點,仍將會是2010年各省、市數(shù)學(xué)高考中程序和框圖考查的重點.
圖1
例2 執(zhí)行程序框圖(如圖2),輸出的T= _______.(2009年山東省數(shù)學(xué)高考試題)
解很明顯,本題考查的是循環(huán)結(jié)構(gòu).當(dāng)T≤S時,進(jìn)行循環(huán);當(dāng)T>S時,結(jié)束循環(huán).
程序框圖依次執(zhí)行:
第1 步:S=5,n=2,T=2;
第2 步:S=10,n=4,T=2+4=6;
第3 步:S=15,n=6,T=6+6=12;
第4 步:S=20,n=8,T=12+8=20;
第5 步:S=25,n=10,T=20+10=30 >S,輸出 T=30.
點評解決循環(huán)結(jié)構(gòu)的程序框圖問題一般都可以進(jìn)行反復(fù)的運算直到滿足條件后結(jié)束.本題涉及到3個變量,注意寫出每個變量在每一步運行后的結(jié)果.
從2009年的全國各地數(shù)學(xué)高考試題看,循環(huán)結(jié)構(gòu)與條件結(jié)構(gòu)的嵌套已漸漸成為一種趨勢.這類題目給出的程序框圖比較復(fù)雜,往往內(nèi)層為判斷語句,外層為循環(huán)語句,判斷條件比較多,在解題時需要把每一步所得到的參數(shù)值按循環(huán)次序?qū)懗?,這樣就不容易出錯.
圖2
例3 如果執(zhí)行圖3中的程序框圖,輸入x=-2,h=0.5,那么輸出的各個數(shù)的和等于 ( )
A.3 B.3.5 C.4 D.4.5
(2009年海南、寧夏數(shù)學(xué)高考試題)
解第 1 步:y=0,x=-1.5;
第2 步:y=0,x=-1;
第3 步:y=0,x=-0.5;
第4 步:y=0,x=0;
第5 步:y=0,x=0.5;
第6 步:y=0.5,x=1;
第7 步:y=1,x=1.5;
第8 步:y=1,x=2;
圖3
第9步:y=1,退出循環(huán).
可得輸出各數(shù)和為:0.5+1+1+1=3.5.故選 B.
點評這類考題中的循環(huán)次數(shù)不會很多,寫出每一步得到的相應(yīng)參數(shù)的值是解題的關(guān)鍵.另外,本題要求的是“輸出的各個數(shù)的和”,而不是最終的輸出結(jié)果,千萬不要忽視這一點.
在2008年和2009年的數(shù)學(xué)高考試題中出現(xiàn)了部分補全程序框圖的試題,這類試題在用算法與程序框圖表明推理過程中隱去了框圖邏輯結(jié)構(gòu)中的某一部分(往往是判斷條件).
例4 某店一個月的收入和支出總共記錄了n個數(shù)據(jù)a1,a2,…,an,其中收入記為正數(shù),支出記為負(fù)數(shù).如果該店用下邊的程序框圖計算月總收入S和月凈盈利V,那么在圖4中空白的判斷框和處理框中,應(yīng)分別填入下列4個選項中的 ( )
(2009年遼寧省數(shù)學(xué)高考試題)
圖4
解本題考查的是條件結(jié)構(gòu),第1個判斷框判斷的是收入還是支出,第2個判斷框判斷的是這n個數(shù)據(jù)是否輸入完畢,最后輸出總收入S和月凈盈利V.ak表示收入或支出數(shù)據(jù).若ak>0,則這些正數(shù)據(jù)的和為月總收入S,故在圖中空白的判斷框填A(yù)>0,否則為月總支T,故月凈盈利V=S+T,處理框中填V=S+T.故選C.
點評本題的綜合性比較強,涉及的數(shù)據(jù)比較多,在歷年高考此類試題中是屬于比較難的,但只要弄清各個字母所代表的意義,以及他們的正負(fù),再結(jié)合4個選項便可輕松解題.
例5 如圖所示的流程圖5和流程圖6都具有計算“1+2+3+… +k”的功能,則流程圖 5中的(a)處應(yīng)填寫_______;流程圖6中的(b)處應(yīng)填寫_______.
(2008年浙江省杭州市統(tǒng)測試題)
解循環(huán)結(jié)構(gòu)中有“先判斷條件后執(zhí)行”與“先執(zhí)行后判斷條件”兩種,要注意兩者的區(qū)別.框圖5先判斷條件再執(zhí)行累加,故應(yīng)填入:i<=k(或i<k+1);框圖6是先執(zhí)行累加后再判斷條件是否成立,故應(yīng)填入:i>k(或i>=k+1).
其他知識與程序框圖結(jié)合,就是將其他數(shù)學(xué)知識算法化,這可能是計算機時代的一個思維特征.
圖5
圖6
例6 隨機抽取某產(chǎn)品n件,測得其長度分別為a1,a2,…,an,則如圖7所示的程序框圖輸出的S= ________,S 表示的樣本的數(shù)字特征是_______.
(2009年廣東省數(shù)學(xué)高考試題)
解根據(jù)題意寫出前若干次循環(huán)的S值:
圖7
點評程序框圖作為實施新課標(biāo)后高考的一種必考題目類型,在今后高考試題中將會更多地結(jié)合數(shù)列、不等式、函數(shù)等知識,命題空間會富有更多的想象.
精題集粹
1.某程序框圖如圖8所示,該程序運行后輸出的k的值是 ( )
A.4 B.5 C.6 D.7
(2009年浙江省第1次調(diào)研試題)
2.如圖9給出了一個算法流程圖,該算法流程圖的功能是 ( )
A.求3個數(shù)中最大的數(shù) B.求3個數(shù)中最小的數(shù) C.按從小到大排列 D.按從大到小排列
圖8
圖9
圖10
圖11
4.圖11是某算法的程序框圖,該算法可表示分段函數(shù),則其輸出的結(jié)果所表示的分段函數(shù)為f(x)=_______.
5.在如圖12所示的程序框圖中,輸入f0(x)=cosx,則輸出的是 .
圖12
6.按圖13所示的程序框圖運算,若輸入x=8,則輸出k = _______.
圖13
參考答案
1.D 2.B
中學(xué)教研(數(shù)學(xué))2010年4期