劉慧
“算法初步”是新課程標(biāo)準(zhǔn)中的新增內(nèi)容,旨在使大家體會(huì)算法的基本思想以及算法的重要性和有效性,培養(yǎng)條理思考與表達(dá)能力,提高邏輯思維能力. 這部分內(nèi)容,常與函數(shù)求值、方程求解、不等式求解、數(shù)列求和、統(tǒng)計(jì)量計(jì)算等問題結(jié)合交匯命題. 在算法初步中蘊(yùn)含了許多常見的數(shù)學(xué)思想,本文以近幾年的高考、統(tǒng)考試題為載體,進(jìn)行探究說明.
一、函數(shù)與方程的思想
例1 (1)如圖1所示的程序中,輸出的[S]的值為 .
(2)執(zhí)行圖2的程序框圖,若輸入的[ε]的值為0.25,則輸出[n]的值為 .
解析 本題重點(diǎn)考查賦值語句在框圖中的作用. 考查運(yùn)算求解能力以及分析問題、解決問題的能力.
(1)根據(jù)多次賦值的意義,有[a=5],[b=6],[c=6],[∴S=5+6+6=17.]
(2)逐次計(jì)算的結(jié)果是F1=3,F(xiàn)0=2,n=2;F1=5,F(xiàn)0=3,n=3,此時(shí)輸出,故輸出結(jié)果為3.
點(diǎn)撥 要深刻理解算法語句中的賦值語句和變量,必須運(yùn)用函數(shù)的思想去體會(huì). 輸入、輸出和賦值語句是任何一個(gè)算法中必不可少的語句. 在賦值語句中,一定要注意其格式的要求. 將賦值號(hào)右邊的表達(dá)式的值賦給賦值號(hào)左邊的變量;變量的值始終等于最近一次賦給它的值,先前的值將會(huì)被替換. 算法初步中通常會(huì)遇到賦值語句與幾個(gè)常用變量,如計(jì)數(shù)變量、累加變量和累乘變量. 而明確賦值語句的功能和變量的作用,實(shí)質(zhì)就是要運(yùn)用函數(shù)與方程的思想來理解.
二、分類討論的思想
例2 閱讀圖3所示的程序框圖,運(yùn)行相應(yīng)的程序,輸出的結(jié)果[i=] .
解析 本題考查程序框圖,意在考查同學(xué)們對(duì)程序框圖中的三種結(jié)構(gòu)的掌握情況. 重點(diǎn)考查條件結(jié)構(gòu)的辨識(shí)與運(yùn)用.
[a=10≠4]且[a]是偶數(shù),則[a=102=5],[i=2];
[a=5≠4]且[a]是奇數(shù),則[a=3×5+1=16],[i=3];
[a=16≠4]且[a]是偶數(shù),則[a=162=8],[i=4];
[a=8≠4]且[a]是偶數(shù),則[a=82=4],[i=5].
所以輸出的結(jié)果是[i=5].
點(diǎn)撥 本題主要考查條件結(jié)構(gòu),根據(jù)指定條件選擇執(zhí)行不同指令的控制結(jié)構(gòu),需要運(yùn)用分類討論的思想來解決. 算法初步中的條件結(jié)構(gòu)的應(yīng)用,是考查的熱點(diǎn),它通常與分類討論的思想緊密地聯(lián)系在一起. 利用條件結(jié)構(gòu)解決算法問題時(shí),要引入判斷框,根據(jù)題目的要求引入一個(gè)或多個(gè)判斷框,而判斷框的條件不同,對(duì)應(yīng)的下一個(gè)程序框中的內(nèi)容和操作也相應(yīng)地發(fā)生變化,故要逐個(gè)分析判斷框內(nèi)的條件,分類討論.
三、變換與轉(zhuǎn)化的思想
例3 執(zhí)行如圖4所示的程序框圖,如果輸入的[x,y∈R],那么輸出的[S]的最大值為( )
[開始] [輸出[S]] [結(jié)束] [輸入x,y] [是][否]
圖4
A. 0 B. 1 C. 2 D. 3
解析 [x≥0,y≥0,x+y≤1,]由線性規(guī)劃的圖解法知,目標(biāo)函數(shù)[S=2x+y]的最大值為2,否則,[S]的值為1. 所以輸出的[S]的最大值為2.
答案 C
點(diǎn)撥 根據(jù)算法框圖所表達(dá)的意義,將其轉(zhuǎn)化為線性規(guī)劃問題,利用數(shù)形結(jié)合的思想求解.
例4 執(zhí)行如圖5所示的程序框圖,若輸出[k]的值為6,則判斷框內(nèi)可填入的條件是( )
[開始] [輸出[k]] [結(jié)束] [是][否]
圖5
A. [S>12?] B. [S>35?]
C. [S>710?] D. [S>45?]
解析 此題重點(diǎn)考查程序框圖的補(bǔ)全. 程序框圖的執(zhí)行過程如下:[S=1],[k=9];[S=910],[k=8];[S=910×89=810],[k=7];[S=810×78=710],[k=6],循環(huán)結(jié)束. 故可填入的條件為“[S>710?]”.
答案 C
點(diǎn)撥 解答這類題目時(shí),一定要理解掌握各種框圖的作用,特別要注意問題表述與框圖表示之間的相互轉(zhuǎn)化.
例5 如圖6是一個(gè)算法流程圖,則輸出的[n]的值是 .
[開始] [否] [輸出[n]] [是] [結(jié)束]
圖6
解析 此題重點(diǎn)考查程序框圖的執(zhí)行問題. 根據(jù)框圖可知,程序框圖的功能是輸出不等式2n>20的最小整數(shù)解. 所以,由2n>20的整數(shù)解為[n≥5],故輸出[n=5].
點(diǎn)撥 讀懂程序框圖,識(shí)別處理的問題,運(yùn)用轉(zhuǎn)化的思想,將其化歸為不等式的求解問題.
例6 如果執(zhí)行如圖7所示的程序框圖,那么輸出的值為 .
[開始] [否] [輸出[S]] [是] [結(jié)束]
圖7
解析 解決一些有規(guī)律的科學(xué)計(jì)算問題,往往利用循環(huán)結(jié)構(gòu)進(jìn)行考查. 在數(shù)列[{an}]中,[an=cosnπ3],[a1=12],[a2=-12],[a3=-1],[a4=-12],[a5=12],[a6=1],該數(shù)列是以6為周期的數(shù)列,且其前6項(xiàng)和等于0. 注意到2014=6×335+4,因此其前2014項(xiàng)和等于335×0+[12]-[12]-1-[12]=[-32],結(jié)合題中的程序框圖得知,最后輸出的值等于數(shù)列[{an}]的前2014項(xiàng)和,即等于[-32].
點(diǎn)撥 讀懂算法框圖中的循環(huán)結(jié)構(gòu),將其轉(zhuǎn)化為數(shù)列求和,三角函數(shù)周期等相關(guān)的問題. 高考對(duì)算法的考查集中在程序框圖,特別是帶有循環(huán)結(jié)構(gòu)的程序框圖,主要通過數(shù)列求和、求積,統(tǒng)計(jì)中的平均數(shù)、方差的計(jì)算,函數(shù)值的計(jì)算等帶有解決算法的交匯性問題設(shè)計(jì)試題. 解決的方法是讀懂程序框圖中的計(jì)數(shù)變量和累加變量的關(guān)系,弄清循環(huán)結(jié)束的控制條件,通過逐步運(yùn)算模擬程序的計(jì)算方法,明確交匯知識(shí),運(yùn)用變換與轉(zhuǎn)化的思想找到問題的本質(zhì),將其解決.
四、建模的思想
例7 如果執(zhí)行圖8中的程序框圖,輸入正整數(shù)[N][(N≥2)]和實(shí)數(shù)[a1,a2,…,an],輸出A,B,則( )
A. A+B為[a1,a2,…,an]的和
B. 為[a1,a2,…,an]的算術(shù)平均數(shù)
C. A和B分別是[a1,a2,…,an]中最大的數(shù)和最小的數(shù)
D. A和B分別是[a1,a2,…,an]中最小的數(shù)和最大的數(shù)
[是] [結(jié)束] [否][是] [輸入[N,a1,a2,…,aN]] [x>A] [x>A] [x
圖8
解析 對(duì)較為復(fù)雜的算法框圖功能識(shí)別的考查. 結(jié)合題中程序框圖,由當(dāng)[x>A]時(shí)[A=x]可知[A]應(yīng)為[a1,a2,…,an]中最大的數(shù),由當(dāng)[x
點(diǎn)撥 此題重點(diǎn)考查算法框圖功能的識(shí)別,撥開迷霧看清本質(zhì). 算法框圖功能的識(shí)別是算法初步中考查的重點(diǎn). 為解決此類問題,先弄清變量的初始值;再按照從上到下或從左到右的順序,依次對(duì)每個(gè)語句,每個(gè)判斷框進(jìn)行讀取,在讀取判斷框時(shí),應(yīng)注意判斷后的條件分別對(duì)應(yīng)著什么樣的結(jié)果,然后按照對(duì)應(yīng)的結(jié)果繼續(xù)往下讀取算法框圖,或根據(jù)規(guī)律總結(jié)出該算法框圖的功能. 認(rèn)真分析,聯(lián)想,建立相關(guān)的數(shù)學(xué)模型. 運(yùn)用建模的思想不失為解決此類問題的一種好方法.
[練習(xí)]
1. 圖9是某地區(qū)參加2014年高考的學(xué)生身高的條形統(tǒng)計(jì)圖,從左至右的各條形圖表示的學(xué)生人數(shù)依次記為A1,A2,A3,…,A10,如A2表示身高(單位:cm)在[150,155)內(nèi)的學(xué)生人數(shù),圖10是圖9中統(tǒng)計(jì)身高在一定范圍內(nèi)學(xué)生人數(shù)的一個(gè)算法程序框圖. 現(xiàn)要統(tǒng)計(jì)身高在[160,180)內(nèi)的學(xué)生人數(shù),那么流程圖中判斷框內(nèi)整數(shù)[k]的值為 .