1、VB机试模拟试卷 118及答案与解析 一、基本操作题( 30分) 1 请根据以下各小题的要求设计 Visual Basic应用程序 (包括界面和代码 )。 (1)在名称为 Forml的窗体上画 3个标签,名称分别为 Labell、 Label2和 Label3,标题分别为 “人数 ”、 “年龄 ”和 “收入 ”, 3个文本框,名称分别为 Textl、 Text2和 Text 3, Text属性均为空,一个命令按钮,名称为 Commandl,标题为 “输人 ”。然后编写命令按钮的 Click事件过程。要求程序运行后,如果单击命令按钮,则先后显示 3个输入对 话框,在 3个输入对话框中分别输入人数
2、、年龄和收入,并分别在 3个文本框中显示出来。程序运行界面如图 161所示。要求程序中不得使用任何变量。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjl vbp,窗体文件名为 sjl frm。 (2)在名称为 Forml的窗体上画一个图片框,名称为 Picl,一个水平滚动条,名称为 HScrolll,通过 “属性 ”窗口在图片框中装入一个图形 (文件名为 picl jpg,位于考生文件夹下 ),图片框的高度与图形的高度相同,图片框的宽度任意,运行时的窗体界面如图 162所示。编写适 当的事件过程,要求程序运行后,图片的宽度随滚动条变化。即设置水平滚动条的如下属性: Min为 200,
3、Max为 2000, LargeChange为 200,然后就可以通过移动滚动条上的滚动块来放大或缩小图片框的宽度。拖动滚动条后的窗体如图 163所示。要求程序中不得使用任何变量。注意:存盘时必须存放在考生文件夹下,工程文件名为 sj2 vbp,窗体文件名为sj2 frm。 二、简单应用题( 40分) 2 (1)在窗体上建立一个名称为 Textl的文本框,然后建立两个主菜单,标题分别为“体育活动 ”和 “帮助 ”,名称分 别为 vbMenu和 vbHelp,其中 “体育活动 ”菜单包括标题为 “足球 ”、 “篮球 ”和 “排球 ”三个子菜单,名称分别为 vbMenul、 vbMenu2和vlo
4、Menu3。要求程序运行后,如果在 “体育活动 ”的下拉菜单中选择 “足球 ”,则在文本框内显示 “足球 ”;如果选择 “篮球 ”,则在文本框内显示 “篮球 ”;如果选择 “排球 ”,则在文本框内显示 “排球 ”。程序中不能使用任何变量,直接显示字符串。程序运行后,选择 “排球 ”的界面如图 543所示。 注意:保存时必须存放在考生文件夹下,窗体文件名为 sj3 frm,工程文件名为 sj3 Vbp。 (2)在考生文件夹中有文件 sj4 vbp及其窗体文件 sj4 frm,该程序是不完整的。窗体上有一个名称为Textl的文本框;两个复选框,名称分别为 Checkl和 Check2,标题分别为
5、“英语 ”和“德语 ”。要求程序运行后,如果 Checkl和 Check2都不选,单击 “显示 ”命令按钮,则在文本框中什么都不显示;如果只选中 Checkl,单击 “显示 ”命令按钮,则在文本框中显示 “我精通英语 ”;如果只选中 Check2,单击 “显示 ”命令按钮,则在文本框中显示 “我精通德语 ”;如果同时选中 Checkl和 Check2,单 击 “显示 ”命令按钮,则在文本框中显示 “我精通英语和德语 ”。程序运行后,若选择 Checkl,则显示界面如图 544所示。注意:请在有 “?”的地方填入正确内容,然后删除 “?”及所有注释符 (即 “”号 ),但不能修改其他部分。存盘时
6、不得改变文件夹和文件名。 三、综合应用题( 30分) 3 在名称为 Form1的窗体上画两个单选按钮,名称分别为 Optl和 Opt2,标题分别为 “100 200之间素数 ”和 “200 400之间素数 ”;一个文本框,名称为 Textl;两个命令按钮,其名称分别为 Cmdl和 Cmd2,标题分别为 “计算 ”和 “存盘 ”,如图 22-5所示。程序运行后,如果选中一个单选按钮并单击 “计算 ”按钮,则计算出该单选按钮标题所指明的所有素数之和,并在文本框中显示出来。如果单击 “存盘 ”按钮,则把计算结果存入 out txt文件中,该文件必须放在考生文件夹中 (在考生文件夹中有标准模块 nro
7、de has,其中的 putdata过程可以把结果存人指定的文件,而 isprime函数可以判断整数 X是否为素数,如果是素数,则函数返回 True,否则返回 False,考生可以将该模块文件添加到自己的工程中 )。注意:必须把素数之和存入考生 文件夹下的 out txt文件中,否则没有成绩。保存程序时必须存放在考生文件夹下,窗体文件名为 sj5 frm,工程文件名为 sj5 vbp。 VB机试模拟试卷 118答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1)本题主要考查利用 InputBox函数的用法。根据题意,新建 “标准EXE”工程,在名称为 Forml的窗体上画 3个标签
8、,名称分别为 Labell、 Label2和Label3,标题分别为 “人数 ”、 “年龄 ”和 “收入 ”, 3个文本框,名称分别为 Textl、Text2和 Text3, Text属性均为空 白,一个命令按钮,名称为 Commandl,标题为“输入 ”。双击 Commandl进入代码编写窗口,代码如下: Private Sub Commandl_Click() Textl Text=Val(InputBox(“请输入人数 “) Text2 Text=Val(InputBox(“请输入年龄 “) Text3 Text=Val(InputBox(“请输入收入“) End Sub 单击 按钮运行
9、程序,并按要求保存。 (2)根据题意,新建 “标准 EXE”工程,在名称为 Forml的窗体上画一个图片控件,名称为 Picl,再画一个水平滚动条控件,名称为 HScrolll, Min属性为 200, Max属性为 2000, LargeChange为200。图片的宽度与 HScrolll有关,具体代码如下: Private Sub Form_Load() 初始化 Picl Width=HScrolll Value End Sub Private Sub HScrolll_Change() 当拖动水平滚动条时的处理 函数 Picl Width=HScrolll Value End Sub 单
10、击 按钮运行程序,并按要求保存。 二、简单应用题( 40分) 2 【正确答案】 (1)在窗体上建立好控件后,先设置控件属性,再编写事件过程。 在 Visual Basic中,菜单也被看做控件,具有属性和事件。菜单的建立在菜单编辑器中完成,菜单的级数通过内缩符号来表示,第一级菜单没有内缩符号,第二级菜单的内缩符号为 1;文本框内容用 Text属性来设置。 根据题意,按 “Ctrl+E”组合键打开菜单编辑器,在其中添加如下菜单项: 单击 “确 定 ”按钮,完成菜单编辑。再将一个文本框控件添加到窗体中,将其名称设为 Text1,在代码窗口中编写如下代码: Private Sub vbMenul_Cl
11、ick(Index As Integer) 足球选项 Textl Text=“足球 “ End Sub Private Sub vbMenu2_Click(Index As Integer) 篮球选项 Textl Text=“篮球 “ End Sub Private Sub vbMenu3_Click(Index As Integer) 排球选项 Textl Text=“排球 “ End Sub 单击 按钮运行程序,并按要求保存。 (2)复选框用来表示状态,在程序运行期间可以改变其状态。复选框标题由 Caption属性来设置,复选框的 Value属性用来表示复选框的状态,其取值有: 0表示复选
12、框未被选中; 1表示复选框被选中; 2表示复选框被禁止使用 (灰色 )。 根据题意,将一个文本框、一个命令按钮和两个复选框控件添加到窗体中,文本框控件的名称设为 Textl,命令按钮的名称:勾 Commandl、标题为 “显示 ”,复选框的名称分别设为 Checkl和 Check2, Caption属性分别设为 “英语 ”和 “德语 ”。双击复选框进入代码窗口,补充后的代码如下: Option Explicit Private Sub Commandl_Click() Textl Text=“ If Checkl Value And Not Check2 Value Then Textl Te
13、xt=“我精通英语 “If Checkl Value=0 And Check2 Value Then Textl Text=“我精通德语 “ If Checkl Value And Check2 Value Then Textl Text=“我精通英语和德语 “ End Sub 单击 按钮运行程序,并按要求保存。 三、综合应用题( 30分) 3 【正确答案】 本题主要考查的知识点有文本框及选项按钮的使用,在程序代码设计中用到了循环结构设计的思想。素数的判断准则为看该数除了 1和其本身之外,还有无其他约数,若有,表示该数不是素数,否则该数为素数。文本框用 Text属性来显示计算结果;命令按钮的标
14、题通过 Caption属性来设置,单击命令按钮触发Click事件;为了检测单选按钮是否被选中,可以通过检测 Value属性来实现,当Value的属性为 True时,表示单选按钮被选中,否则未被选中。 建立界面并设置控件属性。题目提供了程序用到的控件及其属性,见下表。 打开工程资源管理器,在其空白处右键添加模块 mode bas(此文件已在考生文件夹里 ),模块代码如下: Option ExplicitSub putdata(t_FileName As String, T_Str As Variant)Dim sFile As StringsFile=“ “&t_FileNameOpen App
15、 Path sFile For Output As#1Print#1, T StrClose#1End SubFunction isprime(t_I As Integer)As BooleanDim J As Integerisprime=FalseFor J=2 To t_I 2Ift_I Mod J=0 Then Exit ForNext JIfJt_I 2 Then isprime=TrueEnd Function 打开工程资源管理器,右击窗体,选择查看代码项,在弹出的代码窗口输入代码如下: Private Sub Cmdl Click()Dim i As IntegerDim temp As Longtemp=0If Opt2 Value ThenFor i=200 To 400If isprime(i)Thentemp=temp+iEnd IfNext iElse For i=100 To 200If isprime(i)Thentemp=temp+1End IfNext iEnd IfTextl Text=tempEnd SubPrivate Sub Crod2 Click()putdata“ out txt“, Textl TextEnd Sub 调试并运 行程序。 按题目要求存盘。