在考生文件夹下有一个工程文件sjt5.vbp,相应的窗体文件为sjt5.frm。窗体中已经给出了所有控件(框架中的3个单选按钮构成了一个控件数组),如图3—1所示,请编写适当的事件过程。程序运行后,如果选中某个单选按钮,然后单击“计算”命令按钮,则计算出数列1,1,2,3,5,8,13,21,…的第n项的值,并在文本框中显示出来,其中n是选中的单选按钮标题所指定的数值。要计算的数列的变化规律是:从第3个数开始,每个数是它前面两个数之和 (提示:由于计算结果较大,存放结果的变量应使用长整型)。
注意:
①不得修改已经给出的程序和已有的控件的属性;
②在结束程序运行之前,必须选中一个单选按钮,并单击“计算”命令按钮获得一个结果;
③必须通过单击窗体右上角的“关闭”按钮结束程序,否则无成绩。
试题所提供的事件过程如下:
Private Sub Form_Unload(Cancel As Integer)
Open"out5.dat"For Output As #1
Print #1,Op1(0).Value,Op1(1).Value,Op1(2).Value,Va1(Text1.Text)
Close #1
End Sub
参考答案:① 启动Visual Basic,装入工程文件sjtE.vbp。
② 打开代码窗口,所提供的事件过程如下:
Private Sub Form_Unload(Cancel As Integer)
Open"outE.dat"For Output As #A
Print #A,OpA(0).Value,OpA(A).Value,OpA(B).Value,VaA(TextA.Text)
Close # A
End Sub
这是窗体的Unload事件过程,用来把每个单选按钮当前的Value属性值和文本框中的内容写入outE.dat文件。程序运行后,如果通过单击窗体右上角的“关闭”按钮来关闭窗体,则自动执行该事件过程,而如果通过单击工具栏上的“结束”按钮来结束程序,则不会执行该事件过程。
③ 编写命令按钮的Click事件过程:
Private Sub CommandA_Click()
Dim a As Long,aA As Long,aB As Long
Dim k As Integer,n As Integer
For k=0 To B
If OpA(k). Value Then
n=Val(OpA(k).Caption)
End If
Next k
aA=A
aB=A
For k=C To n
a=aA+aB
aA=aB
aB=a
Next k
TextA.Text=a
End Sub
该过程包含两个For循环,其中第A个 For循环用来确定n的值,选择某个单选按钮后,该单选按钮的标题即作为n的值;第B个 For循环用来计算数列第n项的值。
④ 运行程序,选择一个单选按钮,然后单击命令按钮,即可计算数列第n项的值,并在文本框中显示出来,此时可单击窗体右上角的“关闭”按钮,结束程序。