1、VB机试模拟试卷 92及答案与解析 一、基本操作题( 30分) 1 请根据以下各小题的要求设计 Visual Basic应用程序 (包括界面和代码 )。 (1)在Forml的窗体上建立一个主菜单,标题为 “命令 ”,名称为 Com,该菜单有 3个子菜单,其标题分别为 “输出 ”、 “删除 ”和 “关闭 ”,其名称分别为 Prin、 Del和 Close。编写适当的事件过程,程序运行后,如果单击 “命令 ”菜单中的 “输出 ”命令,则在窗体上显示 “Hello World!”;如果单击 “删除 ”命令,则删除窗体上显示的内容, “关闭 ”命令为关闭对话框。程 序的运行情况如图 371所示。 注意
2、:存盘时必须存放在考生文件夹下,工程文件名为 sjl vbp,窗体文件名为 sjl frm。 (2)在 Form1的窗体上画一个标签,其名称为 Labell;再画一个列表框,其名称为 Listl,通过属性窗口向列表框中添加若干个项目,每个项目的具体内容不限,编写适当的事件过程。程序运行后,如果双击列表框中的任意一项,则把列表中的项目序号数和项目文本在标签中显示出来。程序中不准使用任何变量,运行情况如图 372所示。注意:存盘时必须存放在考生文件夹下,工程文件名为 sj2 vbp, 窗体文件名为sj2 frm。 二、简单应用题( 40分) 2 (1)考生文件夹下有一个工程文件 sj3 vbp。程
3、序的功能是:通过键盘向文本框中输入数字,如果输入的是非数字字符,则提示输入错误,且文本框中不显示输入的字符。单击名称为 Commandl、标题为 “添加 ”的命令按钮,则将文本框中的数字添加到名称为 Comb01的组合框中。在给出的窗体文件中已经添加了全部控件,但程序不完整。要求去掉程序中的注释符 (即 “”),把程序中的 “?”改为正确的内容。 注意:不能修改程序中的其他部分和其他控件的属性。 最后把修改后的文件按原文件名存盘。 (2)在考生目录下有一个工程文件 sj4 vbp。该程序的功能是计算M!+(M+1)!+(M+2)!+N! 之和。窗体上有名称分别为 Textl、 Text2的两个
4、文本框,用于接收输入的 M和 N(要求 M57 Or KeyAscii 按钮运行程序,并按要求保存。 (2)本题主要考查标签的 Caption属性, Val()函数和 For循环语句。根据题意,编写如下代码: Private Sub Commandl_Click() Dim m As Integer Dim n As Integer Dim S As Long Dim i As Integer Dim t As Integer m=Val(Textl Text) n=Val(Text2 Text) s=0 For i=m To n t=f(i) s=s+t Next i lblResult C
5、aption=s End Sub Private Function f(ByRef x As Integer)As Long Dim t As Long t=1 For i=1 To x t=t*i Next i f=t End Function 单击 按钮运行程序,并按要求保存。 三、综合应用题( 30分) 3 【正确答案】 文本框显示的内容通过 Text属 性设置;按钮的标题通过 Caption属性设置,单击命令按钮触发 Click事件。本题涉及到文件的操作,读入顺序文件以顺序的方式打开,用 ”Input#”语句读取数据。另外需要注意的是,对文件操作结束后,一定要关闭文件。 建立界面并设置
6、控件属性。程序中用到的控件及其属性如下表所示: 打开工程资源管理器,在其空白处右键添加模块 prog bas(此文件已在考生文件夹里 ),模块代码如下: Option ExplicitSub putdata(ByVal a As Long)Dim sFile As StringsFile=“ resuh txt“Open App Path&sFile For Output As#1Print#1, a;Close#1End Sub 打开工程资源管理器,右击窗体,选择查看代码项,在弹出的代码窗口输入代码如下: Dim i(1 To 100)As IntegerPrivate Sub Cmdl Click()Dim j As Integerj=0Open App Path&“ in txt“For Input As#1For i=1 To 100Input#1, i(j)Next jClose#1For i=i To 100Textl Text=Textl Text&i(j)&Space(5)Next jEnd SubPrivate Sub Cmd2 Click() Dim sum AS LongDim j As Integersum=0Textl Text=“For j=1 To 100If i(j)=400 And i(j)