已知过程对应的代码如下: Sub Proc() f1=0:f2=1 For n=1 to 8 f=f1+f2 Debug.Printf f1=f2:f2=f Next 11 End Sub

admin2019-02-19  20

问题 已知过程对应的代码如下:
    Sub Proc()
    f1=0:f2=1
    For n=1 to 8
    f=f1+f2
    Debug.Printf
    f1=f2:f2=f
    Next 11
    End Sub
    过程Proc在立即窗口中显示的结果是

选项 A、斐波那契序列中2到9对应的序列值
B、斐波那契序列中2到8对应的序列值
C、整数1到n(n<9)对应的累加和
D、整数1到n(n<8)对应的累加和

答案A

解析 本题中程序执行过程:
    程序初始化f1=0;f2=1;
    当n=1时;For n=1 to 8;执行第一次循环,条件为true;f=f1+f2=0+1=1输出f的值为1;f1=f2=1;f2=f=2;第一次循环结束;
    当n=2时;执行第二次循环,条件为true;f=f1+f2=1+1=2,输出f的值为2;f1-f2=1;f2=f=2;
    当n=3时;执行第三次循环,条件为true:f=f1+f2=1+2=3,输出f的值为3;f1=f2=2;f2=f=3;
    当n=4时;执行第四次循环,条件为true;f=f1+f2=2+3=5,输出f的值为5;f1=f2=3:f2=f=s;
    当n=5时;执行第五次循环,条件为true;f=f1+f2=3+5=8,输出f的值为8:f1=f2=5:f2=f=8;
    当n=6时;执行第六次循环,条件为true;f=f1+f2=5+8=13,输出f的值为13;f1=f2=8;f2=f=13;
    当n=7时:执行第七次循环,条件为true;f=f1+f2=8+13=21,输出f的值为21:f1=f2=13;f2=f=21;
    当n=8时;执行第八次循环,条件为true;f=f1+f2=13+21=34,输出f的值为34;f1=f2=21:f2=f=34;
    当n=9时;执行第九次循环,条件为false;循环结束。
    综上所述,输出结果依次为1,2,3,5,8,13,21,34,该数据列是斐波那契序列中2到9对应的序列值(注:第1项为0,第2项为1),所以选项A正确。
转载请注明原文地址:https://jikaoti.com/ti/gyo0FFFM
0

最新回复(0)