已知过程对应的代码如下: SubProc() n=1 f1=0 f2=1 Do While n

admin2018-10-18  35

问题 已知过程对应的代码如下:
    SubProc()
    n=1
    f1=0
    f2=1
    Do While n<=8
    f=f1+f2
    Debug.Print f
    f1=f2
    f2=f
    n=n+1
    Loop
    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 81,执行第一次循环,条件为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=5:
  当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://kaotiyun.com/show/GfMp777K
0

最新回复(0)