宋志明 胡松林
考查算法的基本結構
此類題主要考查同學們對三種基本算法結構的理解程度,能正確讀懂框圖、輸出結果或補充框圖缺失的語句等.
例1 如圖所示程序框圖,如果輸入三個數[a,b,c,]要求輸出這三個數中最大的數,那么在空白的判斷框中,應該填入下面四個選項中的( )
[開始] [輸入[a,b,c]] [是][否] [否][是][結束][輸出[x]]
A. [c>x]? B. [x>c]?
C. [c>b]? D. [b>c]?
解析 根據題意知變量[x]表示三個數中的最大值第一個判斷框將[a]與[b]中的較大值賦值給[x],則第二個判斷框應判[x]與[c]的大小,并將較大者賦值給[x].
答案 A
點撥 本題考查條件結構,解題時要準確把握變量的含義,明確條件結構流向的判定條件,作出正確選擇;同時要求理解賦值語句的新值置換前值的特點.
例2 執行如圖所示的程序框圖,若輸入[t=0.01,]則輸出[n=]( )
[開始] [輸入[t]] [輸出[n]] [結束] [是][否]
A. 5
答案 C
點撥 本題主要考查循環結構,解題時可以根據框圖的順序將各個變量依次列出(變量變化的順序十分關鍵,不能顛倒),利用表格形式追蹤每一次循環,并準確判定循環退出的條件.
考查算法的基本功能
此類試題考查同學們應用算法以及算法思想分析問題、解決問題的能力,既有實用價值,又突出算法的篩選、迭代、求和、排序等功能的工具性與有效性.
例3 如果執行如圖所示程序框圖,輸入正整數[N(N≥2)]和實數,[a1,a2,…,aN]輸出[A,B,]則( )
[開始] [輸入[N,a1,a2,…,an]] [是][是][否][否][否] [結束][輸出[A,B]]
A. [A+B]為[a1,a2,…,aN]的和
B. [A+B2]為[a1,a2,…,aN]的算術平均數
C. [A]和[B]分別是[a1,a2,…,aN]中的最大的數和最小的數
D. [A]和[B]分別是[a1,a2,…,aN]中的最小的數和最大的數
解析 由當[x>A]時,[A=x]知,[A]應為較大值;由[x答案 C
點撥 本題是實現篩選功能的程序框圖,這種算法具有一定的代表性和普遍適用性,突出條件結構的選擇功能和循環結構的重復處理功能.
例4 執行如圖所示程序框圖,如果輸入的[N=10,]那么輸出的[S=]( )
[開始] [輸入[N]] [結束][輸出[S]] [否]
A. [1+12+13+…+110]
B. [1+12!+13!+…+110!]
C. [1+12+13+…+111]
D. [1+12!+13!+…+111!]
解析 依次列舉如下:
[T1=1,S1=1,k1=2;]
[T2=11×2,S2=1+12!,k2=3;]
[T3=11×2×3,S3=1+12!+13!,k3=4;]
[…]
[T9=19!,][S9=1+12!+…+19!,k9=10;]
[T10=110!,S10=1+12!+…+110!,k10=11>10.]
結束循環.
答案 B
點撥 本題實現的算法功能是迭代求和,解題時要求在讀懂邏輯結構的基礎上通過逐步迭代歸納出一般規律,嚴格把控循環迭代的次數是關鍵.
考查算法與其他知識的交匯
此類試題“借算法之形”對其他數學知識點進行考查,通常與函數、數列的知識結合,考查同學們綜合應用數學知識的能力.
例5 執行如圖所示程序框圖,如果輸入的[t∈[-1,3],]則輸出的[S]屬于( )
[開始] [輸入[t]] [結束][輸出[S]][是][否]
A. [-3,4] B. [-5,2]
C. [-4,3] D. [-2,5]
解析 由框圖得分段函數,[3t, t<1,4t-t2, t≥1,]
當[-1≤t<1]時,[S=3t∈[-3,3]].
當[1≤t≤3]時,[S=-(t-2)2+4∈[3,4],]
因此值域為[[-3,4].]
答案 A
點撥 本題是程序框圖與函數結合的考題,解題要求準確轉化框圖為分段函數值域問題.
例6 如果執行如圖所示框圖,輸入[N=5,]則輸出的數等于( )
[結束] [輸出[S]] [否] [開始] [輸入[N]] [是]
A. [54] B. [45] C. [65] D. [56]
解析 記第[i]次循環的[S]值為[Si,]依次列舉[S1=][0+12,S2=11×2+12×3,S3=11×2+12×3+13×4+14×5,…]
[S5=11×2+12×3+13×4+14×5+15×6=1-12+12-13+…][+15-16=56.]
答案 D
點撥 本題是程序框圖與數列結合的考題,要求讀懂框圖并且掌握裂項相消求和的方法. 如果把“[N=5]”改為“[N=2015]”結果又如何呢?
考查經典算法案例
例7 如下程序框圖的算法思路源于我國古代數學名著《九章算術》中的“更相減損術”. 執行該程序框圖,若輸入的[a,b]分別為14,18,則輸出的[a]為( )
[是][開始] [輸入[a,b]] [輸出[a]] [結束] [是][否][否]
A. 0 B. 2 C. 4 D. 14
解析 將變量[a,b]在各次循環中的值列表知,當[a=b]時終止循環.
答案 B
點撥 本題考查更相減損術,解題的關鍵是要理解條件選擇結構的流出方向及循環終止的條件. 教材涉及的其他典型算法案例也值得關注.