1、国家二级 VB 机试(上机操作)-试卷 23 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)在名称为 Form1、标题为“球类项目没有最大化和最小化按钮的窗体上画 1 个名称为 Combo1 的组合框。组合框中的文本内容为空,表项内容有“乒乓球”、“羽毛球”和“网球”3 项。运行后的窗体如图所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1vbp,窗体文件名为 sjt1frm。(2)在名称为 Form1、标题为“转换”的窗体上,画 1 个名称为 Shape1、边框宽度为 3 的形状。再画两个标题分别为“椭园”和“圆”的命
2、令按钮。如下图所示。 要求:编写适当的事件过程,使得单击“椭圆”按钮时,Shape1 的形状变换为椭圆;单击“圆”按钮时,Shape1 的形状变换为圆。程序中不得使用变量,每个事件过程中只能写一条语句。 注意:存盘时必须存放在考生文件夹下,工程文件名为sjt2vbp,窗体文件名为 st2frm。 (分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有一个工程文件 sjt3vbp。窗体 Form1 上有两个标题分别是“读数据”和“查找”的命令按钮。请画 1 个名称为 Text1、初始值为空的文木框,该文本框允许显示多行内容,且有垂直滚动条,如图所示。程序功能如
3、下。 在考生文件夹下的 in3dat 文件中存有 100 个正整数。单击“读数据”按钮,则将文件 in3dat 中的数据读入数组 a 中。 单击“查找”按钮,则查找数组 a 中所有为 7 的倍数的数据,并将这些数据顺次显示在 Text1 文本框内(数据之间用空格隔开)。“读数据”按钮的 Click 事件过程已经给出,请编写程序完成“查找”按钮的 Click 事件过程,实现上述功能。 注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行之前,必须使用“查找”按钮完成查找过干旱,上土必须用窗体右上角的关闭按钮结束程序,否则无成绩。最后将程序按原文件名存盘。 (2)考生文件夹下有一个工程
4、文件 sjt4vbp。在窗体 Forml 上有两个名称为 Command1 和 Command2、标题分别为“重输”和“查找”的命令按钮。程序功能如下。 单击“重输”按钮,则清空 Text1 中的内容,等待用户输入由空格隔开的若干个英文单词;单击“查找”按钮,则找出 Txt1 中最长的单词,并将其显示在Text2 中。某一次的运行效果如图所示。请将“查找”按钮的 Click 事件过程中的注释符去掉,把?改为正确内容,以实现上述程序功能。 注意:考生不得修改窗体文件中已经存在的控件和程序,最后将程序按原文件名存盘。 (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.考生文件夹下
5、有一个工程文件 sjt5vbp。在窗体 Form1 上有两个标题分别是“产生数据”和“重新排列”的命令按钮,有两个标题为“原始数据”和“排列数据”的标签。程序功能如下。 单击“产生数据”按钮,则随机产生 20 个一位整数,存入数组 a 中,并同时显示在 Text1 中。 单击“重新排列”按钮,则重新排列数组 a 中的元素:使等值的元素相邻存放,并且保持它们在数组 a 中首次出现的相对次序;最后将排列结果显示在 Text2 中。某一次运行结果如图所示。 请将“审新排列”按钳的 Click 事件过程中的注释符去掉,把“?”改为正确内容,以实现上述程序功能。 注意:考生不得修改窗体文件中已经存在的控
6、件和程序,最后程序按原文件名存盘。 (分数:2.00)_国家二级 VB 机试(上机操作)-试卷 23 答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)在名称为 Form1、标题为“球类项目没有最大化和最小化按钮的窗体上画 1 个名称为 Combo1 的组合框。组合框中的文本内容为空,表项内容有“乒乓球”、“羽毛球”和“网球”3 项。运行后的窗体如图所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1vbp,窗体文件名为 sjt1frm。(2)在名称为 Form1、标题为“转换”的窗体上,画 1 个名称为 Shape1、边框宽度
7、为 3 的形状。再画两个标题分别为“椭园”和“圆”的命令按钮。如下图所示。 要求:编写适当的事件过程,使得单击“椭圆”按钮时,Shape1 的形状变换为椭圆;单击“圆”按钮时,Shape1 的形状变换为圆。程序中不得使用变量,每个事件过程中只能写一条语句。 注意:存盘时必须存放在考生文件夹下,工程文件名为sjt2vbp,窗体文件名为 st2frm。 (分数:2.00)_正确答案:(正确答案:(1)【操作步骤】 步骤 1:新建一个空白窗体,设置窗体的属性,属性设置如表45 所示。 步骤 2:添加一个组合框控件,设置控件的属性,属性设置如表 46 所示。 完成设置后界面效果如图 43 所示。 步骤
8、 3:调试并运行程序,关闭程序后按题目要求存盘。 (2)【操作步骤】 步骤 1:新建一个空白窗体,设置窗体的属性,属性设置如表 47 所示。 步骤 2:向窗体中添加一个形状控件和两个命令按钮,设置好控件的属性值,属性设置如表 48 所示。 步骤 3:双击“椭圆”按钮,打开代码编辑窗口,在代码编辑窗口指定位置编写以下代码。 参考答案 Private Sub Command1_Click() ShapelShape2 End Sub 步骤 4:双击“圆”按钮,打开代码编辑窗口,在代码编辑窗口指定位置编写以下代码。 PriVate Sub Command2_Click() ShapelShape3
9、End Sub 步骤5:调试并运行程序,单击“椭圆”按钮,如图 44 所示,单击“圆”按钮,如图 45 所示,关闭程序后按题目要求存盘。 )解析:二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有一个工程文件 sjt3vbp。窗体 Form1 上有两个标题分别是“读数据”和“查找”的命令按钮。请画 1 个名称为 Text1、初始值为空的文木框,该文本框允许显示多行内容,且有垂直滚动条,如图所示。程序功能如下。 在考生文件夹下的 in3dat 文件中存有 100 个正整数。单击“读数据”按钮,则将文件 in3dat 中的数据读入数组 a 中。 单击“查找”按钮,则查找数组 a
10、 中所有为 7 的倍数的数据,并将这些数据顺次显示在 Text1 文本框内(数据之间用空格隔开)。“读数据”按钮的 Click 事件过程已经给出,请编写程序完成“查找”按钮的 Click 事件过程,实现上述功能。 注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行之前,必须使用“查找”按钮完成查找过干旱,上土必须用窗体右上角的关闭按钮结束程序,否则无成绩。最后将程序按原文件名存盘。 (2)考生文件夹下有一个工程文件 sjt4vbp。在窗体 Forml 上有两个名称为 Command1 和 Command2、标题分别为“重输”和“查找”的命令按钮。程序功能如下。 单击“重输”按钮,
11、则清空 Text1 中的内容,等待用户输入由空格隔开的若干个英文单词;单击“查找”按钮,则找出 Txt1 中最长的单词,并将其显示在Text2 中。某一次的运行效果如图所示。请将“查找”按钮的 Click 事件过程中的注释符去掉,把?改为正确内容,以实现上述程序功能。 注意:考生不得修改窗体文件中已经存在的控件和程序,最后将程序按原文件名存盘。 (分数:2.00)_正确答案:(正确答案:(1)【操作步骤】 步骤 1:打开本题项目工程。 步骤 2:存窗体中添加一个文本框控件,控件属性的设置如表 49 所示。 步骤 3:打开代码编辑窗口,在程序代码区域编写如下代码。 参考答案 Private Su
12、b Command2_Click() Dim i As Integer Dim str As String str“ For i1 To 100 If a(i) Mod70 Then strstr&a(i)&“ End If Next i Text1Textstr End Sub 步骤 4:调试并运行程序,单击“读数据”按钮,如图 46 所示,单击“查找”按钮,如图 47 所示,关闭程序后按题目要求存盘。 )解析:三、综合应用题(总题数:1,分数:2.00)3.考生文件夹下有一个工程文件 sjt5vbp。在窗体 Form1 上有两个标题分别是“产生数据”和“重新排列”的命令按钮,有两个标题为“
13、原始数据”和“排列数据”的标签。程序功能如下。 单击“产生数据”按钮,则随机产生 20 个一位整数,存入数组 a 中,并同时显示在 Text1 中。 单击“重新排列”按钮,则重新排列数组 a 中的元素:使等值的元素相邻存放,并且保持它们在数组 a 中首次出现的相对次序;最后将排列结果显示在 Text2 中。某一次运行结果如图所示。 请将“审新排列”按钳的 Click 事件过程中的注释符去掉,把“?”改为正确内容,以实现上述程序功能。 注意:考生不得修改窗体文件中已经存在的控件和程序,最后程序按原文件名存盘。 (分数:2.00)_正确答案:(正确答案:【操作步骤】 步骤 1:打开本题项目工程。
14、步骤 2:打开代码编辑窗口,去掉程序中的注释符“”,将问号改为正确的内容。 参考答案 Private Sub Command2_Click() i1 Do While i20 For ji1 To 20 If a(i)a(j)Then xa(j) ii1 For kj To i1 Step1本循环把下标为 i 到 j1 的元素向后移一个位置 a(k)a(k1) Next k a(i)x End If Next j ii1 Loop Text2Text“” For i1 To 20 Text2TextText2TextStr(a(i) Next i End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。)解析: