算法常见考题归类解析
2019-12-31赵庆伟
■赵庆伟
算法通常是指可以利用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成。广义的算法是指做某一件事的步骤或程序。算法是近几年新课标高考中的一个考点,主要考查程序框图的三种基本逻辑结构、基本算法语句以及简单的算法案例。下面举例分析。
一、考查程序框图的功能
例1阅读如图1所示的程序框图,若输入的k=10,则该算法的功能是( )。
图1
A.计算数列{2n-1}的前10项和
B.计算数列{2n-1}的前9项和
C.计算数列{2n-1}的前10项和
D.计算数列{2n-1}的前9项和
第1次循环,S=1,i=2,i<10;第2次循环,S=1+2,i=3,i<10;第3次循环,S=1+2+22,i=4,i<10;…;第9次循环,S=1+2+22+…+28,i=10,i<10;第10次循环,S=1+2+22+…+29,i=11,i>10,这时输出S=1+2+22+…+29=210-1。故该算法功能是计算数列{2n-1}的前10项和,应选A。
感悟:本题的程序框图是求输出结果的表达式。运行该程序框图,可知其功能是数列的求和,确定最后一次循环时的n值是解题的关键。
二、借助算法的有限性,利用程序框图求参数的值
例2某程序框图如图2所示,若该程序运行后输出的值是则( )。
图2
A.a=4 B.a=5
C.a=6 D.a=7
感悟:本题是利用程序框图的运算结果,来探究判断的前提条件。解题时,同一次循环体运行中,先运行运算指令,再进行计数运算,但顺序不能颠倒。
三、考查算法的思想
例3执行图3所示的程序框图,如果输入a=-1,则输出的S=( )。
图3
A.2 B.3
C.4 D.5
初始时,S=0,a=-1,K=1。
第1次循环,S=0+(-1)=-1,a=1,K=2;第2次循环,S=(-1)+2=1,a=-1,K=3;第3次循环,S=1+(-3)=-2,a=1,K=4;第4次循环,S=(-2)+4=2,a=-1,K=5;第5次循环,S=2+(-5)=-3,a=1,K=6;第6次循环,S=(-3)+6=3,a=-1,K=7,此时K>6,输出S=3。
感悟:解题时,每次循环体的运行过程中,变量S,a,K变化的先后顺序不能颠倒,不能违背算法中顺序结构的思想。