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