1、国家二级 VB机试(上机操作)模拟试卷 427及答案与解析 一、基本操作题 1 (1)在名称为 Form1,标题为 “框架 ”的窗体上添加一个名称为 Frame1,且标题为空的框架。框架内含有两个单选按钮,名称分别为 Opt1和 Opt2,其标题分别为“字体 ”、 “大小 ”。 注意:存盘时必须存放在考生文件夹下,工程文件名保存为sjt1 vbp,窗体文件名保存为 sjt1 frm。(2)考生文件夹下的工程文件sjt2 vbp中有一个由直线 Line1、 Line2和 Line3组成的三角形,直线 Line1、 Line2和 Line3的坐标值如下所示: 名称 X1 Y1 X2 Y2 Line
2、1 600 1200 1600 300 Line2 600 1200 2600 1200 Line3 1600 300 2600 1200 要求添加一条直线 Line4以构成三角形的高,且该直线的初始状态为不可见。再添加两个命令按钮,名称分别为 Cmd1、Cmd2,标题分别为 “显示高 ”、 “隐藏高 ”,如图所示。请编写适当的事件过程使得在程序运行时,单击“显示高 ”按钮,则显示三角形的高;单击 “隐藏高 ”按钮,则隐藏三角形的高。 注意:要求程序中不得使用变 量,每个事件过程只能写一条语句。不得修改已经存在的控件,最后将修改后的文件按原文件名存盘。 二、简单应用题 2 (1)在考生文件夹下
3、有一个工程文件 sjt3 vbp,在 Form1的窗体中有一个文本框、一个计时器和两个命令按钮。程序的功能是在运行时,单击 “开始计数 ”按钮,就开始计数 (如图所示 ),每隔 1秒,文本框中的数加 1;单击 “停止计数 ”按钮,则停止计数。要求:修改适当的控件的属性,并去掉程序中的注释符,把程序中的 ?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后将修改后的文件以原来的文件 名存盘。 (2)已知出租车行驶不超过 4公里时一律收费 10元。超过 4公里时分段处理,具体处理方式为: 15公里以内每公里加收 1 2元, 15公里以上每公里收 1 8元。 在考生文件夹下有一个工程
4、文件 sjt4 vbp。程序的功能是:单击 “输入 ”按钮,将弹出一个输入对话框,接收出租车行驶的里程数;单击 “计算 ”按钮,则可根据输入的里程数计算应付的出租车费,并将计算结果在名称为 Text1的文本框内显示。 在窗体文件中已经给出了全部控件 (如图所示 ),但程序不完整,要求去掉程序中的注释符,把程序中的 ?改为正确的内容。 注意: 不得修改已经存在的内容和控件属性,最后将修改后的文件按原文件名存盘。 三、综合应用题 3 在考生文件夹下有一个工程文件 sjt5 vbp,窗体上有两个命令按钮,标题分别是“读数据 ”和 “统计 ”,请添加两个标签,名称分别为 Label1和 Labe12,
5、标题分别为“出现次数最多的字母是 ”和 “它出现的次数为 ”;再添加两个名称分别为 Text1和Text2,初始内容为空的文本框,如图所示。 程序功能如下: 单击 “读数据 ”按钮,则将考生文件夹下 in5 dat文件的内容读到变量 s中 (此过程已给出 )。 单击“统计 ”按钮 ,自动统计 in5 dat文件中所含各字母 (不区分大小写 )出现的次数,并统计次数最多的字母显示在 Text1文本框内,它所出现的次数显示在 Text2文本框内。 “读数据 ”按钮的 Click事件过程已经给出,请为 “统计 ”按钮编写适当的事件过程实现上述功能。 注意:考生不得修改窗体文件中已经存在的控件和程序,
6、在结束程序运行之前,必须进行统计,且必须用窗体右上角的关闭按钮结束程序,否则无成绩。最后,程序按原文件名存盘。 国家二级 VB机试(上机操作)模拟试卷 427答案与解析 一、基本操作题 1 【正确答案】 (1)【操作步骤】 步骤 1:建立界面,添加相应的控件并设置控件的属性。程序中涉及的控件及属性见表 3 56。步骤 2:调试并运行程序,关闭程序后按题目要求存盘。 (2)【操作步骤】 步骤 1:打开 sjt2工程,按照题目要求建立 Line控件并设置其属性,如图 3 33所示。步骤 2:按照步骤 1建立其他控件并设置相关属性,程序中涉及的控件及属性见表 3 57。步骤 3:打开代码编辑窗口,在
7、指定位置编写如下代码。 参考答案 Private Sub Cmd1_Click() Line4 Visible True 将 Line4显示 End Sub Private Sub Cmd2_Click() Line4 Visible False 将Line4隐藏 End Sub 步骤 4:调试并运行程序,关闭程序后按题目要求存盘。 二、简单应用题 2 【正确答案】 (1)【操作步骤】 步骤 1:打开本题工程文件,设置计时器 Interval属性为 1000, Enabled属性设置为 False。 步骤 2:打开代码编辑窗口,去掉程序中的注释符 “”,将问号改为正确的内容。 参考答案 Pri
8、vate Sub C1_Click(Index As Integer) Select Case Index 通过控件下标确定单击哪一个按钮 Case 1 Timer1 Enabled Fal se Case 0 控制下标从 0开始,此处应为 0 Timer1 Enabled True End Select End Sub Private Sub Timer1 Timer() Text1 Text Text1 Text 1Text1中的内容加 1显示 End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 (2)【操作步骤】 步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口
9、,去掉程序中的注释符 “”,将问号改为正确的内容。 参考答案 Dim s As Integer Private Sub Command1_Click() s Val(InputBox(“输入里程数 (单位:公里 )“)s用于存储里程数 End Sub Private Sub Command2_Click() Tf s 0 Then Select Case s 对 s进行判断 Case Is 4 f 10 根据题意 s 4时 f 10 Case Is 15 f 10 (s 4)*1 2 同理 Case Is 15 f 10 11 * 1 2 (s 15) * 1 8 同理 End Select
10、Text1 Text f 在 Text1中显示结果 Else MsgBox “请单击 “输入 “按钮输入里程数 !“ End If End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 三、综合应用题 3 【正确答案】 【操作步骤】 步骤 1:打开本题工程文件,添加两个标签控件,名称分别为 Labe11和Labb12,标题分别为 “出现次数最多的字母是 ”和 “它出现的次数为 ”;再添加两个名称分别为 Text1和 Text2,初始值为空的文本框。 步骤 2:打开代码编辑窗口,在指定位置编写如下代码。 参考答案 Dim a(1 To 26)As Integer 定义数组 a用于
11、存放字母出现个数 Dim max As Integer n Len(s) Len的功能是求字符串的长度 For i 1 To n k Asc(Mid $ (s, i, 1) 依次获取字符 If (k 65 And k 90)Then a(k 64) a(k 64) 1 当为大写字母时,满足条件则计数 End If If(k 97 And k 122) Then a(k 96) a(k 96) 1 当为小写字母时,满足条件则计数 End If Next i max 0 For m 1 To 26 循环查找出现次数最多的值 If maxa(m)Then max a(m) End If Next m Text2 max 显示出现次数 For m 1 To 26 找到出现次数最多的值的下标 If a(m) max Then 1 m 将下标记下 End If Next m Text1 Chr(1 64) 通过下标找到对应的字母 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。