[问答题] 以下数列:1,1,2,3,5,8,13,21,…,的规律是从第三个数开始,每个数是它前面两个数之和。
在考生文件下有一个工程文件sjt5.vbp。窗体中已经给出了所有控件,如图4所示。请编写适当的事件过程完成以下功能:选中一个单选按钮后,单击“计算”按钮,则计算出上述数列的第n项的值,并显示在文本框中,n是选中的单选按钮后面的数值。(提示:因计算结果较大,应使用长整型变量。)
![[问答题] 以下数列:1,1,2,3,5,8,13,21,…,的规律是从第三个数开始,每个数是它前面两个数之和。 在考生文件下有一个工程文件sjt5.vbp。窗体中已经给出了所有控件,如图4所示。请 [问答题] 以下数列:1,1,2,3,5,8,13,21,…,的规律是从第三个数开始,每个数是它前面两个数之和。 在考生文件下有一个工程文件sjt5.vbp。窗体中已经给出了所有控件,如图4所示。请](/uploadfile/member/20180926/1537962784.jpg)
注意:不能修改已经给出的程序和已有的控件属性;在结束程序运行之前,必须选中一个单选按钮,并单击“计算”按钮获得一个结果;必须使用窗体右上角的关闭按钮结束程序,否则无成绩。最后把修改后的文件按原文件名存盘。
参考答案:
[操作步骤] 第1步:打开题目对应工程文件sjt5.vbp。 第2步:双击“计算”按钮进入代码编写窗口,编写代码。 参考代码如下: Private Sub Command1_Click() Dim SL() As Long Dim n As Integer ’通过被选中的单选按钮的标题属性得到需要计算的项数 If Op1(0).Value=True Then n=Val(Op1(0).Caption) Elself Op1(1).Value=True Then n=Val(Op1(1).Caption) Else n=Val(Op1(2).Caption) End If ReDim SL(1 To n) ’根据项数定义数组 SL(1)=1 SL(2)=1 For i=3 To n SL(i)=SL(i-1)+SL(i-2) ’通过下标表示各数之间的关系 Next i Text1=SL(n) End Sub 第3步:调试、运行并保存程序。问题解析:
题目中所指的数列就是著名的斐波那契数列。可以有多种方法求出斐波那契数列,其中一种方法是用数组来存储数列的各个值,因为数组的下标可以方便地表示出前后数之间的关系。 题目中要求:“单击‘计算’按钮,则计算出上述数列的第n项的值”,所以应该在“计算”按钮的单击事件过程完成数列的计算。计算时可以根据当前选中的单选按钮的标题得到应该计算的项数。

![[问答题] 以下数列:1,1,2,3,5,8,13,21,…,的规律是从第三个数开始,每个数是它前面两个数之和。 在考生文件下有一个工程文件sjt5.vbp。窗体中已经给出了所有控件,如图4所示。请 [问答题] 以下数列:1,1,2,3,5,8,13,21,…,的规律是从第三个数开始,每个数是它前面两个数之和。 在考生文件下有一个工程文件sjt5.vbp。窗体中已经给出了所有控件,如图4所示。请](http://www.mshxw.com/aiimages/31/248604.png)
