1、VB机试模拟试卷 94及答案与解析 一、基本操作题( 30分) 1 (1)在名称为 Forml的窗体上绘制一个名为 HS1的水平滚动条,并在属性窗口中将 Max属性设置为 100, Min属性设置为 0, Value属性设置为 100。程序运行后,滚动框位于滚动条最右端,如果单击滚动条之外的窗体部分,则滚动框跳到最左端,如图 3-l所示。 注意:只能直接为相应的属性赋值,不得使用任何变量。保存时必须存放在考生文件夹下,窗体文件名为 sj1 frm,工程文件名为 si1 vbp。(2)在 Form1的窗体上绘制一个命令按钮,名为Cmd1,标题为 Display,按钮隐藏。编写适当的事件过程,使程
2、序运行后,若单击窗体,则命令按钮出现;此时如果单击命令按钮,则在窗体上显示 Visual Basic。程序运行情况如图 32, 33所示。注意:程序中不得使用任何变量;文件必须存放在考生文件夹中,工程文件名为sj2 vbp,窗体文件名为 sj2 frm。 二、简单应用题( 40分) 2 (1)在考生文件夹中有工程文件 sj3 vbp及其窗体文件 sj3 frm,该程序是不完整的。在窗体上有一个名称为 Commandl、标题为 “求和 ”的命令按钮,三 个名称分别为 Textl、 Text2和 Text3的文本框,运行界面如图 654所示。要求程序运行后,在 Textl和 Text2中分别输人两
3、个整数,单击 “求和 ”按钮后,可把两个整数之间的所有奇数 (不含输入的两个整数 )累加起来并在 Text3中显示。 注意:请在有 “?”的地方填入正确内容,然后删除 “?”及代码前的所有注释符 (即 “”号 ),但不能修改其他部分。存盘时不得改变文件名和文件夹。 (2)在考生文件夹中有工程文件sj4 vbp及其窗体文件 sj4 frm,该程序是不完整的。在窗体上建立一个名称为Textl的文本框 ,建立一个名称为 Commandl、标题为 “计算 ”的命令按钮,如图655所示。要求程序运行后,如果单击 “计算 ”按钮,则求出 50200之间所有可以被 5整除的数的总和,在文本框中显示出来,并把
4、结果存入考生文件夹下的out txt文件中。 (在考生的文件夹下有一个 mode bas标准模块,该模块中提供了保存文件的过程 writedata,考生可以直接调用。 ) 注意:请在有 “?”的地方填入正确内容,然后删除 “?”及代码前的所有注释符 (即 “”号 ),但不能修改其他部分。存盘时不得改变文件名和文件夹。 三、综合应用题 ( 30分) 3 打开考生文件夹下的 sj5 vbp,在名称为 Forml的窗体上建立两个命令按钮,名称分别为 Commandl和 Command2,命令按钮上分别显示 “输入 ”和 “结果 ”(如图157所示 )。程序运行时单击 “输入 ”按钮,输入 6个数放人
5、数组 a中,单击 “结果 ”则把数组 a中的数值按照降序排列。 注意:请在有 “?”号的地方填正确内容,然后删除 “?”及代码前的所有注释符 (即 “”号 )但不能修改其他部分。存盘时不得改变文件名和文件夹。 VB机试模拟试卷 94答案与解析 一、基本操作题( 30分) 1 【正确 答案】 (1)本题主要考查窗体上控件的基本操作。 先在窗体上建立控件,再设置控件属性。程序中用到的控件及其属性见下表: 滚动条的最大刻度用 Max属性来表示,最小刻度用 Min属性来表示,滚动条上的位置通过 Value属性来表示。 单击窗体触发 Form_Click事件,滚动框跳到最左端,即使其 Value属性为
6、0。 参考代码如下: Private Sub Form_Click() HSl Value=0 End Sub 调试并运行程序。 按题目要求存盘。 (2) 新建一个名为 Form1的窗体。 单击工具箱中的 CommandButton控件图标,在窗体上拖拉出一个命令按钮,在属性窗口设置该命令按钮名称为 Cmdl, Caption属性为Display, Visible属性为 False。 打开代码窗口输入如下代码: Private Sub Cmdl_Click() Print“VisualBasic“在窗体显示 VisualBasic End Sub Private Sub Form_Click(
7、) Cmdl VisibIe=True使命令按钮可见 End Sub 按要求保存文件即完成本题。 二、简单应用题( 40分) 2 【正确答案】 (1)看一个数是否为奇数,只要判断此数是否能被 2整除,若不能整除,则是奇数,否则不是奇数。如: N Mod 2=0,则说明余数为 0, N能被 2整除,否则 N不能被 2整除。 根据题意将一个命令按钮和三个文本框控件添加到窗体中,命令按钮的名称属性为 Commandl、 Caption属性为 “求和 ”,三个文本框的名称分别为 Textl、 Text2和 Text3,然后双击 Commandl进入代码窗口,补充后的具体代码如下: Private Su
8、b Commandl_Click() Dim total As Long Dim min As Integer Dim max As Integer Dim a As Integer min=Textl TextTextl输入的整数 max=Text2 TextText2输入的整数 total=0 For a=min+1 To max-1 循环操作 If a Mod 2=1 Then判断是否为奇数 total=total+a进行相加操作 End If Next a Text3 Text=total 将得到的数输出到文本框 3 End Sub 单击 按钮运行程序,并按要求保存。 (2)根据题意,
9、将一个命令按钮和一个文本框控件添加到窗体中,命令按钮的名称 Commandl、 Caption属性为 “计算 ”,文本框的名称为 Textl,本题是为了求 50200之间的能被 5整除的数的和,显示到文本框中并保存到 OUt txt中。在 “工程 ”窗口中单击右键,在弹出的快捷菜单中选择 “添加 ”“ 添加模块 ”,然后在弹出对话框的 “现存 ”选项卡中选择 “mode bas”,单击 “确定 ”按钮即添加成功。模块 mode bas中的代码如下: Function writeData(total As Long) 将数据保存到 out txt中 Open App Path&“ out txt
10、“For Output As#1打开文件 Write#1,total进行写入 Close#1 End Function 双击 Commandl进入代码窗口,补充后的代码如下: Private Sub Commandl_Click() Dim total As Long Dim n As Integer total=0 For n=50 To 200循环操作 If n Mod 5=0 Then判断是否能被 5整除 total=total+n进行相加操作 End If Next n Textl Text=total在 Textl中显示出来 writeData(total) 写入OUt txt文件中
11、 End Sub 单击 按钮运行程序,并按要求保存。 三、综合应用题( 30分) 3 【正确答案】 本题重点考查 “冒泡法 ”数据排序方法。 “冒泡法 ”是一种重要的数据排序算法,其思想是按顺序让一个数列中的每一个数都与其之后的所有的数逐一进行比较,如果该数小于其后面的数,则把这两个位置的数进行交换。依此类推,即可实现所有数的降序排列。 根据题意,将两个命令按钮添加到窗体中,名称分别为 Commandl和 Command2、 Caption属性分别为 “输入 ”和 “结果 ”。双击 Commandl进入代码窗口,编写如下代码: Dim a(6)As Integer Dim str As Str
12、ing Dim tmp As String Dim i As Integer Private Sub Commandl Click() str=“排序前: “ For i=1 To 6 a(i)=Val(InputBox(“请输入: “) 输入 6个数到数组中 tmp=a(i) str=str+tInp+“ 将数组中的数放到字符串中 Next i Print str在窗口中显示数组 End Sub Private Sub Command2 Click() str=“排序后: “ For i=1 To 6 降序排列 temp=a(i) For j=1 To i If a(j) 按钮运行程序,并按要求保存。