1、国家二级 VB机试(上机操作)模拟试卷 344及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)在名称为 Form1、标题为“鼠标光标形状”的窗体上画一个名称为 Text1的文本框。请通过属性窗口设置适当属性,使得程序运行时,鼠标在文本框中时,鼠标光标为箭头(Arrow)形状;在窗体中其他位置处,鼠标光标为十字(Cross)形状。 注意:存盘时必须存放在考生文件夹下,工程文件名为sjtlvbp,窗体文件名为 sjtlfrm。 (2)在名称为 Form1的窗体上画两个标签,名称分别为Label1、Label2,标题分别为“开始位置”、“选中的
2、字符数”;画三个文本框,名称分别为Text1、Text2、Text3,再画一个名称为 Command1,标题为“显示选中信息”的命令按钮。程序运行时,在 Text1中输入若干字符,并用鼠标选中一些字符后,单击“显示选中信息”按钮,则把选中的第一个字符的顺序号显示在 Text2中,选中的字符个数显示在 Text3中,如图 3152 所示。要求:画出所有控件,编写命令按钮的 Click事件过程。 (分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有一个工程文件 sjt3vbp,其窗体中有一个红色方框和一个计时器控件。程序运行时每隔 05 秒,方框的颜色交替变为
3、黄色和红色(黄色值为&HFFFF&;红色值为&HFF&);若单击鼠标右键,则停止变色;若单击鼠标左键,则方框左上角移到鼠标点击的位置处(如图 353所示)。请将事件过程中的注释符去掉,把“?“改为正确的内容,以实现上述程序功能。 注意:考生不得修改窗体文件中已经存在的控件和程序,最后将程序按原文件名存盘。 (2)在考生文件夹下有一个工程文件 sjt4vbp,其窗口上有 2个名称分别为 Command1和 Command2,标题分别为“开始查找”和“重新输入”的命令按钮:有 2个名称分别为 Text1和 Text2、初始值均为空的文本框。 1)在 Text1文本框中输入仅含字母和空格(空格用于分
4、隔不同的单词)的字符串后,单击“开始查找”按钮,则可以将输入字符串中最长的单词显示在 Text2文本框中, 如图 354 所示。 2)单击“重新输入”按钮,则清除 Text1和 Text2中的内容,并将焦点设置在 Text1文本框中,为下一次输入做好准备。请将“开始查找”命令按钮 Click事件过程中的注释符去掉,把“?”改为正确内容,以实现上述程序功能。 注意:考生不得修改窗体文件中已经存在的控件和程序。最后,程序按原文件名存盘。 (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.考生文件夹下有工程文件 sjt5vbp 和数据文件 in5txtin5txt 中有多条记录,每
5、条记录占一行,含 4个数据项,数据项的含义依次是:姓名、数学成绩、语文成绩、英语成绩。 窗体上按钮“读取数据”的功能是把 in5txt 中的所有记录读到数组 a中(每个数组元素中有一条记录);按钮“排序”的功能是按总分从大到小排序,结果仍放在数组 a中;按钮“保存“的功能是存盘,其代码已经给出,不能修改。 请将事件过程中的注释符去掉,把“?”改为正确的内容,并编写“排序”按钮的事件过程。 注意:考生不得修改窗体文件中已经存在的控件和程序,必须运行程序,并依次按下“读入数据”、“排序”、“保存”按钮,否则无成绩,最后将程序按原文件名存盘。(分数:2.00)_国家二级 VB机试(上机操作)模拟试卷
6、 344答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)在名称为 Form1、标题为“鼠标光标形状”的窗体上画一个名称为 Text1的文本框。请通过属性窗口设置适当属性,使得程序运行时,鼠标在文本框中时,鼠标光标为箭头(Arrow)形状;在窗体中其他位置处,鼠标光标为十字(Cross)形状。 注意:存盘时必须存放在考生文件夹下,工程文件名为sjtlvbp,窗体文件名为 sjtlfrm。 (2)在名称为 Form1的窗体上画两个标签,名称分别为Label1、Label2,标题分别为“开始位置”、“选中的字符数”;画三个文本框,名称分别为Tex
7、t1、Text2、Text3,再画一个名称为 Command1,标题为“显示选中信息”的命令按钮。程序运行时,在 Text1中输入若干字符,并用鼠标选中一些字符后,单击“显示选中信息”按钮,则把选中的第一个字符的顺序号显示在 Text2中,选中的字符个数显示在 Text3中,如图 3152 所示。要求:画出所有控件,编写命令按钮的 Click事件过程。 (分数:2.00)_正确答案:(正确答案:(1)步骤 1:新建“标准 EXE”工程,按要求画出控件并设置相应属性。 步骤 2:按要求将文件保存至考生文件夹中。 (2)步骤 1:新建一个“标准 EXE“工程,按要求画出控件并设置属性。步骤 2:在
8、代码编辑窗口,编写命令按钮的单击事件过程。参考代码: Private Sub Command1_Click() Text2=Text1SelStart+1 Text3=Text1SelLength End Sub 步骤 3:按要求将文件保存至考生文件夹中。)解析:解析:(1)根据题目要求,要使鼠标指针位于文本框中时,鼠标指针的形状为箭头,需将文本框的MousePointer属性值设置为 1。为使鼠标指针位于窗体中其他位置时,鼠标指针的形状为十字,需将窗体的 MousePointer属性值设置为 2。 (2)由于 SelStart属性返回的所选文本的起始点位于起始文本的左侧,故所选文本的第一个字
9、符的顺序号应为 SelStart属性值加 1。选中字符数即为 SelLength属性返回值。二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有一个工程文件 sjt3vbp,其窗体中有一个红色方框和一个计时器控件。程序运行时每隔 05 秒,方框的颜色交替变为黄色和红色(黄色值为&HFFFF&;红色值为&HFF&);若单击鼠标右键,则停止变色;若单击鼠标左键,则方框左上角移到鼠标点击的位置处(如图 353所示)。请将事件过程中的注释符去掉,把“?“改为正确的内容,以实现上述程序功能。 注意:考生不得修改窗体文件中已经存在的控件和程序,最后将程序按原文件名存盘。 (2)在考生文件
10、夹下有一个工程文件 sjt4vbp,其窗口上有 2个名称分别为 Command1和 Command2,标题分别为“开始查找”和“重新输入”的命令按钮:有 2个名称分别为 Text1和 Text2、初始值均为空的文本框。 1)在 Text1文本框中输入仅含字母和空格(空格用于分隔不同的单词)的字符串后,单击“开始查找”按钮,则可以将输入字符串中最长的单词显示在 Text2文本框中, 如图 354 所示。 2)单击“重新输入”按钮,则清除 Text1和 Text2中的内容,并将焦点设置在 Text1文本框中,为下一次输入做好准备。请将“开始查找”命令按钮 Click事件过程中的注释符去掉,把“?”
11、改为正确内容,以实现上述程序功能。 注意:考生不得修改窗体文件中已经存在的控件和程序。最后,程序按原文件名存盘。 (分数:2.00)_正确答案:(正确答案:(1)步骤 1:打开考生文件下的本题工程文件 sjt3vbp,在代码编辑窗口中,去掉程序中的注释符“”,将问号“?”改为正确的内容。参考代码: TimerlInterval=500 Shape1Left=X Shape1Top=Y TimerlEnabled=False If Shape1BackColor=vbRed Then 步骤 2:按要求将文件保存至考生文件夹中。 (2)步骤 1:打开考生文件下的本题工程文件 sjt4vbp,在代码
12、编辑窗口中,去掉程序中的注释符“”,将问号“?“改为正确的内容。参考代码: Word s=s s=Mid(s,m+1) If n解析:解析:(1)鼠标事件分点击事件和状态事件:点击事件有单击(Click)和双击(DblClick),不区分左键、右键;状态事件有按下(MouseDown)、移动(MouseMove)和弹起(MouseUp),能够区分出鼠标的左键、右键和中间键。按下鼠标键事件过程的一般格式为: Private Sub Form_MouseDown(Button As Integer, Shift As Integer,X As Single,Y As Single) End Sub
13、 其中各参数的含义:Button 表示被按下的鼠标键,可以取 3个值,1 为左键、2 为右键、4 为中间键;Shiit 表示 Shiit键、Ctrl 键和Alt 键的状态,Shiit 键为 1、Ctrl 键为 2、Alt 键为 4;X,Y 表示鼠标光标的当前位置。 本题在计时器的 Timer事件过程中,完成方框的颜色交替,因此在 Timer事件中应该是一个选择语句,如果颜色为红色(vbred),将其设置为黄色,否则设置为红色。由于要求 05 秒交替显示一次,因此计时器的Interval属性应该设置为 500。 (2)本题源程序在“开始查找”按钮的 Click事件过程中,先检验文本框Text1(
14、已赋值给变量 s)中是否读入数据,并用 InStr函数检查空格的位置,以空格为单词分隔依据找出每个单词。每找到一个单词,就将该单词使用 Left函数在 s中分离出来,然后将 s中的这个单词去掉,判断单词的长度并且和预存的最长单词长度相比较,若其比最长单词还长,则这个单词的长度成为新的最长单词长度,这个单词成为新的最长单词。循环结束后即可得出最长的单词。三、综合应用题(总题数:1,分数:2.00)3.考生文件夹下有工程文件 sjt5vbp 和数据文件 in5txtin5txt 中有多条记录,每条记录占一行,含 4个数据项,数据项的含义依次是:姓名、数学成绩、语文成绩、英语成绩。 窗体上按钮“读取
15、数据”的功能是把 in5txt 中的所有记录读到数组 a中(每个数组元素中有一条记录);按钮“排序”的功能是按总分从大到小排序,结果仍放在数组 a中;按钮“保存“的功能是存盘,其代码已经给出,不能修改。 请将事件过程中的注释符去掉,把“?”改为正确的内容,并编写“排序”按钮的事件过程。 注意:考生不得修改窗体文件中已经存在的控件和程序,必须运行程序,并依次按下“读入数据”、“排序”、“保存”按钮,否则无成绩,最后将程序按原文件名存盘。(分数:2.00)_正确答案:(正确答案:步骤 1:打开考生文件夹中的工程文件 sjt5vbp,在代码编辑窗口中,去掉程序中的注释符“”,将问号“?”改为正确的内
16、容。参考代码: Do While Not EOF(1) num=k-1 Private Sub Command2 Click() =考试编写= Dim k As Integer,j As Integer Dim temp As rec For i=1 To num-1 k= i For j =i + 1 To num If sum(k) sum(j) Then k=j End If Next j temp=a(i):a(i)=a(k) a(k)=temp Next i For k=1 To num Print a(k)name;a(k)Math; a(k)Chinese;a(k)English
17、 Next k - 步骤 2:按F5键运行程序,单击各个按钮测试验证。 步骤 3:按要求将文件保存至考生文件夹中。)解析:解析:题目要求从 in5txt 读出数据,然后丰非序并保存到输出文件。程序已经完成保存命令按钮的事件代码,需要补充排序代码和修改读取数据代码。 第一个“?”处判断循环的结束条件,如果文件没有结束则继续读取,EOF 函数检查文件是否到文件尾,参数是文件号;第二个“?”处是计算记录的数量,由于循环变量 k的初值为 1,每次循环记录数增加 1,因此循环结束之后 k比记录数多 1。 数据排序可以使用多种排序方法,比如选择法排序,其方法是:(1)从 n个数的数序列中选出最大的数,与第 1个数交换位置;除第 1个数外,其余 n-1个数再按(1)的方法选出次大的数,与第 2个数交换位置;(3)重复(1)步 n-1遍,最后构成递减序列。