1、国家二级 VB机试(上机操作)模拟试卷 345及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)在名称为 Form1、标题为“电影制作”的窗体上画 1个名称为 Cmb1、初始内容为空的下拉式组合框(可以输入文本)。下拉列表中有“音频效果”、“视频效果”和“视频过渡“3 个表项内容。运行后的窗体如图 351 所示。 注意:存盘时,将文件保存至考生文件夹下,且窗体文件名为 sjtlfrm,工程文件名为 sjtlvbp。 (2)在名称为 Form1、标题为“椭圆练习”的窗体上,画 1个名称为 Shape1的椭圆,其高为 800、宽为 1200、左
2、边距为 1000。椭圆的边框是宽度为 5的蓝色(&H00C00000&)实线,椭圆填充色为黄色(&H0000FFFF&)。再画 2个名称为 Command1和 Command2、标题为“左移”和“右移”的命令按钮。如图 352 所示。 要求:编写 2个按钮的 Click事件过程,使得每单击“左移”按钮一次,椭圆向左移动 100;每单击“右移”按钮一次,椭圆向右移动 100。要求程序中不得使用变量,每个事件过程中只能写一条语句。 注意:存盘时,将文件保存至考生文件夹下,窗体文件名为 sjt2frm,工程文件名为sjt2vbp。 (分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.
3、(1)考生文件夹中有工程文件 sjt3vbp。程序运行时,单击窗体,则开始每隔 5秒钟在文本框中显示一次当前时间,文本框中文字的颜色每隔 8秒在红色(颜色值为&HFF)与黑色(颜色值为 0)之间切换。在给出的窗体文件中已经有了全部控件,但程序不完整。 要求:去掉程序中的注释符,把程序中的“?”改为正确的内容。 注意:考生不得修改窗体文件中已经存在的程序。最后,程序按原文件名存盘。 (2)在考生目录下有一个工程文件 sjt4vbp。程序的功能是,单击“产生随机数”按钮可以产生 10个随机数放到数组中并显示在图片框中,在文本框中输入一个小于 10的正整数 m,单击“移动数据”按钮,可以把数组中的前
4、 m个数据移动到后面去,并显示在图片框中。如图 339 所示。 在给出的窗体文件中已经有了全部控件,但程序不完整。 要求:去掉程序中的注释符,把程序中的“?”改为正确的内容。最后把修改后的文件按原文件名存盘。 (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sjt5vbp,窗体如图 382 所示。运行程序时,从数据文件中读取学生的成绩(均为整数)。要求编写程序,统计总人数,并统计不及格、6069、7079、8089 及 90100各分数段的人数,将统计结果显示在相应的文本框中。结束程序之前,必须单击“保存”按钮,保存统计结果。 注意:不能修改程
5、序的其他部分和控件属性。程序调试通过后,运行程序,将统计结果显示在文本框中,再按“保存”按钮保存数据,否则无成绩。最后把修改后的文件按原文件名存盘。 (分数:2.00)_国家二级 VB机试(上机操作)模拟试卷 345答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)在名称为 Form1、标题为“电影制作”的窗体上画 1个名称为 Cmb1、初始内容为空的下拉式组合框(可以输入文本)。下拉列表中有“音频效果”、“视频效果”和“视频过渡“3 个表项内容。运行后的窗体如图 351 所示。 注意:存盘时,将文件保存至考生文件夹下,且窗体文件名为 sjt
6、lfrm,工程文件名为 sjtlvbp。 (2)在名称为 Form1、标题为“椭圆练习”的窗体上,画 1个名称为 Shape1的椭圆,其高为 800、宽为 1200、左边距为 1000。椭圆的边框是宽度为 5的蓝色(&H00C00000&)实线,椭圆填充色为黄色(&H0000FFFF&)。再画 2个名称为 Command1和 Command2、标题为“左移”和“右移”的命令按钮。如图 352 所示。 要求:编写 2个按钮的 Click事件过程,使得每单击“左移”按钮一次,椭圆向左移动 100;每单击“右移”按钮一次,椭圆向右移动 100。要求程序中不得使用变量,每个事件过程中只能写一条语句。
7、注意:存盘时,将文件保存至考生文件夹下,窗体文件名为 sjt2frm,工程文件名为sjt2vbp。 (分数:2.00)_正确答案:(正确答案:(1)步骤 1:新建一个“标准 EXE”工程,按表 432 在窗体中画出控件并设置其相关属性。 步骤 2:按要求将文件保存至考生文件夹中。 (2)步骤 1:新建一个“标准 EXE”工程,按表 4-33在窗体中画出控件并设置其相关属性。 )解析:解析:(1)本题只需按照要求画出控件并设置相应属性即可。 (2)形状控件的 Shape属性用于设置其显示形状,当值为 2时为椭圆;BorderStyle 属性用于控制边框的样式,BorderWidth 属性用于控制
8、边框的宽度。BorderColor 属性控制边框的颜色,FillColor 用于控制形状内部的填充色。二、简单应用题(总题数:1,分数:2.00)2.(1)考生文件夹中有工程文件 sjt3vbp。程序运行时,单击窗体,则开始每隔 5秒钟在文本框中显示一次当前时间,文本框中文字的颜色每隔 8秒在红色(颜色值为&HFF)与黑色(颜色值为 0)之间切换。在给出的窗体文件中已经有了全部控件,但程序不完整。 要求:去掉程序中的注释符,把程序中的“?”改为正确的内容。 注意:考生不得修改窗体文件中已经存在的程序。最后,程序按原文件名存盘。 (2)在考生目录下有一个工程文件 sjt4vbp。程序的功能是,单
9、击“产生随机数”按钮可以产生 10个随机数放到数组中并显示在图片框中,在文本框中输入一个小于 10的正整数 m,单击“移动数据”按钮,可以把数组中的前 m个数据移动到后面去,并显示在图片框中。如图 339 所示。 在给出的窗体文件中已经有了全部控件,但程序不完整。 要求:去掉程序中的注释符,把程序中的“?”改为正确的内容。最后把修改后的文件按原文件名存盘。 (分数:2.00)_正确答案:(正确答案:(1)步骤 1:打开考生文件夹中的本题工程文件 sjt3vbp,在代码编辑窗口中,去掉程序中的注释符“”,将问号“?”改为正确的内容。参考代码: TimerlEnabled=True TimerlI
10、nterval=1000 n=n+1 If Text1ForeColor=0 Then 步骤 2:按要求将文件保存至考生文件夹中。 (2)步骤 1:打开考生文件夹中的本题工程文件 sjt4vbp,在代码编辑窗口中,去掉程序中的注释符“”,将问号“?”改为正确的内容。参考代码: MoveArray a(),m For k=1 To m a(j) =a(j + 1) a(n) =x 步骤 2:按要求将文件保存至考生文件夹中。)解析:解析:(1)题目要求 5秒显示一次当前时间,8 秒改变一次颜色,但是程序中之使用了一个定时器,因此必须在这个定时器里面做两个事情:刷新时间和改变颜色。分析代码,根据“I
11、f n Mod 5=0 Then”和“If n Mod8=0 Then”可知,定时器的周期为 1秒;题目要求在单击窗体时开始更新时间和改变颜色,因此在窗体的 Click事件代码里面需要使能定时器,即把定时器的 Enabled属性设置为 True;在定时器的 Timer事件代码里面,根据 n的值去显示时间和改变颜色,因此 n记录了程序运行了多少秒,即每次Timer事件处理 n的值应该加 1;第四个“?”处是判断文本框当前的颜色,如果是 0则改变成&HFF,否则改成 0,实现颜色的切换。 (2)题目要求对一列数据进行移动,分析程序可知,在“产生随机数”命令按钮的事件代码里面,生成的随机数保存在数组
12、 a当中。在“移动数据”命令按钮的事件代码里面,调用过程 MoveArray对数组数据进行移动。MoveArray 过程通过一个嵌套的循环来移动数组数据,移动的方法是每次取出第一个数据,然后把后面的数据往前移动,再把取出来的第一个数据放到最后,如此完成一个数据的移动。第一个“?”处是补充函数调用的参数,MoveArray 过程有两个参数,第一个参数是数组,第二个参数是 Integer类型参数,表示把前面多少个数据移动到后面,即第二个参数为 m;第二个“?”处是补充循环的结束条件,内层循环是从把数据往前面移动,因此外层循环是控制前面移出多少个数据,即循环的次数由入参 m决定;第三个“?”处的循环
13、把数据从后往前移,即把后面的一个数据赋值给前面一个,完成一格移动;最后一个“?”处是把取出来的 a(1)放到最后一个元素位置。三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sjt5vbp,窗体如图 382 所示。运行程序时,从数据文件中读取学生的成绩(均为整数)。要求编写程序,统计总人数,并统计不及格、6069、7079、8089 及 90100各分数段的人数,将统计结果显示在相应的文本框中。结束程序之前,必须单击“保存”按钮,保存统计结果。 注意:不能修改程序的其他部分和控件属性。程序调试通过后,运行程序,将统计结果显示在文本框中,再按“保存”按钮保存数据,否
14、则无成绩。最后把修改后的文件按原文件名存盘。 (分数:2.00)_正确答案:(正确答案:步骤 1:打开考生文件夹中的本题工程文件 sjt5vbp,在代码编辑窗口的指定位置编写以下代码。参考代码: Text1Text=n Countl=0:count2=0:count3=0 count4=0:count5=0:count6=0 For i=1 To n Y=Int(arr(i)10) Select Case Y Case 1,2,3,4,5 count1=count1+1 Case 6 count2=Count2+1 Case 7 count3=count3+1 Case 8 Count4=co
15、unt4+1 Case 9,10 COUrtt5=count5+1 End Select Next Text2Text=countl :Text3Text= Count2 Text4Text=count3 :Text5Text= count4 Text6Text=count5 步骤 2:按F5键运行程序,先单击“统计”按钮,再单击“保存”按钮。 步骤 3:按要求将文件保存至考生文件夹中。)解析:解析:本题要求编写“统计”按钮的单击事件过程。程序设计思路:在一个 For循环中逐一取出存于数组 arr中的各学生成绩,用 Select Case语句对取出的某学生成绩进行判断,根据成绩所属情况,使对应文本框中的数增 1。