省二级考试VB试题汇总
过程可以把结果存入指定的文件,要求把该模块文件添加到当前工程中,直接调用该过程。 (5)请先将工程、窗体与模块保存,然后调试、运行并生成可执行文件:Prog1.exe。
第(4)步添加的prog1.bas文件中的代码如下: Option Explicit Sub putdata(t_FileName As String, t_Str As Variant) Dim sFile As String sFile = \ Open App.Path & sFile For Output As #1 Print #1, t_Str Close #1 End Sub
参考程序如下: Private Sub Command1_Click() Dim s As Integer Dim Sum As Integer Dim Ave As Single Dim A(50) As Integer Dim strName As String Sum = 0 Ave = 0 Text1 = \ sFile = \ Open App.Path & \ '读数到数组中 Do While Not EOF(1) Line Input #1, strName i = i + 1 A(i) = Val(strName) Sum = Sum + A(i) Text1.Text = Text1 & A(i) & Chr(13) & Chr(10) Loop Close #1 Ave = Sum / 50 '计算大于平均数的个数 For i = 1 To 50 If A(i) > Ave Then s = s + 1 End If Next i Text2.Text = Ave Text3.Text = s End Sub Private Sub Command2_Click() Print s 第 36 页 共 74 页 省二级考试VB试题汇总
putdata \End Sub
4.在考生文件夹中,完成以下要求:
(1)启动工程文件Prog1.Vbp,将该工程文件的工程名称改为“Spks”,并将该工程中的窗体文件Prog1.frm
的窗体名称改为“Prog1”,窗体的标题为“排序”。 (2)请在窗体适当位置增加以下控件:两个标签Label1和Label2(标题分别为“排序之前”和“排序之后”);
两个列表框List1和 List2;三个命令按钮(均为默认名称,标题分别为“读取数据”、“排序”和“写入文件”),如图所示。
(3) 要求:程序运行后
(1) 单击“读取数据”按钮,读入“ini.txt”文件中的50个数据,同时在列表框List1中显示出来 (2) 单击“排序”按钮,在List2中显示出从大到小的排列顺序
(3) 单击“写入文件”按钮,把List2中内容存入考生文件夹中的文件“kssj.dat”中。
(4)考生文件夹下有标准模块Prog1.Bas,其中getdata过程可以读出文件“ini.txt”中的数据,putdata过
程可以把结果存入指定的文件,要求把这个模块文件添加到当前的工程中,直接调用过程。 (5)将工程、窗体与模块保存,然后调试、运行并生成可执行文件Prog1.exe。
第(4)步添加的prog1.bas文件中的代码如下: Option Explicit public A(500) as integer public N as integer Sub putdata(t_FileName As String, t_Str As Variant) Dim sFile As String sFile = \ Open App.Path & sFile For APPEND As #1 Print #1, t_Str Close #1 End Sub sub getdata() '读文件函数 dim i as integer open app.path & \ i=1 do while not eof(1) input #1,A(i) i=i+1 loop N=i-1 close #1 end sub 第 37 页 共 74 页 省二级考试VB试题汇总
编程题评卷结果如下: 所建工程得分:0分 所建的窗体得分:0分 尚未生成.exe文件! 尚未生成答案文件! 编程题最后得分:0分
排序的方法有多种,下面给出冒泡排序的算法,其它排序算法请参考有关书籍。 参考程序如下: Private Sub Command1_Click() getdata For i = 1 To 50 List1.AddItem A(i) Next i End Sub Private Sub Command2_Click() For i = 1 To 50 For j = 1 To 50 - i If A(j) < A(j + 1) Then t = A(j): A(j) = A(j + 1): A(j + 1) = t End If Next j Next i For i = 1 To 50 List2.AddItem A(i) Next i End Sub Private Sub Command3_Click() For i = 0 To 49 putdata \ Next End Sub
5.在考生文件夹中,完成以下要求:
(1)启动工程文件Prog1.Vbp,将该工程文件的工程名称改为“Spks”,并将该工程中的窗体文件Prog1.frm
的窗体名称改为“Prog1”。
(2)请在窗体适当位置增加以下控件:一个标签(名称为label1,标题为“100~200之间的素数和为”),一
个文本框(名称为Text1,文本内容为空)和两个命令按钮(名称分别为:Command1,Command2,标题分别为:“计算”,“保存”),将窗体标题改为“求素数和”(如图所示)。
第 38 页 共 74 页
省二级考试VB试题汇总
(3)要求程序运行后,单击“计算”按钮,在Text1中显示出100~200之间的素数和;单击“保存”按钮,
将计算结果存入考生文件夹中的文件“kssj.dat”中。
(4)在考生文件夹下有标准模块Prog1.bas,其中的Putdata过程可以把结果存入指定的文件,要求把该模块
文件添加到当前工程中,直接调用该过程。
(5)请先将工程、窗体与模块保存,然后调试、运行并生成可执行文件:Prog1.exe。
第(4)步添加的prog1.bas文件中的代码如下: Option Explicit Sub putdata(t_FileName As String, t_Str As Variant) Dim sFile As String sFile = \ Open App.Path & sFile For Output As #1 Print #1, t_Str Close #1 End Sub
参考程序如下: Private Sub Command1_Click() For n = 101 To 200 Step 2 f = 1 For i = 2 To n - 1 If n Mod i = 0 Then f = 0: Exit For Next i If f = 1 Then s = s + n Next n Text1.Text = s End Sub Private Sub Command2_Click() Call putdata(\End Sub
6.在考生文件夹中,完成以下要求:
(1)启动工程文件Prog1.Vbp,将该工程文件的工程名称改为“Spks”,并将该工程中的窗体文件Prog1.frm
的窗体名称改为“Prog1”,窗体标题为“求数列的前20项和”。
(2)请在窗体适当位置增加以下控件:标签label1,标题为“数列前20项之和”;文本框Text1;两个命令
按钮Command1、Command2,标题分别为“计算”和“保存”。如图所示。
第 39 页 共 74 页
省二级考试VB试题汇总
(3)已知FIBONACCI数列的第1和第2项的值均为1,从第3项开始每项都是前2项之和。数列中的值为:1,
1,2,3,5,8,13,?? 要求程序运行后:
①单击“计算”按钮,在窗体上显示FIBONACCI数列的前20项,每行显示5个数据;在Text1中显示数列前20项的和;
② 单击“保存”按钮,将前20项的和存入考生文件夹中的文件“kssj.dat”中。
(4)在考生文件夹下有标准模块Prog1.bas,其中的Putdata过程可以把结果存入指定的文件,要求考生把该
模块文件添加到当前工程中,直接调用过程。
(5)请先将工程、窗体与模块保存,然后调试、运行并生成可执行程序:Prog1.exe。
参考程序如下: Private Sub Command1_Click() Dim s As Integer Dim F(30) As Integer Dim i As Integer Cls F(1) = 0: F(2) = 1 For i = 3 To 20 F(i) = F(i - 2) + F(i - 1) Next i For i = 1 To 20 s = s + F(i) Print F(i); If i Mod 5 = 0 Then Print End If Next i Text1.Text = Str(s) End Sub Private Sub Command2_Click() putdata \End Sub
六、综合应用
第 40 页 共 74 页