1、国家二级 VB机试(上机操作)模拟试卷 455及答案与解析 一、基本操作题 1 (1)在名称为 Form1的窗体上添加两个名称分别为 Frame1、 Frame2的框架,标题分别为 “字号 ”、 “修饰 ”;在 Frame1中添加两个单选按钮,名称分别为 Option1、Option2,标题分别为 “10号字 ”、 “20号字 ”,且标题显示在单选按钮的左边;在Frame2中添加一个名称为 Checkl的复选框,怀题为 “下划线 ”。程序运行后的窗体如图所示。注意:存盘时必须存放在考乍文件夹下,工程文件名保存为sjt1 vbp,窗体文件名 保存为 sjt1 frm。 (2)在名称为 Form1
2、的窗体上从上到下添加两个文本框,名称分别为 Text1、 Text2;再添加一个命令按钮,名称为 Command1,标题为 “选中字符数是 ”。程序运行时,在 Text1中输入若干字符,选中部分内容后,单击 “选中字符数是 ”按钮,则选中的字符个数显示在 Text2中 (如图所示 )。请编写按钮的 Click事件过程。 要求:程序中不得使用变量,事件过程中只能写一条语句。注意:存盘时必须存放在考生文件夹下,工程文件名保存为 sjt2 vbp,窗体文件名保存为 sjt2 frm。二、简单应用题 2 (1)在考生文件夹下有一个工程文件 sjt3 vbp。程序的功能是通过键盘输入正整数到文本框中。在
3、 “除数 ”框架中选择一个单选按钮,然后单击 “处理数据 ”命令按钮,将大于文本框中的正整数,并且能够被所选除数整除的 5个数添加到列表框List1中,如图所示。在窗体文件中已经给出了全部控件,但程序不完整。 要求:请去掉程序中的注释符,把程序中的 ?改为正确的内容,使其实现上述功能,但不能修改程序的其他部分和控件属性,最后将修改后的文件按原文件名进行存盘。(2)在考生文件夹下有一个工程文件 sjt4 vbp。程序运行后,单击 “开始 ”按钮,图片自上而下移动,同时滚动条的滑块随之移动。每隔 0 5秒移动一次,当图片顶端移动到距窗体下边界的距离少于 200时,则再回到窗体的顶部,重新向下移动,
4、如图所示。在窗体文件中已经给出了全部控件,但程序不完整。 要求:请去掉程序中的注释符,把程序中的 ?改为正确的内容,使其实现上述功能,但不能修改程序的其他部分和控件属性,最后将修改后的文件按原文件名进行存盘。 三、综合应用题 3 在考生文件夹中有一个工程文件 sjt5 vbp。窗体外观如图所示。运行程序,单击“读数据 ”按 钮,读入文件中的数据到字符串变量中并显示在 Label2标签中。单击“排序 ”命令按钮时,对读入的数据从小到大进行排序,并将排序结果在窗体的Label4控件中显示。 要求:工程文件中已给出部分程序, “读数据 ”命令按钮的事件过程不完整,请去掉程序中的注释符,把程序中的 ?
5、改为正确的内容。请编写 “排序 ”命令按钮的事件过程中的部分程序代码。 注意:不能修改程序的其他部分和控件属性,最后将修改后的文件按原文件名进行存盘。程序调试通过后,两个命令按钮的事件过程必须至少各执行一次。 国家二级 VB机试(上机操作)模拟试卷 455答案与解析 一、基本操作题 1 【正确答案】 (1)步骤 1:建立界面,添加相应的控件并设置控件的属性。程序中的控件及属性见表 3 43。步骤 2:调试并运行程序,关闭程序后按题目要求存盘。 (2)步骤 l:建立界面,添加相应的控件并设置控件的属性。程序中涉及的控件及属性见表 3 44。步骤 2:打开代码编辑窗口,在指定位置编写如下代码。 参
6、考答案 PriVate sub Command1_Slick() Text2 =Text1 SelLength End Sub 步骤 3:调试并运行程序,关闭程序后按 题目要求存盘。 【试题解析】 (1)通过框架的 Name和 Caption属性设置框架的名称和标题,通过单选按钮的 Name和 Caption属性设置单选按钮的名称和标题,通过复选框的Name和 Caption属性设置复选框的名称和标题。 (2)SelLength属性用于返回设置选定的字符数,通过文本框的 Name和Caption属性设置文本框的名称和标题,通过命令按钮的 Name和 Caption属性设置命令按钮的名称和标题。
7、 二、简单应用题 2 【正确答案】 (1)步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口中,去掉程序中的注释符 “t”,将问号改为正确的内容。 参考答案 Private Sub Command1_Click() Dim y As Integer For i=0 To 2循环三个单选按钮 If Option1(i) Value=True Then当某个按钮被选 Y=Val(Optionl(i) Caption)提取按钮名并转换为数值 End If Next Call calc(y)调用子函数 End Sub Private Sub calc(y As Integer) ClearLis
8、t执行子函数 i=1 x=Val(Text1 Text)+1 Do While i=Form1 Height一 200 Then Picturel Top=0当图片顶端移动到距窗体下边界距离少于 200时,则图片重新向下移动 End If End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 【试题解析】 (1)calc()函数实现将大于文本框中的正整数,并且能 够被所选除数整除的 5个数添加到列表框 List1中,首先调用 ClearList()函数清空列表框,运用Val()函数使 Text1的值由字符转化为数值, Do While语句控制产生整数的个数为5个,通过 Mod(
9、)函数和 If语句判断是否能被所选数整除,并用列表框的AddItem方法,把能被整除的数添人列表框中。在 Command1_Click事件过程中,向文本框中输入正整数,并运用 Val(Optionl(i) Caption)语句提取单选按钮数组中所选的数值,再通过调用 calc()函数实现数据的处理过程。 (2)在 Command1_Click事件过程中, Timerl的 Enabled属性设置为 True,图片开始移动,在 Command2_Click事件过程中, Timerl的 Enabled属性设置为False,图片停止移动。窗体装入时 Timerl的 Interval属性设置为 500,
10、表示Timerl时间间隔为 0 5秒。在 Timerl_Timer事件过程中, Picturel的 Top属性值的改变使图片自上而下移动, VScroll1的 Value属性值等于 Picturel的 Top属性值,使滚动条的滑块随之移动。运用 If语句, 通过对 VScrolll的 Value属性值和 Form1的 Height属性值来判断图片顶端移动到距窗体的下边界的距离是否少于200,如果少于,则 Picturel的 Top属性值为 0,图片再回到窗体顶部,重新向下移动。 三、综合应用题 3 【正确答案】 步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口,在代码编辑窗口指定位置编
11、写以下代码。 参考答案 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当有交换就置标签为假 EndIf Next j If f Then如果上次循环没有交换数据,则证明序列已排序好,则 f为真退出循环 Exit For EndIf Next i 步骤 3:调试并运行程序,关闭程序后按题目要求存盘,如图 3 34。【试题解析】 在 “读数据 ”按钮的单击事件过程中,用 Open语句以 Input:方式打开数据文件 in5 txt,在 For循环语句和 Do While语句中用 Input#语句依次读出 10个值并赋值给数组元素 a(i)。在 “排序 ”按钮的单击事件过程中,利用 “冒泡法 ”对数组中的元素按从小到大进行排序。在 “排序 ”按钮的单击事件过程中,利用For循环语句逐一将数组中各元素按顺序显示在文本框中,最后通过调用过程Save将文本框中的内容写入数据文件 out5 txt。