题目
[2014,安徽文4]如图所示,程序框图(算法流程图)的输出结果是 ( )A.34 B.55 C.78 D.89开始-|||-=1, y=1-|||-z=x+y-|||-leqslant 50?-|||-否-|||-是-|||-x=y 输出z-|||-y=z 结束
[2014,安徽文4]如图所示,程序框图(算法流程图)的输出结果是 ( )
A.34 B.55 C.78 D.89
题目解答
答案
最佳答案
[答案]B.
考点:1.程序框图的应用.
[名师点睛]解决算法问题的关键是读懂程序框图,明晰顺序结构、条件结构、循环结构的真正含义,本
题巧妙而自然地将算法、不等式、函数赋值交汇在一起,用循环结构来进行考查.这类问题可能出现的错误:
①读不懂程序框图;②循环出错;③计算出错.
解析
考查要点:本题主要考查对程序框图(算法流程图)的理解,特别是循环结构的应用,以及斐波那契数列的生成逻辑。
解题核心思路:
- 初始化变量:x=1,y=1,z=x+y=2。
- 循环条件:当z≤50时,更新x和y的值(x=y,y=z),重新计算z=x+y,直到z>50时输出z。
- 关键点:每次循环中,x和y的赋值顺序必须正确,且z的值会形成斐波那契数列。
破题关键:
- 明确循环体内变量的更新逻辑:先赋值x和y,再计算新z。
- 通过逐步模拟循环过程,找到首次使z>50的值。
程序执行过程:
- 初始状态:x=1,y=1,z=1+1=2。
- 判断z=2≤50,进入循环。
- 第一次循环:
- x = y = 1
- y = z = 2
- z = x + y = 1 + 2 = 3
- 判断z=3≤50,继续循环。
- 第二次循环:
- x = y = 2
- y = z = 3
- z = x + y = 2 + 3 = 5
- 判断z=5≤50,继续循环。
- 第三次循环:
- x = y = 3
- y = z = 5
- z = x + y = 3 + 5 = 8
- 判断z=8≤50,继续循环。
- 第四次循环:
- x = y = 5
- y = z = 8
- z = x + y = 5 + 8 = 13
- 判断z=13≤50,继续循环。
- 第五次循环:
- x = y = 8
- y = z = 13
- z = x + y = 8 + 13 = 21
- 判断z=21≤50,继续循环。
- 第六次循环:
- x = y = 13
- y = z = 21
- z = x + y = 13 + 21 = 34
- 判断z=34≤50,继续循环。
- 第七次循环:
- x = y = 21
- y = z = 34
- z = x + y = 21 + 34 = 55
- 判断z=55>50,退出循环,输出z=55。
结论:最终输出的z值为55,对应选项B。