1、国家二级 VB机试(上机操作)模拟试卷 440及答案与解析 一、基本操作题 1 (1)在名称为: Form1的窗体上画一个标题为 “直辖市 ”、名称为 Framel的框架,在框架中画一个名称为 Combol的组合框,其编辑域为空,有如图所示的 4个列表项,外观风格也与图中相同。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1 vbp,窗体文件名为 sjt1 frm。 (2)在名称为Form1的窗体上画一个名称为 Command1、标题为 “0”的命令按钮;再画一个名称为 Timerl的计时器,请通过属性窗口设置适当的 属性,并编写适当的事件过程,使得程序运行时,单击命令按钮后,该按钮
2、标题上的数字每 2秒在原有基础上加2。要求程序中不得使用变量,每个事件过程中只能写一条语句。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sit2 vbp,窗体文件名为 sjt2 frm。 二、简单应用题 2 (1)在考生文件夹下有一个工程文件 sjt3 vbp,在程序运行时,单击 “输入整数 ”按钮,输入一个整数,并在窗体上显示此整数的所有不同因子和因子个数。图 1是输入 53后的结果,图 2是输入 100后的结果。已经给出了全部控件和程序,但程序不 完整。 要求:请去掉程序中的注释符,把程序中的 ?改为正确的内容。不能修改程序中的其他部分,也不能修改控件的属性。最后用原来的文件名保存
3、工程文件和窗体文件。 (2)在考生文件夹下有一个工程文件 sjt4 vbp。在其窗体中 “待选城市 ”下的 List1列表框中有若干个城市名称。程序运行时,选中 List1中料干个列表项 (如图 1所示 ),单击 “选中 ”按钮则把选中的项目移到 List2中,单击 “显示 ”,则在 Text1文本框中显示这些选中的城市 (如图 2所示 )。已经给出了所有控件和程序,但程序不完整。 要求:请上掉程序中的注释符,把程序中的 ?改为正确的内容,使其能正确运行,但不能修改程序中的其他部分和控件属性。最后用原来的文件名保存工程文件和窗体文件。三、综合应用题 3 以下数列: 1 1 2 3 5 8 13
4、 21 的规律是从第 3个数开始,每个数都是其前面两个数之和。 在考生文件夹下有一个工程文件 sjt5 vhp。窗体中已经给出了所有控件,如图所示。请编写适当的事件过程完成如下功能:选中一个单选按钮后,单击 “计算 ”按钮,则计算出上述数列第 n项的值,并在文本框中显示, n是选中的单选按钮后面的数值 (提示,因计算结果较大,应使 用长整型变量 )。 注意:不能修改已经给出的程序和已有的控件的属性;在结束程序运行之前,必须选中一个单选按钮,并单击 “计算 ”按钮以获得 -个结果;必须使用窗体右上角的关闭按钮结束程序,否则无成绩。最后把修改后的文件按原文件名存盘。国家二级 VB机试(上机操作)模
5、拟试卷 440答案与解析 一、基本操作题 1 【正确答案】 (1)步骤 1:新建一个窗体 Form1。 步骤 2:向窗体上添加一个Frame控件,并按照表 4 13设置控件的属性。步骤 3:向 Frame控件中添加一个 ComboBox控件,按照表 4 14设 置控件的属性,设置完成后结果如图 4 11所示。步骤 4:调试并运行程序,关闭程序后按题目要求存盘。 (2)步骤 1:新建一个窗体 Foiml。 步骤 2:向窗体中添加一个命令按钮,按照表 4 15设置控件的属性。 步骤 3:向窗体中添加一个计时器控件,按钮表 4 16设置控件的属性,设置完成后结果如图 4 12所示。 步骤 4:添加按
6、钮的 Click事件过程。 参考答案 Private Sub Command1_Click() Timer1 Enaled=True End Sub 步骤 5:添加计时器的 Timer事件过程 参考答案 Private Sub Timerl_Timer() Command1 Caption=Val(Command1 Caption)+2 End Sub 步骤: 6:调试并运行程序,关闭程序后按题目要求存盘。 【试题解析】 (1)新建一个窗体,然后向窗体中添加一个 Frame控件,设置控件的 Caption属性;再向 Frame控件中添加一个 ComboBox控件,设置控件的 List属性、 S
7、tyle属性和 Text属性。 (2)新建一个窗体,向窗体中添加一个命令按钮和一个计时器控件,通过属性窗体设置按钮的 Caption属性和计时器的 Enabled属性,在按钮的 C1: iek事件过程中设置计时器的 Enabled属性为 True,在计时器的 Timer事件过程中将按钮的Caption属性值加 2。 二、简单应用题 2 【正确答案】 (1)步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口,去掉程序中的注释符,将问号改为正确的内容。 参考答案 Private Sub Command1_Click() Dim n As Integer Cls清空窗体 鬟 =InputBox
8、(“请输入一个整数 “)InputBox返回值赋给 n Print“因子数 =“; fun(n)调用 fun函数并打印结果 End Sub Function fun(m As Integer) Dim s As Integer S=0 For k=1 To Abs(m) 2 If m Mod k=0 Then当整除余数为 0时则一定是它的因子 s=s+1 Print k EndIf Next k fun=s返回因子总数 End Function 程序结束 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 (2)步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口,去掉程序中的注释符,将
9、问号改为正确的内容。 参考答案 Private Sub Command1Click() Dim k For k =List1 ListCount 一 1 To0 step -1 k从最大到 0,则步长应为一 1 If List1 Selected(k) =True Then List2 AddItem List1 List(k)添加项到 List2中 List1 RemoveItem k 通过下标删除 List1中的项目 EndIf Next k End Sub Private Sub Command2_Click() Dim k Text1=“已经选中的城市有: “ For k=0 To L
10、ist2 LiStCount一 1 Step 1 Text1=Text1 Text &“ “&List2 List(k) 将 List2中的项目连接在 Text1中的内容之后 Next k End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 【试题解析】 (1)通过 InputBox()函数实现对话框中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的 String。 通过 Function fun()过程函数,实现对因子数的确定和查找, Mod()函数用来判断是否能够整除,即判断是 否为因子数。 (2)Selected属性是一个与 List数组中的各个元素相对应的
11、一维数组,记录 List数组中每个项目是否被选取。例如,如果 List(1)被选取,则 Selected(1)的值为True,如果 List(1)未被选取,则 Selected(1)的值为 False。 List属性是一个一维数组,数组中元素的值就是在执行时看到的列表项。设计时可以在属性窗口中通过List属性来建立列表项,运行时对 List数组从 0到 ListCount一 1依次取值,可以获得列表的所有项目。通过对 Selected属性返回值 的判断,可以得知列表项是否被选中,从而进行删除和添加操作。 三、综合应用题 3 【正确答案】 步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口
12、,在指定位置编写如下代码。 参考答案 Private Sub Command1_Click() Dim a() As Long Dim i As Integer Dim n As Integer Op1 Count是单选按钮数目,这里用的是控件数组 For i=0 To Op1 Count一 1 判断哪一项被选择,把它后面的数值赋给 n,确定 n值 If Op1(i) Value=True Then n=Val(Op1(i) Caption) Exit For End If Next ReDim a(n)重新申请空间,这里是动态申请 a(1)=1 a(2)=1数列第一项、第二项值确定 For
13、i=3 To n a(i)=a(i一 1)+a(i一 2)后一项值是前两项值之和 Next Text1 Text=a(n) End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 【试题解析】 单选按钮数组常用于提供唯一选择, Value属性值决定每个单选按钮的选中状态: False为未选中, True为选中, Caption属性用于设置单选按钮的标题。本题在 For循环语句 (循环变量 k的初值为 0,终值应为 3)中逐一检查每个单选按钮是否被选中,用变量 n记录选中单选按钮的索引号。然后取消对当前选中单选按钮的选择,使单选按钮数组中的下一个按钮被选中。如果当前已经选中最后一个单选按钮,则将 n赋值为 0,重新从单选按钮数组的第一个元素开始。