1、国家二级 VB机试(上机操作)模拟试卷 283及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请根据以下各小题的要求设计 Visual Basic应用程序(包括界面和代码)。(1)在名称为 Form1、标题为“电影制作”的窗体上画 1个名称为 Cmb1、初始内容为空的下拉式组合框(可以输入文本)。下拉列表中有“音频效果”、“视频效果”和“视频过渡”3 个表项内容。运行后的窗体如图 351所示。注意:存盘时,将文件保存至考生文件夹下,且窗体文件名为 sjt1frm,工程文件名为 sjt1vbp。(2)在名称为Form1、标题为“椭圆练习”的窗体上
2、,画 1个名称为 Shape1的椭圆,其高为 800、宽为 1200、左边距为1000。椭圆的边框是宽度为 5的蓝色(&H00C00000&)实线,椭圆填充色为黄色(&H0000FFFF&)。再画 2个名称为 Command1和 Command2、标题为“左移”和“右移”的命令按钮。如图 352所示。要求:编写 2个按钮的 Click事件过程,使得每单击“左移”按钮一次,椭圆向左移动 100;每单击“右移”按钮一次,椭圆向右移动 100。要求程序中不得使用变量,每个事件过程中只能写一条语句。注意:存盘时,将文件保存至考生文件夹下,窗体文件名为 sjjt2frm,工程文件名为 sjt2vbp。
3、(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有一个工程文件 sjt3vbp,其窗体中有一个红色方框和一个计时器控件。程序运行时每隔 05 秒,方框的颜色交替变为黄色和红色(黄色值为&HFFFF&;红色值为&HFF&);若单击鼠标右键,则停止变色;若单击鼠标左键,则方框左上角移到鼠标点击的位置处(如图 353所示)。请将事件过程中的注释符去掉,把“?”改为正确的内容,以实现上述程序功能。注意:考生不得修改窗体文件中已经存在的控件和程序,最后将程序按原文件名存盘。(2)在考生文件夹下有一个工程文件 sjt4vbp,其窗口上有 2个名称分别为 Comman
4、d1和 Command2,标题分别为“开始查找”和“重新输入”的命令按钮;有 2个名称分别为 Text1和 Text2、初始值均为空的文本框。1)在 Text1文本框中输入仅含字母和空格(空格用于分隔不同的单词)的字符串后,单击“开始查找”按钮,则可以将输入字符串中最长的单词显示在 Text2文本框中,如图 354所示。2)单击“重新输入”按钮,则清除 Text1和 Text2中的内容,并将焦点设置在 Text1文本框中,为下一次输入做好准备。请将“开始查找”命令按钮 Click事件过程中的注释符去掉,把“?”改为正确内容,以实现上述程序功能。注意:考生不得修改窗体文件中已经存在的控件和程序。
5、最后,程序按原文件名存盘。 (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sit5vbp,窗口有 2个名称分别为 Command1和 Command2、标题分别为“读数据”和“排序”的命令按钮,有 2个标题分别为“数组 A”和“数组 B”的标签。请将窗体标题设置为“完全平方数排序”;再画 2个名称分别为 Text1和 Text2、初始内容都为空的文本框,并且可多行显示,有垂直滚动条,如图 355所示。程序功能如下: 1)单击“读数据”按钮,则把考生文件夹下in5dat 文件中的 100个正整数读入数组 A,并将它们显示在 Text1文本框中。
6、 2)单击“排序”按钮,则首先将这 100个数中的所有完全平方数放入数组 B中,并将它们按降序排列显示在 Text2文本框中。 提示:一个整数若是另一个整数的平方,那么它就是完全平方数。如 144=12 2 ,所以 144就是一个完全平方数。 (分数:2.00)_国家二级 VB机试(上机操作)模拟试卷 283答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请根据以下各小题的要求设计 Visual Basic应用程序(包括界面和代码)。(1)在名称为 Form1、标题为“电影制作”的窗体上画 1个名称为 Cmb1、初始内容为空的下拉式组合框(可以输
7、入文本)。下拉列表中有“音频效果”、“视频效果”和“视频过渡”3 个表项内容。运行后的窗体如图 351所示。注意:存盘时,将文件保存至考生文件夹下,且窗体文件名为 sjt1frm,工程文件名为 sjt1vbp。(2)在名称为Form1、标题为“椭圆练习”的窗体上,画 1个名称为 Shape1的椭圆,其高为 800、宽为 1200、左边距为1000。椭圆的边框是宽度为 5的蓝色(&H00C00000&)实线,椭圆填充色为黄色(&H0000FFFF&)。再画 2个名称为 Command1和 Command2、标题为“左移”和“右移”的命令按钮。如图 352所示。要求:编写 2个按钮的 Click事
8、件过程,使得每单击“左移”按钮一次,椭圆向左移动 100;每单击“右移”按钮一次,椭圆向右移动 100。要求程序中不得使用变量,每个事件过程中只能写一条语句。注意:存盘时,将文件保存至考生文件夹下,窗体文件名为 sjjt2frm,工程文件名为 sjt2vbp。 (分数:2.00)_正确答案:(正确答案:第 1小题 步骤 1:新建一个“标准 EXE”工程,按表 432在窗体中画出控件并设置其相关属性。 步骤 2:按要求将文件保存至考生文件夹中。 第 2小题 步骤 1:新建一个“标准 EXE”工程,按表 433在窗体中画出控件并设置其相关属性。 )解析:解析:第 1小题:本题只需按照要求画出控件并
9、设置相应属性即可。 第 2小题:形状控件的Shape属性用于设置其显示形状,当值为 2时为椭圆;BorderStyle 属性用于控制边框的样式,BorderWidth属性用于控制边框的宽度。BorderColor 属性控制边框的颜色,FillColor 用于控制形状内部的填充色。二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有一个工程文件 sjt3vbp,其窗体中有一个红色方框和一个计时器控件。程序运行时每隔 05 秒,方框的颜色交替变为黄色和红色(黄色值为&HFFFF&;红色值为&HFF&);若单击鼠标右键,则停止变色;若单击鼠标左键,则方框左上角移到鼠标点击的位置处(
10、如图 353所示)。请将事件过程中的注释符去掉,把“?”改为正确的内容,以实现上述程序功能。注意:考生不得修改窗体文件中已经存在的控件和程序,最后将程序按原文件名存盘。(2)在考生文件夹下有一个工程文件 sjt4vbp,其窗口上有 2个名称分别为 Command1和 Command2,标题分别为“开始查找”和“重新输入”的命令按钮;有 2个名称分别为 Text1和 Text2、初始值均为空的文本框。1)在 Text1文本框中输入仅含字母和空格(空格用于分隔不同的单词)的字符串后,单击“开始查找”按钮,则可以将输入字符串中最长的单词显示在 Text2文本框中,如图 354所示。2)单击“重新输入
11、”按钮,则清除 Text1和 Text2中的内容,并将焦点设置在 Text1文本框中,为下一次输入做好准备。请将“开始查找”命令按钮 Click事件过程中的注释符去掉,把“?”改为正确内容,以实现上述程序功能。注意:考生不得修改窗体文件中已经存在的控件和程序。最后,程序按原文件名存盘。 (分数:2.00)_正确答案:(正确答案:第 1小题 步骤 1:打开考生文件下的本题工程文件 sjt3vbp,在代码编辑窗口中,去掉程序中的注释符“”,将问号“?”改为正确的内容。 参考代码: Timer1Interval=500 Shape1Left=X Shape1Top=Y Timer1Enabled=F
12、alse If Shape1BackColor=vbRed Then 步骤 2:按要求将文件保存至考生文件夹中。 第 2小题 步骤 1:打开考生文件下的本题工程文件 sjt4vbp,在代码编辑窗口中,去掉程序中的注释符“”,将问号“?”改为正确的内容。 参考代码: word_s=s s=Mid(s,m+1) If nLen(word_s)Then Text2Text=Word_max 步骤 2:按要求将文件保存在考生文件夹中。)解析:解析:第 1小题鼠标事件分点击事件和状态事件:点击事件有单击(Click)和双击(DblClick),不区分左键、右键:状态事件有按下(MouseDown)、移动
13、(MouseMove)和弹起(MouseUp),能够区分出鼠标的左键、右键和中间键。按下鼠标键事件过程的一般格式为: Private Sub Form_MouseDown(Buaon As Integer,Shift As Integer,X As Single,Y As Single) End Sub 其中各参数的含义:Button 表示被按下的鼠标键,可以取 3个值,1 为左键、2 为右键、4 为中间键;Shift 表示 Shift键、Ctrl 键和 Alt键的状态,Shift 键为 1、Ctrl 键为 2、Alt 键为 4;X,Y 表示鼠标光标的当前位置。本题在计时器的Timer事件过程
14、中,完成方框的颜色交替,因此在 Timer事件中应该是一个选择语句,如果颜色为红色(vbred),将其设置为黄色,否则设置为红色。由于要求 05 秒交替显示一次,因此计时器的 Interval属性应该设置为 500。 在窗体的 MouseDown事件中,首先要判断按下的是鼠标的哪个键,如果是左键,则令形状的 Left和 Top属性分别为鼠标事件的参数 X和 Y;如果是右键,则令计时器停止工作。 第 2小题:本题源程序在“开始查找”按钮的 Click事件过程中,先检验文本框 Text1(已赋值给变量 s)中是否读入数据,并用 InStr函数检查空格的位置,以空格为单词分隔依据找出每个单词。每找到
15、一个单词,就将该单词使用 Left函数在 s中分离出来,然后将 s中的这个单词去掉,判断单词的长度并且和预存的最长单词长度相比较,若其比最长单词还长,则这个单词的长度成为新的最长单词长度,这个单浏成为新的最长单词。循环结束后即可得出最长的单词。三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sit5vbp,窗口有 2个名称分别为 Command1和 Command2、标题分别为“读数据”和“排序”的命令按钮,有 2个标题分别为“数组 A”和“数组 B”的标签。请将窗体标题设置为“完全平方数排序”;再画 2个名称分别为 Text1和 Text2、初始内容都为空的文本
16、框,并且可多行显示,有垂直滚动条,如图 355所示。程序功能如下: 1)单击“读数据”按钮,则把考生文件夹下in5dat 文件中的 100个正整数读入数组 A,并将它们显示在 Text1文本框中。 2)单击“排序”按钮,则首先将这 100个数中的所有完全平方数放入数组 B中,并将它们按降序排列显示在 Text2文本框中。 提示:一个整数若是另一个整数的平方,那么它就是完全平方数。如 144=12 2 ,所以 144就是一个完全平方数。 (分数:2.00)_正确答案:(正确答案:步骤 1:打开考生文件夹下的工程文件 sjt5vbp,在码编辑窗口的指定位置输入以下代码。 参考代码: 考生编写的代码
17、 n=0 For k=1To100 If a(k)0then d=Sqr(a(k) If Int(d)=d Then n=n+1:b(n)=a(k) End If End If Next 步骤 2:在代码编辑窗口中,去掉程序中的注释符“”,将问号“?”改为正确的内容。 参考代码: Call sort(b,n) 步骤 3:按F5键运行程序,单击“读数据”按钮,然后单击“排序”按钮,最后单击窗体右上角的关闭按钮结束程序。 步骤 4:按要求将文件保存至考生文件夹中。)解析:解析:程序设计思路:通过 For循环逐一取出数组 a中的 100个元素,依次判断每个元素是否是完伞平方数。判断完全平方数的过程只需要将该数组元素开甲方根以后取整,若其和数组元素开平方根的结果相等,则意味着该数组元素的平方根是一个整数,该数为完全平方数,将该数放入数组 b中。sort 过程的作用是将数组进行排序,该过程有两个参数,第一个参数为待排序的数组,第二个参数为要排序的元素个数,根据题意为数组 b排序的语句为 Call son(b,n)。