1、国家二级 VB机试(上机操作)模拟试卷 297及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请根据以下各小题的要求设计 Visual Basic应用程序(包括界面和代码)。(1)在名称为 Form1、标题为“标签”的窗体上画一个名称为 Label1的标签,并设置适当属性以满足以下要求:标签的内容为“计算机等级考试”;标签可根据显示内容自动调整其大小;标签带有边框,且标签内容显示为三号字。运行后的窗体如图 3122所示。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1vbp,窗体文件名为 sjt1frm。(2)在名称为 Form1的窗
2、体上画一个名称为 Hscroll1的水平滚动条,其刻度范围为 1100;再画一个名称为。Text1 的文本框,初始内容为 1。程序开始运行时,焦点在滚动条上。请编写适当的事件过程,使得程序运行时,文本框中实时显示滚动框的当前位置。运行情况如图 3123所示。注意:要求程序中不得使用变量,每个事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为 sjt2vbp,窗体文件名为 sjt2frm。 (分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有一个工程文件 sjt3vbp。窗体上有名称为 Timer1的定时器,以及名称为 Line1和 Lin
3、e2的两条水平直线。请用名称为 Shape1的形状控件,在两条直线之间画一个宽和高都相等的形状,其显示形式为圆,并设置适当属性使其满足以下要求:圆的顶端距窗体 Form1顶端的距离为 360;圆的颜色为红色(红色对应的值为&H000000FF&或&HFF&),如图 3124所示。程序运行时,Shape1 将在Line1和 Line2之间运动。当 Shape1的顶端到达 Line1时,会自动改变方向而向下运动;当 Shape1的底部到达 Line2时,会改变方向而向上运动。文件中给出的程序不完整,请去掉程序中的注释符,把程序中的?改为正确内容,使其实现上述功能。 注意:不能修改程序的其他部分和已
4、给出控件的属性。最后将修改后的文件按原文件名存盘。(2)在考生文件夹下有一个工程文件 sjt4vbp,包含了所有控件和部分程序,如图 3125所示。程序功能如下:单击“读数据”按钮,可将考生文件夹下 in4dat 文件中的 100个整数读到数组 a中;单击“计算”按钮,则根据从名称为 Combo1的组合框中选中的项目,对数组 a中的数据计算平均值,并将计算结果四舍五入取整后显示在文本框 Text1中。“读数据”按钮的Click事件过程已经给出,请为“计算”按钮编写适当的事件过程实现上述功能。注意:不得修改已经存在的控件和程序,在结束程序运行之前,必须进行一次计算,且必须用窗体右上角的关闭按钮结
5、束程序,否则无成绩。最后,程序按原文件名存盘。 (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sjt5vbp,相应的窗体文件为 sjt5frm,此外还有一个名为dataintxt 的文本文件,其内容如下:32437658281298573142536475869713243546576879805937 程序运行后单击窗体,将把文件 dataintxt 中的数据输入到二维数组 Mat中,在窗体上按 5行、5 列的矩阵形式显示出来,然后交换矩阵第二列和第四列的数据,并在窗体上输出交换后的矩阵,如图 3126所示。在窗体的代码窗口中,已给出了部分
6、程序,这个程序不完整,请把它补充完整,并能正确运行。要求:去掉程序中的注释符,把程序中的?改为正确的内容(可以是多行),使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。 (分数:2.00)_国家二级 VB机试(上机操作)模拟试卷 297答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请根据以下各小题的要求设计 Visual Basic应用程序(包括界面和代码)。(1)在名称为 Form1、标题为“标签”的窗体上画一个名称为 Label1的标签,并设置适当属性以满足以下要求:标签的内容为“计算机等级考试”;标签可根据
7、显示内容自动调整其大小;标签带有边框,且标签内容显示为三号字。运行后的窗体如图 3122所示。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1vbp,窗体文件名为 sjt1frm。(2)在名称为 Form1的窗体上画一个名称为 Hscroll1的水平滚动条,其刻度范围为 1100;再画一个名称为。Text1 的文本框,初始内容为 1。程序开始运行时,焦点在滚动条上。请编写适当的事件过程,使得程序运行时,文本框中实时显示滚动框的当前位置。运行情况如图 3123所示。注意:要求程序中不得使用变量,每个事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为 sjt2vbp,窗
8、体文件名为 sjt2frm。 (分数:2.00)_正确答案:(正确答案:第 1小题 步骤 1:新建一个“标准 ExE”工程,在窗体 Form1中画一个标签,并设置它的相关属性,其属性和值如表 472所示。 步骤 2:按要求将文件保存至考生文件夹中。 第 2小题 步骤 1:新建一个“标准 EXE”工程,在窗体 Form1中画一个文本框和一个水平滚动条,在属性设置窗口中设置其相关属性,其属性及值如表 473所示。 )解析:解析:第 1小题:本题只需按要求画出控件并设置其相应属性即可。 第 2小题:根据题意,本题需在滚动条的 Change事件过程中编写在义本框中输出滚动条当前 Value值的语句。二
9、、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有一个工程文件 sjt3vbp。窗体上有名称为 Timer1的定时器,以及名称为 Line1和 Line2的两条水平直线。请用名称为 Shape1的形状控件,在两条直线之间画一个宽和高都相等的形状,其显示形式为圆,并设置适当属性使其满足以下要求:圆的顶端距窗体 Form1顶端的距离为 360;圆的颜色为红色(红色对应的值为&H000000FF&或&HFF&),如图 3124所示。程序运行时,Shape1 将在Line1和 Line2之间运动。当 Shape1的顶端到达 Line1时,会自动改变方向而向下运动;当 Shape1的底
10、部到达 Line2时,会改变方向而向上运动。文件中给出的程序不完整,请去掉程序中的注释符,把程序中的?改为正确内容,使其实现上述功能。 注意:不能修改程序的其他部分和已给出控件的属性。最后将修改后的文件按原文件名存盘。(2)在考生文件夹下有一个工程文件 sjt4vbp,包含了所有控件和部分程序,如图 3125所示。程序功能如下:单击“读数据”按钮,可将考生文件夹下 in4dat 文件中的 100个整数读到数组 a中;单击“计算”按钮,则根据从名称为 Combo1的组合框中选中的项目,对数组 a中的数据计算平均值,并将计算结果四舍五入取整后显示在文本框 Text1中。“读数据”按钮的Click事
11、件过程已经给出,请为“计算”按钮编写适当的事件过程实现上述功能。注意:不得修改已经存在的控件和程序,在结束程序运行之前,必须进行一次计算,且必须用窗体右上角的关闭按钮结束程序,否则无成绩。最后,程序按原文件名存盘。 (分数:2.00)_正确答案:(正确答案:第 1小题 步骤 1:打开考生文件下的本题工程文件 sjt3vbp,在窗体上两条水平直线间画一个形状控件,并如表 474设置其属性。 )解析:解析:第 1小题:本题在计时器的 Timer事件过程中,Shape1 每次上下移动的距离为 s(值为负向上移动,值为正向下移动,初值为-40),若 Shape1向上移动后其 Top属性值小于或等于 L
12、ine1的 Y1(或Y2)属性值,则 s取其相反数,Shape1 向下移动。若 Shape1向下移动后其 Top属性值与其 Width属性值之和大于或等于 Line2的 Y1(或 Y2)属性值,则 s再取其相反数,Shape1 向上移动。 窗体加载时,计时器启动,Shape1 开始在 Line1和 Line2之间运动。 第 2小题:本题源程序在“计算”按钮的单击事件过程中,逐一检查组合框中的列表项是否选中,将选中列表项的索引号作为判断依据,根据选中不同的项来调用不同的过程。过程 even用来求得数组中的偶数平均值,首先预设累加和变量 s=0以及计数器 n=0,然后通过一个执行 100次的 Fo
13、r循环来遍历整个数组,依次判断数组元素是否为偶数,若是偶数则将其加入累加变量 s中以及令计数器加 1,循环结束后用累加和除以计数器即得到平均值。同理编写 odd过程用来求得数组中奇数的平均值,al1 过程用来求得数组中所有数的平均值。三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sjt5vbp,相应的窗体文件为 sjt5frm,此外还有一个名为dataintxt 的文本文件,其内容如下:32437658281298573142536475869713243546576879805937 程序运行后单击窗体,将把文件 dataintxt 中的数据输入到二维数组 M
14、at中,在窗体上按 5行、5 列的矩阵形式显示出来,然后交换矩阵第二列和第四列的数据,并在窗体上输出交换后的矩阵,如图 3126所示。在窗体的代码窗口中,已给出了部分程序,这个程序不完整,请把它补充完整,并能正确运行。要求:去掉程序中的注释符,把程序中的?改为正确的内容(可以是多行),使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。 (分数:2.00)_正确答案:(正确答案:步骤 1:打开本题对应工程文件 sjt5vbp。 步骤 2:打开代码编辑窗口,去掉程序中的注释符“”,将问号“?”改为正确的内容。 参考代码: Dim Mat(M,N)As Integer
15、Open AppPath&“&“dataintxt“For Input As#1 nput#1,Mat(i,j) Mat(i,4)=t 步骤 3:按要求将文件保存在考生文件夹中。)解析:解析:本题源程序的大致设计思路是:程序运行后单击窗体,则打开数据文件 dataintxt 并从中读取数据,并依次存入二维数组 Mat(下界为 1,上界为 5)的各元素中,故第一个?处是定义数组,应改为:Mat(M,N)As Integer;第二个?处是指明打开文件的方式,应改为:For Input;第三个?处是将数据文件中的数据读入并赋值给数组元素,应改为:Input#1,Mat(i,i);然后用一个嵌套的 For循环将数组 Mat中的数据在窗体上按 5行、5 列的矩阵形式显示出来,接着再用一个 For循环将数组 Mat中第 2维下标为2和第 2维下标为 4的元素对应(即第 1维下标一致)交换值,交换值时引入一个中间变量 t,故第 4个?处是将中间变量 t的值赋给数组元素 Mat(i,4),应改为:Mat(i,4)=t。最后将交换后的数组 Mat中的数据,再按 5行、5 列的矩阵形式在窗体上显示出来。