1、VB机试模拟试卷 112及答案与解析 一、基本操作题( 30分) 1 在 Form1窗体上绘制一个名称为 Textl的文本框,然后建立一个主菜单,标题为“操作 ”,名称为 Op,该菜单有两个子菜单,其标题分别为 “显示 ”和 “隐藏 ”,名称分别为 Dis和 Hid,编写适当的事件过程。程序运行后,如果单击 “操作 ”菜单中的“显示 ”命令,则在文本框中显示 “计算机考试 ”;如果单击 “隐藏 ”命令,则隐藏文本框。程序的运行情况如图 471和图 472所示。注意:保存时必须存放在考生文件夹下,窗体文件名为 sjl frm,工程文件名为sjl vbp。 (2)在名为 Forml的窗体上绘制一个
2、标签,名为 Labl,标题为 “请输入一个摄氏温度 ”;绘制两个文本框,名称分别为 Textl和 Text2,内容设为空;再绘制一个名为 Cmdl的命令按钮,其标题为 “华氏温度等于 ”。编写适当的程序,使得单击 “华氏温度等于 ”按钮时,将 Textl中输人的摄氏温度 (c)转换成为华氏温度 (f),转换公式为: f=c*9 5+32,并显示在 Text2中。程序运行结果如图 473所示。注意:程序中不得使用任何变量;文件必须存放在考生文件夹中,窗体文件名为 sj2 frm,工程 文件名为 sj2 vbp。 二、简单应用题( 40分) 2 (1)在考生文件夹下有工程文件 sj3 vbp与窗体
3、文件 sj3 frm,该程序和窗体是不完整的。请在窗体上设置一个标签,名称为 Labell,标题为 “计算 1 2-1 3+1 4-1 5+1 6的值 ”;另设一个文本框与一个命令按钮。命令按钮的名称为Commandl、标题为 “计算 ”;文本框的名称为 Textl,用于显示结果,并初始化为空。然后编写相应的代码,要求运行程序时,单击 “计算 ”按钮,程序可以计算出 1 2-1 3+1 4-1 5+1 6的值,并将结果显 示在文本框中,如图 263所示。 注意:考生完成程序编写后,将工程文件与窗体文件按原文件名保存到考生文件夹下,不得更改程序的其他部分,否则可能无成绩。 (2)新建一个工程文件
4、,在名称为 Forml的窗体上建立两个名称分别为 Commandl和 Command2、标题分别为 “平均分 ”和 “清空 ”的命令按钮;一个名为 Textl的文本框。要求程序运行后,单击 “平均分 ”按钮,可通过输入对话框输入 7个整数,去掉最大的和最小的然后求平均分,将结:果在文本框中显示出来。如果单击 “清空 ”按钮,则将文本框清空。在程序中不得使用任何其 他变量。程序运行时的窗体界面如图 264所示。注意:保存时必须存放在考生文件夹下,窗体文件名为 sj4 frm,工程文件名为 sj4 vbp。 三、综合应用题( 30分) 3 在窗体上绘制两个命令按钮,名称分别为 Commandl和
5、Command2,标题分别为“输人 ”和 “调换 ”,两个标签,名称为 Labell和 Label2、 Caption属性为 “调换前: ”和 “调换后: ”,两个名称分别为 Text1和 Text2的文本框控件。请编写适当的事件过程,从键盘上输人 10个整数,并放人一个一维数组中,然后将其前 5个元素与后 5个元素对换,即第一个元素与第 10个元素互换,第 2个元素与第 9个元素互换第 5个元素与第 6个元素互换。使得在运行时单击 “调换 ”按钮,则分别在 Textl和 Text2中输出数组原来的各元素的值和对换后各元素的值,如图 235所示。注意:去掉程序中的注释符 “”,把程序中的 “?
6、”改为正确的内容,不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。 VB机试模拟试卷 112答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1)本题主要考查菜单的使用。菜单在 “菜单编辑器 ”中创建;在程序运行时控件是 否可见由该控件的 Visible属性决定,如果将该属性设置为 True时,则对象可见;如果设置为 False,则隐藏该控件。 建立界面并设置控件属性。程序中用到的控件及其属性见下表: 编写程序代码。参考代码如下: Private Sub Dis Click() Textl Text=“计算机考试“ End Sub Private Sub Hid Clic
7、k() Textl Visible=False End Sub 调试并运行程序。 按题目要求存盘。 (2) 新建一个名为 Forml的窗体。 单击工具箱 中的 Label控件图标,在窗体上拖拉出一个标签,在其属性窗口设置名称为 Labl、 Caption属性为 “请输入一个摄氏温度 ”。 单击工具箱中的 Command Button控件图标,在窗体上拖拉出一个命令按钮,在属性窗口设置该命令按钮名称为 Cmdl、 Caption为“华氏温度等于 ”。 单击工具箱中的 T“extBox控件图标,在窗体上拖拉出两个文本框,在属性窗口将文本框的名称分别设置为 Textl和 Text2、 Text属性设
8、置为空。 打开代码窗口输入如下代码: Private Sub Cmdl_Click() Dim c As Single f As Single c=Val(Textl Text) f=c*9 5+32 text2 Text=CStr(f) End Sub 按要求保存文件即完成本题。 二、简单应用题( 40分) 2 【正确答案】 (1)根据题意,将一个 Label控件,一个 Text控件和一个 Command控件添加到窗体上, Label的 Caption属性为 “计算 1 2-1 3+1 4-1 5+1 6的值 ”, Text的名称分别为 Textl, Text属性为空, Command的名称
9、为 Commandl,Caption属性为 “计算 ”。双击 Commandl命令按钮,编写如下代码: Private Sub Commandl_Click() Dim total AS Double Dim n As Integer Dim a As Integer total=0 a=-1 For i=1 To 5 a=a*(-1) total=total+a (i+1) Next i Textl Text=total Open“App Path& out3 txt“For Output As#1 Pnt#1, Textl Text Close 1 End Sub 单击 按钮运行程序,并按
10、要求保存。 (2)根据题意,新建 “标准 EXE”工程,在窗体上添加一个 Text控件和两个 Command控件, Text的名称为 Textl、 Text属性为空, Command的名称分别为 Commandl和 Command2, Caption属性分别为 “平均分 ”和 “清空 ”。双击 Commandl命令按钮,编写如下代码: Dim a(7)As Integer Private Sub Commandl Click() Dim i As Integer For i=1 To 7 a(i)=Val(InputBox(“请输入第 “+CStr(i)+“个得分 “) Next i For
11、i=1 To 7 降序排列 temp=a(i) For j=1 To i If a(j) 按钮运行程序,并按要求保存。 三、综合应用题( 30分) 3 【正确答案】 要对数据进行对调,也就是数据交换,一般要借助中间变量,如本题的 tmp。本题首先通过 InputBox函数 输入 10个数,然后通过 For循环,每次循环调换一组数。补充后的代码如下: Dim a(10)As Integer Private Sub Commandl Click() Dim i As Integer Dim str As String str=“ For i=1 To 10 a(i)=Val(InputBox(“请
12、输入数字 “) 通过对话框输入 10个数,并放人数字中 str=str+CStr(a(i)+“ 将数组放入字符串中保存 Next i Textl Text=str在 Textl中显示 结果 End Sub Private Sub Command2 Click() Dim tmp As Integer Dim i As Integer Dim str As String str=“ For 1=1 To 5 tmp=a(i) 进行对调,先将 a(i)的数据放人 tmp中 a(i)=a(10-i+1) 将 a(10-i)的数据放人 a(i)中 a(10-i+1)=tmp将 tmp的数据放人 a(10-i)中 Next i For i=1 To 10 str=str+CStr(a(i)+“ Next i Text2 Text=str将结果在 Text2中显示出来 End Sub单击按钮运行程序,并按要求保存。