问答题 试题一(共15分) 阅读以下说明和流程图,填补流程图中的空缺(1)~(5),将解答填入答题纸的对应栏内。 [说明] 本流程图用于计算菲波那契数列{a1=1,a2=l,…,an=an-1+an-2|n=3,4,…)的前n项(n≥2)之和S。例如,菲波那契数列前6项之和为20。计算过程中,当前项之前的两项分别动态地保存在变量A和B中。 [流程图]
【正确答案】 (1)2 或A+B (2)n (3)A+B (4)B-A (5)S+B
【答案解析】 菲波那契数列的特点是首2项都是1,从第3项开始,每一项都是前两项之和。该数列的前几项为1,1,2,3,5,8,…。 在流程图中,送初始值1→A,2→B后,显然前2项的和S应等于2,所以(1)处应填2(或A+B)。此时2→i(i表示动态的项编号),说明已经计算出前2项之和。接着判断循环的结束条件。显然当i=n时表示已经计算出前n项之和,循环可以结束了。因此(2)处填n。判断框中用“>”或“≥”的效果是一样的,因为随着i的逐步增1,只要有i=n结束条件,就不会遇到i>n的情况。不过编程的习惯使循环结束条件扩大些,以防止逻辑出错时继续循环。 接下来i+1→i表示数列当前项的编号增1,继续往下计算。原来的前两项值(分别在变量A和B中)将变更成新的前两项再放到变量A和B中。