1、VB机试模拟试卷 110及答案与解析 一、基本操作题( 30分) 1 (1)在名为 Forml的窗体上绘制一个名为 chkl的复选框数组,含 3个复选框,它们的标题依次为 First、 Second和 Third,其下标分别为 0、 1、 2。初始状态下,Second和 Third为选中状态。运行后的窗体如图 301所示。 注意:文件必须存放在考生文件夹中,工程文件名为 sjl vbp,窗体文件名为 sjl fml。 (2)请在名为Forml的窗体上建立一个二级下拉菜单,第一级共有两个菜单项,标题分别为 “文件 ”和 “编辑 ”,名称分别 为 vbFile和 vbEdit;在 “编辑 ”菜单下
2、有第二级菜单,含有 3个菜单项,标题分别为 “剪切 ”、 “复制 ”和 “粘贴 ”,名称分别为 vbCut、 vbCopy和vbPaste。其中 “剪切 ”菜单项设置为无效 (如图 302所示 )。注意:文件必须存放在考生文件夹中,工程文件名为 sj2 vbp,窗体文件名为 sj2 frm。 二、简单应用题( 40分) 2 请根据以下各小题的要求设计 Visual Basic应用程序 (包括界面和代码 )。 (1)在考生文件夹下有工程文件 sj3 vbp及窗体文件 sj3 frm,该程序是不完整 的。在窗体中有 3个滚动条,名称分别为 VScrolll、 VScroll2和 VScroll3,
3、 4个标签,名称分别为 Labell、 Label2、 Label3和 Label4, Labell Label3的标题分别为 “红 ”、 “绿 ”和“蓝 ”, Label4用来显示颜色变化,还有一个命令按钮,名称为 Commandl、标题为“全部置零 ”。要求程序运行后,标签 Label4的颜色随着 3种颜色滚动条的变化而变化,如图 204所示。 注意:请在有 “?”的地方填入正确内容,然后删除 “?”及代码前的所有注释符 (即 “”号 ),但不能修改其 他部分。存盘时不得改变文件名和文件夹。 (2)在考生文件夹下有一个工程文件 sj4 vbp。在其窗体中 “待选城市 ”下的 Listl列表
4、框中有若干个城市名称。程序运行时,选中 Listl中若干个列表项 (如图 205所示 ),单击 “选中 ”按钮则把选中的项目移到 List2中,单击 “显示 ”,则在 Textl文本框中显示这些选中的城市 (如图 206所示 )。已经给出了所有控件和程序,但程序不完整。注意:请去掉程序中的注释符 (即 “”),把程序中的 “?”改为正确的内容,使其能正确运行,但不能修改程序中的其他部分和控件属性。最后 用原来的文件名保存工程文件和窗体文件。 三、综合应用题( 30分) 3 在名称为 Forml的窗体上绘制一个文本框,名称为 Textl, MultiLine属性为True, ScrollBars
5、属性为 2;两个命令按钮名称分别为 Cmdl和 Cmd2,标题分别为“读人数据 ”和 “计算保存 ”,如图 476所示。要求程序运行后,如果单击 “读人数据 ”按钮,则读人 in txt文件中的 100个整数,放入一个数组中 (数组下界为 1),同时在文本框中显示出来;如果单击 “计算保存 ”按钮,则计算其中前 50个数之和,并将求和结果在文本框 Textl中显示出来,同时把结果存入考生文件夹中的文件 out txt中 (在考生的文件夹下有标准模块 mode bas,其中的 putdata过程可以把结果存人指定的文件 )。 注意:保存时必须存放在考生文件下,窗体文件名为 sj5 frm,工程文
6、件名为 sj5 vbp。 VB机试模拟试卷 110答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1) 新建一个名为 Forml的窗体。 单击工具箱中的 CheckBox控件图标,在窗体上拖拉出三个复选框,在属性窗口设置三个复选框名称分别为 Chkl、 Chk2和 Chk3,标题分别为 “First”“Second”和“Third”,设置 Chk2和 Chk3的 Value属性值为 Checked。 按要求保存文件即完成本题。 (2) 新建一个名为 Forml的窗体。 执行 “工具 ”菜单中的 “菜单编辑器 ”命令,打开菜单编辑器。在 “标题 ”栏中输入“文件 ”,在 “名称 ”栏
7、中输入 “vbFile”;单击 “下一个 ”按钮,在 “标题 ”栏中输入 “编辑 ”,在 “名称 ”栏中输入 “vbEdit”;单击 “下一个 ”按钮,再单击编辑区的右箭头按钮,在 “标题 ”栏中输入 “剪切 ”,在 “名称 ”栏中输入 “vbCut”,不要选择 “有效 ”选项;单击 “下一个 ”按钮,在 “标题 ”栏中输入 “复制 ”,在 “名称 ”栏中输入 “vbCopy”;单击“下一个 ”按钮,在 “标题 ”栏中输入 “粘贴 ”,在 “名称 ”栏中输入 “vbPaste”。 二、简单应用题( 40分) 2 【正确答案】 (1)本题主要考查标签控件属 性的设置,滚动条常用属性和事件及颜色函
8、数。 标签控件的背景色通过 BackColor属性设置。程序主要用到了 RGB函数,该函数通过红、绿、蓝三基色产生某种颜色,其语法为 RGB(红,绿,蓝 )函数,其中括号中的红、绿、蓝三基色的范围为 0 255之间的整数。补充后的代码如下: Private Sub Commandl_Click() VScrolll Value=0 VScroll2 Value=0 Vscroll3 Value=0 End Sub Private Sub Form Load() Label4 BackColor=RGB(VScroll 1 Value, VScroll2 Value, VScroll3 Valu
9、e) End Sub Private Sub VSerolll_Change() Label4 BackColor=RGB(VScrolll Value,VScroll2 Value, VScroll3 Value) End Sub Private Sub VScroll2_Change() Label4 BackColor=RGB(VScrolll Value, VScroll2.Value, VScroll3 Value) End Sub Private Sub VSeroll3_Change() Label4 BackColor=RGB(VScrolll Value,VScroll2 V
10、alue, VScroll3 Value) End Sub 单击 按钮运行程序,并按要求保存。 (2)本题主要考查列表框的 ListCount、 Selected和 List属性, AddItem和RemoveItem方法, ”&”连接符, For循环语句以及 If判断语句。根据题意,编写如下代码: Private Sub Commandl Click() Dim k For k=Listl ListCount-1 To 0 Step-1 If Listl。 Selected(k)=True Then List2 Addltem Listl List(k) Listl Removeltem k
11、 End If Next k End Sub Private Sub Command2 Click() Dim k Textl=“已经选中的城市有: “ For k=0 To List2 ListCount-1 Step 1 Textl=Textl Text &“& List2 List(k) Next k End Sub 单击 按钮运行程序,并按要求保存。 三、综合应用题( 30分) 3 【正确答案】 在窗体上建立控件后,先设置控件属性,再研读提供的代码,找出问题后,修改事件过程以满足题目要求。 文本框显示的内容通过 Text属性设置;按钮的标题通过 Caption属性设置,单击命令按钮触发
12、 Click事件;本题中涉及到了文件的操作,读入文件以顺序方式打开,用 “Input#”语句读取数据。需要注意的是对文件操作结束后,一定要关闭文件。 文本框显 示的内容通过 Text属性设置, MuhiLine属性决定文本框是否可以多行显示。如果需要多行显示,必须将MuhiLine属性设置为 True,将 ScrollBars属性值设置为 2。 建立界面并设置控件属性。按钮的标题通过 Caption属性设置,单击命令按钮触发 Click事件。程序中用到的控件及属性设置见下表: 打开工程资源管理器,在其空白处右键添加模块 mode bas(此文件已在考生文件夹里 ),模块代码如下: Sub pu
13、tdata(ByVal a As Long) Dim sFile As String sFile=“ Out txt“ Open App Path&sFile For Output As#l Print#1, a; Close#1 End Sub 打开工程资源管理器,右击窗体选择查看代码项,在弹出的代码窗口输入代码如下: 窗体代码 Dim j(1 To 100)As Integer Private Sub Cmdl Click() Dim j As Integer j=0 Open App Path&“ in txt“For Input As#1 For j=1 To 100 Input#1, i(j) Next j Close#1 For j=1 To 100 Textl Text=Textl Text&i(j)&Space(5) Next i End Sub Private Sub Cmd2 Click() Dim sum As Long Dim j As Integer For j=l To 50 sum=sum+i(j) Next j Textl Text=sum putdata sum End Sub