程序框图题型赏析
2015-03-16马玉湖
马玉湖
程序框图中的条件结构、循环结构是算法中的重点,笔者结合教学实际归类总结,发现下面四种常见题型是高考的热点.
一、求输入值
例1 给出如图所示的程序框图,若要使输入的[x]值与输出的[y]值相等,则这样的[x]值的个数是( )
A.1 B.2 C.3 D.4
[ 开始 ][输入[x]] [x≤2?] [x≤5?] [输出y][ 结束 ] [是][是][否][否]
解析 根据题意,本程序框图表示成分段函数,[y=x2,x≤2,2x-3,2
答案 C
点拨 这类题目考查识图能力,利用框图表示的信息,把问题转化为函数问题解决.从程序框图中可以看出是条件结构,根据题意可知函数是分段函数模型.条件语句是处理条件分支逻辑结构的算法语句,就是说:算法逻辑结构中的条件结构一般是由算法语言中的条件语句来实现的.如“判断一个数的正负”“比较数之间的大小”“求分段函数的值”等,解决这些问题,常用条件语句.
二、求输出结果
例2 执行如图所示的程序框图,则输出的[k]的值为( )
[ 开始 ] [S<100?] [输出k][ 结束 ][否][是]
A. 4 B. 5 C. 6 D. 7
解析 第一次运行:[S=1,k=1];第二次运行:[S=3,k=2];第三次运行:[S=11,k=3];第四次运行:[S=11+211,k=4];第五次运行:否.输出[k=4].
答案 A
点拨 该题型常与循环结构相结合,解决此类问题的关键是把握程序框图所表达的内容,本题实质上是求和问题,属于直到型循环结构,应特别注意循环终止的条件.
三、判断框图的功能
例3 下图给出了一个算法流程图,该算法流程图的功能是( )
[ 开始 ] [输入[a,b,c]][输出[a]][ 结束 ][a>b?] [a>c?] [是][否][否][是]
A. 求[a,b,c]三数中的最大数
B. 求[a,b,c]三数中的最小数
C. 将[a,b,c]按从小到大排列
D. 将[a,b,c]按从大到小排列
解析 第一次经过判断框时,首先比较两数的大小,把小数赋给[a];然后比较[a]与[c],小数再赋给[a],所以最后赋出三数中的最小数.
答案 B
点拨 这类题型要仔细阅读框图,明确框图的运算过程,可采取渐进式或者特殊式进行阅读,再演绎.
四、补充判断条件
例4 下图给出的是计算[12+14+16+…+1100]值的一个程序框图,其中判断框中应该填的条件是 .
[ 开始 ] [输出S][ 结束 ][否][是]
解析 [S=12+14+16+…+1100]共有50个数相加,第一次循环,输出[S=12],[I=2]. 第二次循环,输出[S=12+14],[I=4]. 由于需要循环50次,所以应该填写[I≤98]或[I<100]. 解答本题时防止出现[I≤49]或[I<50]的错误.
点拨 这类题目也是考查的热点,解决这类问题常常考查循环结构,看清楚是直到型循环结构还是当型循环,明确每次输出的结果,需要循环的次数,才能够准确地补充条件.