1、国家二级 VB机试(上机操作)模拟试卷 373及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)在名称为 Form1,标题为“矩形与直线”的窗体上画一个名称为 Linel的直线,其 X1、Y1 属性分别为 200、100,X2、Y2 属性分别为 2200,1600。再画一个名称为 Shape1的矩形,并设置适当属性,使Linel成为它的对角线,如图 319 所示。 注意:存盘时,将文件保存至考生文件夹下,窗体文件名为sjtlfrm,工程文件名为 sjtlvbp。 (2)在名称为 Form1,标题为“列表框练习”的窗体上,画一个名称为 Lis
2、t1的列表框,并输入若干列表项,再画一个标题为“删除”,名称为 Command1的命令按钮,如图 3-20所示。请编写适当的事件过程,使得单击“删除”按钮,就删除选中的列表项;双击某个列表项,则把该列表项内容添加到列表的最后。 注意:存盘时,将文件保存至考生文件夹下,窗体文件名为sjt2frm,工程文件名为 sjt2vbp。要求程序中不得使用变量,每个事件过程中只能写一条语句。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)在考生目录下有一个工程文件 vbs2-3vbp,窗体上有一个命令按钮 cmdNext(标题为“下一个”)。 要求:在窗体上建立一个单选按钮数组 o
3、ptltem,含 4个单选按钮,标题分别为“A”、“B”、“C”、“D”,初始状态下,“A”为选中状态。如图 370 所示。窗体文件中已经给出了命令按钮的 Click事件过程,但不完整,请去掉程序中的注释符,把程序中的“?”改为正确的内容,使得每单击命令按钮一次,就选中下一个单选按钮,如果已经选中最后一个单选按钮,再单击命令按钮,则选中第 1个单选按钮。 注意:不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。 程序源码: PriVate Sub cmdNext_Click() For k=0 To? If OptItem(k)Value Then n=? End If Next k
4、 optItem(n)Value=False n=n+1 If n=4 Then n= ? End If optItem(n)Value=True End Sub (2)在考生文件夹下有一个工程文件 vbsj4vbp,窗体上有两个文本框、三个单选按钮和一个命令按钮。运行时,在 txtlnput中输入若干个大写和小写字母,并选中一个单选按钮,再单击“转换”按钮,则按选中的单选按钮的标题进行转换,结果放入 txtResult(如图 371 所示)。在给出的窗体文件中已经给出了全部控件,但程序不完整,要求:去掉程序中的注释符,把程序中的“?”改为正确的内容。 (分数:2.00)_三、综合应用题(总题
5、数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sjt5vbp,在窗体上给出了所有控件和不完整的程序,请去掉程序中的注释符,把程序中的“?”改为正确的内容。本程序的功能是:如果单击“取数”按钮,则把考生目录下的 in5txt 文件中的 15个姓名读到数组 a中,并在窗体上显示这些姓名;当在 Text1中输入一个姓名,或一个姓氏后,如果单击“查找”按钮,则进行查找,若找到,就把所有与 Text1中相同的姓名或所有具有 Text1中姓氏的姓名显示在 Text2中(如图 3101 所示);若未找到,则在 Text2中显示“未找到!“;若 Text1中没有查找内容,则在 Text2中显示“未
6、输入查找内容!“。 (分数:2.00)_国家二级 VB机试(上机操作)模拟试卷 373答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)在名称为 Form1,标题为“矩形与直线”的窗体上画一个名称为 Linel的直线,其 X1、Y1 属性分别为 200、100,X2、Y2 属性分别为 2200,1600。再画一个名称为 Shape1的矩形,并设置适当属性,使Linel成为它的对角线,如图 319 所示。 注意:存盘时,将文件保存至考生文件夹下,窗体文件名为sjtlfrm,工程文件名为 sjtlvbp。 (2)在名称为 Form1,标题为“列表
7、框练习”的窗体上,画一个名称为 List1的列表框,并输入若干列表项,再画一个标题为“删除”,名称为 Command1的命令按钮,如图 3-20所示。请编写适当的事件过程,使得单击“删除”按钮,就删除选中的列表项;双击某个列表项,则把该列表项内容添加到列表的最后。 注意:存盘时,将文件保存至考生文件夹下,窗体文件名为sjt2frm,工程文件名为 sjt2vbp。要求程序中不得使用变量,每个事件过程中只能写一条语句。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:新建一个“标准 EXE”工程,在窗体 Form1中加入一个 Shape形状和直线。按表 4-13设置其相关属性。 步骤 2:
8、按要求将文件保存至考生文件夹中。 (2)步骤 1:新建一个“标准 EXE”工程,在窗体 Form1中加入一个命令按钮和列表框。按表 414 设置其相关属性。)解析:解析:(1)根据题目要求,在窗体上放置一个 Shape形状和一条直线,并将直线设置为 Shape矩形的对角线,即矩形的 Left、Top 属性和直线的 X1、Y1 属性值相同,矩形的 Width、Height 分别是直线的X2X1、Y2Y1。 (2)根据题目要求在窗体上加入一个列表框,并设置属性。列表框控件(ListBox)用于显示可供单一或多个选择的列表项,给列表框添加列表项既可以在设计阶段通过其 List属性设置加入(注意:每输
9、入完一项后按键换行再输入下一项),也可在程序运行时使用 Addltem方法加入,删除列表框里面的项使用 Removeltem方法。 单击命令按钮和双击命令按钮实现对列表框的删除和添加操作,因此需要编写命令按钮的 Click和 DblClick事件响应过程。二、简单应用题(总题数:1,分数:2.00)2.(1)在考生目录下有一个工程文件 vbs2-3vbp,窗体上有一个命令按钮 cmdNext(标题为“下一个”)。 要求:在窗体上建立一个单选按钮数组 optltem,含 4个单选按钮,标题分别为“A”、“B”、“C”、“D”,初始状态下,“A”为选中状态。如图 370 所示。窗体文件中已经给出了
10、命令按钮的 Click事件过程,但不完整,请去掉程序中的注释符,把程序中的“?”改为正确的内容,使得每单击命令按钮一次,就选中下一个单选按钮,如果已经选中最后一个单选按钮,再单击命令按钮,则选中第 1个单选按钮。 注意:不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。 程序源码: PriVate Sub cmdNext_Click() For k=0 To? If OptItem(k)Value Then n=? End If Next k optItem(n)Value=False n=n+1 If n=4 Then n= ? End If optItem(n)Value=Tru
11、e End Sub (2)在考生文件夹下有一个工程文件 vbsj4vbp,窗体上有两个文本框、三个单选按钮和一个命令按钮。运行时,在 txtlnput中输入若干个大写和小写字母,并选中一个单选按钮,再单击“转换”按钮,则按选中的单选按钮的标题进行转换,结果放入 txtResult(如图 371 所示)。在给出的窗体文件中已经给出了全部控件,但程序不完整,要求:去掉程序中的注释符,把程序中的“?”改为正确的内容。 (分数:2.00)_正确答案:(正确答案:(1)步骤 1:打开考生文件夹中的本题工程文件 vbsj3vbp,按表 4-43在窗体中用“复制”和“粘贴”命令画出包含 4个元素的单选数组和
12、 1个命令按钮并设置属性。 )解析:解析:(1)本题源程序在命令按钮的单击事件过程中,首先利用 For循环语句(循环变量 k的初值为0,终值为 3)逐一检查单选按钮数组中的每个元素是否被选中,若选中则用变量 n记录下选中单选按钮的索引号,即 n=k。循环结束后,取消对当前选中单选按钮的选择,变量 n增 1;接着判断增 1后的 n值是否为 4,若是则将 n的值设置为 0;最后设置索引号为 n的单选按钮被选中。 (2)本题源程序功能是在命令按钮的单击事件过程中,用 For循环语句和 Mid函数逐一取出文本框 txtInput中的字符后,根据单选按钮的选择进行相应转换;当选择“大小写互换”时,如果是
13、小写字母就用 UCase函数转换为大写,如果是大写字母就用 LCase函数转换为小写,如果不是字母就不用转换;当选择“全部大写”时,就用 UCase函数将文本框中所有字母转换为大写;当选择“全部小写”时,就用 LCase函数将文本框中所有字母转换为小写。将转换结果显示在文本框 txtResult中。三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sjt5vbp,在窗体上给出了所有控件和不完整的程序,请去掉程序中的注释符,把程序中的“?”改为正确的内容。本程序的功能是:如果单击“取数”按钮,则把考生目录下的 in5txt 文件中的 15个姓名读到数组 a中,并在窗体
14、上显示这些姓名;当在 Text1中输入一个姓名,或一个姓氏后,如果单击“查找”按钮,则进行查找,若找到,就把所有与 Text1中相同的姓名或所有具有 Text1中姓氏的姓名显示在 Text2中(如图 3101 所示);若未找到,则在 Text2中显示“未找到!“;若 Text1中没有查找内容,则在 Text2中显示“未输入查找内容!“。 (分数:2.00)_正确答案:(正确答案:步骤 1:打开考生文件夹中的本题工程文件 sjt5vbp,打开代码编辑窗口,去掉程序中的注释符“”,将问号“?”改为正确的内容。参考代码: Close #1 n=Len(Text1Text) If Left(a(k),
15、n)=Text1Text Then c=c+“ “+a(k) Text2Text=c 步骤 2:按要求将文件保存至考生文件夹中。)解析:解析:由本题程序源代码及要求可知,在程序运行时,首先单击“取数”按钮,使用 Open语句打开考生目录下的 in5txt 文件,然后利用 For循环结合 Input语句将 15个姓名读到数组 a中,并在窗体上显示这些姓名,循环结束后使用 Close语句关闭打开的文件。 在“查找”按钮的单击事件中,首先判断 Text1中文本的长度,如果长度大于 0则意味着文本框中有输入,此时利用一个循环依次比较数组中每个元素的开头字符是否等于 Text1中的内容。若相等则意味着是要找的结果,将其连接到变量 c上,直到循环完毕判断变量 c是否为空字符串,若不为空则显示在 Text2中。