1、国家二级 VB机试(上机操作)模拟试卷 316及答案与解析 一、基本操作题 1 (1)在名称为 Form1的窗体上画两个标签 (名称分别为 Label1和 Label2,标题分别为 “姓名 ”和 “年龄 ”)、两个文本框 (名称分别为 Text1和 Text2,初始内容均为空 )和一个命令按钮 (名称为 Command1,标题为 “显示 ”)。然后编写命令按钮的 Click事件过程。程序运行后,在两个文本框中分别输入姓名和年龄,然后单击 “显示 ”按钮,则在窗体上显示两个文本框中的内容,如图所示。要求程序中不得使用任何变量。 注意:存盘时必须存 放在考生文件夹下,工程文件名保存为 sjt1 v
2、bp,窗体文件名保存为 sjt1 frm。(2)在名称为 Form1的窗体上画一个图片框,其名称为 Picture1,一个水平滚动条,名称为 HScroll1,一个命令按钮,名称为 Command1,标题为 “设置属性 ”,通过属性窗口在图片框中装入一个图形 (文件名为 picl jpg,位于考生目录下 ),图片框的高度与图形的高度相同,图片框的宽度任意 (如图 1所示 )。编写适当的事件过程,程序运行后,如果单击命令按钮,则设置水平滚动条的属性如下: Min 100 Max 1500 LargeChange 100 SmallChange 10 之后就可以通过移动滚动条上的滚动块来放大或缩小
3、图片框。程序运行后的窗体如图 2所示。要求程序中不得使用任何变量。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt2 vbp,窗体文件名为 sjt2 frm。二、简单应用题 2 (1)在考生文件夹下有一个工程文件 sjt3 vbp。窗体上有一个名称为 List1的列表框,且已有若干个项目,如图 (a)所示。 “部分反序 ”命令按钮的名称为 Command1。程序运行时,单击 “部分反序 ”按钮,列表框 中除最前面的一个项目不动外,其他项目的顺序反向显示,如图 (b)所示。文件中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的 ?改为正确的内容。 注意:不能修改
4、程序中的其他部分和各控件的属性。最后把修改后的文件按原文件名存盘。(2)在考生文件夹下有一个工程文件 sjt4 vbp。其功能是: 1)单击 “产生数据 ”按钮,产生 10个随机整数,并显示在 Picture1图片框的第 1行; 2)在 Text1文本框中输入要清 0的第 1个数的位置,在 Text2文本框中输入要清 0的个数,然后单击 “清 0”按钮 ,则把清 0后的数据显示在图片框的下一行。如图所示。 其他约束: a)若输入的第 1个数位置大于10,则认为从第 10个数开始; b)若不输入第 1个数位置,则认为从第 1个数开始; c)若不输入清 0个数,则认为一直清 0到最后一个数; d)
5、若输入的清 0个数超出了最后 1个数,则清 0到最后一个数为止。 在窗体文件中已经给出了全部控件,但程序不完整,要求去掉程序中的注释符,把程序中的 ?改为正确的内容。 注意:不能修改程序中的其他部分和控件的属性。最后把修改后的文件按原文件名存盘。 三、综合应用题 3 在考生文件夹中有 一个工程文件 sjt5 Vbp。窗体外观如图所示。运行程序,单击 “读数据 ”按钮,读人文件中的数据到字符串变量中并显示在 Label2标签中。单击 “排序 ”命令按钮时,对读入的数据从小到大进行排序,并将排序结果在窗体的Label4控件中显示。 要求:工程文件中已给出部分程序, “读数据 ”命令按钮的事件过程不
6、完整,请去掉程序中的注释符,把程序中的 ?改为正确的内容。请编写 “排序 ”命令按钮的事件过程中的部分程序代码。 注意:不能修改程序的其他部分和控件属性,最后将修改后的文件按原文件名进行存盘。程序调试通过后,两个命令按钮 的事件过程必须至少各执行一次。国家二级 VB机试(上机操作)模拟试卷 316答案与解析 一、基本操作题 1 【正确答案】 (1) 【操作步骤】 步骤 1:新建一个窗体,按照题目要求建立控件并设置相应属性,程序中用到的控件及属性如表 3 16所示。步骤 2:打开代码编辑窗口,在指定位置编写如下代码。 Private Sub Command1_Click() Forml Prin
7、t Text1 Text ”,现年 ” Text2 Text ”岁 ” End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 (2) 【操作步骤】 步骤 1:新建一个窗体,添加控件并设置相应的属性。程序中用到的控件及其属性见表 3 17。步骤 2:打开代码编辑窗口,在指定位置编写如下代码。 Private Sub Command1_Click() HScrol11 Max=1500设置滚动条的最大值、最小值、最大改变值、最小改变值 HScroll1 Min=100 HScroll1 LargeChanqe=100 HScroll1 SmallChange=10 End Sub
8、Private Sub HScroll1_Change() Picture1 Width=HSCroll1 Value将图片的width与滚动条的 Value保持一致 End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 二、简单应用题 2 【正确答案】 (1) 【操作 步骤】 步骤 1:打开本题项目工程。 步骤 2:打开代码编辑窗口,去掉程序中的注释符 “”,将问号改为正确的内容。 Private Sub Command1_Click() Dim k s$ For k=1 To(Listl ListCount一 1) 2 s$=List1 List(k) List1 List
9、(k)=List1 List(List1.ListCount-k) List1 List(List1 ListCountk)=s Next End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 (2) 【操作步骤】 步骤 1:打开本题项目工程。 步骤 2:打开代码编辑窗口,去掉程序中的注释符 “”,将问号改为正确的内容。 Option Base 1 Dim a(10)As Integer Private Sub Commandl_Click() Randomize For k=1 To 10 a(k)=Int(Rnd*99)+1 Picture1.Print a(k); Nex
10、t k Picture1 Print End Sub Private Sub Command2_Click() Dim start As Integer, n As Integer start=Val(Text1 Text) If start=0 Then start=1 End If If start 10 Then start=10 End If If Text2 Text=”Then n=10一 start+1 Else n=Val(Text2 Text) End If If start+n 11 Then n=10一 start+1 End If For k=start To star
11、t+n-1 a(k)=0 Next k For k=1 To 10 Picture1 Print a(k); Next k End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 三、综合应用题 3 【正确答案】 【操作步骤】 步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口,在代码编辑窗口指定位置编写以下代码。 For i=1 To 10循环比较大小实现排序 f=True设置标签 For j=1 To 9 If a(j) a(j+1)Then相邻两数比较将最小值放前面 t=a(j) a(j)=a(j+1) a(j+1)=t f=False当有交换就置标签为假 End If Next j If f Then如果上次循环没有交换数据,则证明序列已排序好,则 f为真退出循环 Exit For End If Next i 步骤 3:调试并运行程序,关闭程序后按题目要求存盘,如图 3 34。