■趙慶偉
算法通常是指可以利用計算機來解決的某一類問題的程序或步驟,這些程序或步驟必須是明確和有效的,而且能夠在有限步之內(nèi)完成。廣義的算法是指做某一件事的步驟或程序。算法是近幾年新課標高考中的一個考點,主要考查程序框圖的三種基本邏輯結(jié)構、基本算法語句以及簡單的算法案例。下面舉例分析。
例1閱讀如圖1所示的程序框圖,若輸入的k=10,則該算法的功能是( )。
圖1
A.計算數(shù)列{2n-1}的前10項和
B.計算數(shù)列{2n-1}的前9項和
C.計算數(shù)列{2n-1}的前10項和
D.計算數(shù)列{2n-1}的前9項和
第1次循環(huán),S=1,i=2,i<10;第2次循環(huán),S=1+2,i=3,i<10;第3次循環(huán),S=1+2+22,i=4,i<10;…;第9次循環(huán),S=1+2+22+…+28,i=10,i<10;第10次循環(huán),S=1+2+22+…+29,i=11,i>10,這時輸出S=1+2+22+…+29=210-1。故該算法功能是計算數(shù)列{2n-1}的前10項和,應選A。
感悟:本題的程序框圖是求輸出結(jié)果的表達式。運行該程序框圖,可知其功能是數(shù)列的求和,確定最后一次循環(huán)時的n值是解題的關鍵。
例2某程序框圖如圖2所示,若該程序運行后輸出的值是則( )。
圖2
A.a=4 B.a=5
C.a=6 D.a=7
感悟:本題是利用程序框圖的運算結(jié)果,來探究判斷的前提條件。解題時,同一次循環(huán)體運行中,先運行運算指令,再進行計數(shù)運算,但順序不能顛倒。
例3執(zhí)行圖3所示的程序框圖,如果輸入a=-1,則輸出的S=( )。
圖3
A.2 B.3
C.4 D.5
初始時,S=0,a=-1,K=1。
第1次循環(huán),S=0+(-1)=-1,a=1,K=2;第2次循環(huán),S=(-1)+2=1,a=-1,K=3;第3次循環(huán),S=1+(-3)=-2,a=1,K=4;第4次循環(huán),S=(-2)+4=2,a=-1,K=5;第5次循環(huán),S=2+(-5)=-3,a=1,K=6;第6次循環(huán),S=(-3)+6=3,a=-1,K=7,此時K>6,輸出S=3。
感悟:解題時,每次循環(huán)體的運行過程中,變量S,a,K變化的先后順序不能顛倒,不能違背算法中順序結(jié)構的思想。