1、国家二级 VB机试(上机操作)模拟试卷 281及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请根据以下各小题的要求设计 Visual Basic应用程序(包括界面和代码)。(1)在名称为 Form1、标题为“欢迎”的窗体上画 1个名称为 Label1的标签,其标题内容为“欢迎使用本系统”,标题文字字体和字号分别为“宋体”、“三号”,标签大小能根据标题内容自动调整,效果如图 340所示。程序执行时,窗体的最大化按钮不可用,请设置相应属性。注意:存盘时必须存放在考生文件夹下,工程文件名为sjt1vbp,窗体文件名为 sjt1frm。(2)在名称为
2、 Form1的窗体上,画 1个名称为 Label1的标签,其标题为“横坐标 X”,且能根据标题内容自动调整标签的大小;再画 1个名称为 Text1的文本框,其中的文字显示为空白;再画 1个名称为 Picture1的图片框,大小适中即可。 要求:编写适当的事件过程,使得程序运行时,如果鼠标在图片框中移动,则能在文本框 Text1中显示鼠标在图片框中的当前位置的横坐标,运行情况如图 341所示。 (分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有一个工程文件 sit3vbp。程序的功能是:1)程序运行时,文件列表框显示当前文件夹中的所有扩展名为 jpg的文件
3、。2)双击文件列表框中某个图片文件名时,能在图像框中显示出该张图片,并将该图片文件的信息(包括路径及文件名)显示到标签中,如图 342所示。3)“下一张”命令按钮的功能:选中并显示上次选中文件的下一个图片文件(如果文件列表框中没有被选中的图片文件或上次选中的是最后一个文件名,则从第 1个图片文件始)。在当前程序所在文件夹中,已经提供了所需要的图片文件,运行时窗体如图所示。 在给出的窗体文件中已经有了全部控件,但程序不完整。请将事件过程中的注释符去掉,把“?”改为正确的内容,以实现上述程序功能。注意:考生不得修改窗体文件中已经存在的控件和程序,最后将程序按原文件名存盘。(2)在考生文件夹下有一个
4、工程文件 sjt4vbp。程序的功能是:程序运行时,文本框中显示一篇英文短文,单击“查找”按钮时可输入查找内容,如图343所示。 若未找到查找内容,查找结束;若找到查找内容,被找到的内容在文本框中以反相显示(即呈选中状态),每找到一次都给出提示,并在左下角文本框中显示累计的次数,如图 344所示,若单击提示对话框的“是”按钮,则继续向后查找;若单击“否”按钮,则终止查找。在给出的窗体文件中已经有了全部控件,但程序不完整。请将事件过程中的注释符去掉,把“?”改为正确的内容,以实现上述程序功能。 (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sj
5、t5vbp。程序运行时,单击“显示数据”按钮,则将考生文件夹下in5dat 文件的内容读入一维数组 a中,并按下标顺序将数组 a各元素的值显示在 List1列表框中;单击“移动”按钮,则将数组 a中的最大值移动到数组的最前面,其他数据的排列顺序不变,并将移动后的结果显示在 List2列表框中。单击“保存”按钮,则保存移动后的结果。要求:“显示数据”和“保存”按钮的 Click事件过程已经给出,请编写“移动”按钮的 Click事件过程实现上述功能。程序窗体界面如图 345所示。注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行之前必须单击“移动”按钮,并单击“保存”按钮保存结果,否
6、则无成绩。最后程序按原文件名存盘。 (分数:2.00)_国家二级 VB机试(上机操作)模拟试卷 281答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请根据以下各小题的要求设计 Visual Basic应用程序(包括界面和代码)。(1)在名称为 Form1、标题为“欢迎”的窗体上画 1个名称为 Label1的标签,其标题内容为“欢迎使用本系统”,标题文字字体和字号分别为“宋体”、“三号”,标签大小能根据标题内容自动调整,效果如图 340所示。程序执行时,窗体的最大化按钮不可用,请设置相应属性。注意:存盘时必须存放在考生文件夹下,工程文件名为sjt
7、1vbp,窗体文件名为 sjt1frm。(2)在名称为 Form1的窗体上,画 1个名称为 Label1的标签,其标题为“横坐标 X”,且能根据标题内容自动调整标签的大小;再画 1个名称为 Text1的文本框,其中的文字显示为空白;再画 1个名称为 Picture1的图片框,大小适中即可。 要求:编写适当的事件过程,使得程序运行时,如果鼠标在图片框中移动,则能在文本框 Text1中显示鼠标在图片框中的当前位置的横坐标,运行情况如图 341所示。 (分数:2.00)_正确答案:(正确答案:第 1小题 步骤 1:新建一个“标准 EXE”工程,在窗体 Form1中加入一个标签控件。按表 427设置其
8、相关属性。 步骤 2:按要求将文件保存至考生文件夹中。 第 2小题 步骤1:新建一个“标准 EXE”工程,在窗体 Forml中加入一个文本框、标签和图片框。按表 428设置其相关属性。 )解析:解析:第 1小题:根据题目要求在窗体上加入一个标签控件,并设置相关属性。 第 2小题:根据题目要求在窗体上加入文本框、标签和图片框,并设置相关属性。题目要求鼠标在图片框中移动时显示当前的横坐标,需要在图片框的 MouseMove事件代码里面把横坐标显示在文本框里面。二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有一个工程文件 sit3vbp。程序的功能是:1)程序运行时,文件列表框
9、显示当前文件夹中的所有扩展名为 jpg的文件。2)双击文件列表框中某个图片文件名时,能在图像框中显示出该张图片,并将该图片文件的信息(包括路径及文件名)显示到标签中,如图 342所示。3)“下一张”命令按钮的功能:选中并显示上次选中文件的下一个图片文件(如果文件列表框中没有被选中的图片文件或上次选中的是最后一个文件名,则从第 1个图片文件始)。在当前程序所在文件夹中,已经提供了所需要的图片文件,运行时窗体如图所示。 在给出的窗体文件中已经有了全部控件,但程序不完整。请将事件过程中的注释符去掉,把“?”改为正确的内容,以实现上述程序功能。注意:考生不得修改窗体文件中已经存在的控件和程序,最后将程
10、序按原文件名存盘。(2)在考生文件夹下有一个工程文件 sjt4vbp。程序的功能是:程序运行时,文本框中显示一篇英文短文,单击“查找”按钮时可输入查找内容,如图343所示。 若未找到查找内容,查找结束;若找到查找内容,被找到的内容在文本框中以反相显示(即呈选中状态),每找到一次都给出提示,并在左下角文本框中显示累计的次数,如图 344所示,若单击提示对话框的“是”按钮,则继续向后查找;若单击“否”按钮,则终止查找。在给出的窗体文件中已经有了全部控件,但程序不完整。请将事件过程中的注释符去掉,把“?”改为正确的内容,以实现上述程序功能。 (分数:2.00)_正确答案:(正确答案:第 1小题 步骤
11、 1:打开考生文件夹中的本题工程文件 sjt3vbp,在代码编辑窗口中,去掉程序中的注释符 “”,将问号“?”改为正确的内容。 参考代码: If File1ListIndex=-1Or File1ListIndex=File1ListCount-1 Then File1ListIndex=File1ListIndex+1 Label1Caption=ADpPath+“+File1FileName File1Pattern=“*jPg“ 步骤 2:按要求将文件保存至考生文件夹中。 第 2小题 步骤 1:打开考生文件夹中的本题工程文件 sjt4vbp,在代码编辑窗口中,去掉程序中的注释符“”,将问
12、号“?”改为正确的内容。 参考代码: Text1SelStart=pos-1 Text1SelLength=Len(fstr) times=times+1 pos=InStr(pos,ostr,fstr) 步骤 2:按要求将文件保存至考生文件夹中。)解析:解析:第 1小题:本题主要考察文件列表框的属性和事件响应。文件列表框的 Path属性用来设置或返回其当前的目录(缺省值是当前路径);文件列表框的 FileName属性可返回所选文件的文件名;Pattern属性设置要显示的文件类型,默认表示所有文件;ListCount 属性返回文件列表框中匹配Pattern属性设置的文件个数:ListIndex
13、 返回控件中当前项目的索引号,取值范围是 0ListCount-1。 第一个“?”处是的 If判断文件列表框当前的 ListIndex是不是最后一个或者文件列表框里面没有文件。即 ListIndex的值为-1;第二个“?”处是在命令按钮的事件代码里面把图片向后移动一个,然后调用Showlnfor来显示图片,因此第二个“?”处是将 ListIndex加 1;第三个“?”处是显示图片的路径和名称,图片的名称可通过列表框的 FileName属性得到;最后一个“?”是设置文件列表框的属性,包括Path和 Pattern属性,因为题目要求文件列表框湿示扩展名为 fpg的文件。 第 2小题:题目要求在一个
14、字符串里面杳找另外一个字符串,由于字符串可能出现多次,因此需要使用循环来遍历。字符串查找使用InStr函数,该函数指定一字符串在另一字符串中最先出现的位置,如果没有找剑返回 0。凶此在循环中,用一个变量保存 Instr的返回值,只要 InStr返回值不为 0,就可以继续往后查找。第一个和第二个“?”处是设置找到的字符反相显示,即把找到的字符串设置为选中状态,通过设置 SleStart和SelLength两个属性。第三个“?”处是统计找到的次数变量 times加 1,根据“Text2Text=times”可知 times是统计变量;最后一个“?”处如果 If成立则需要再次查找,因为下次进入循环的
15、时候直接设置选中状态,说叫在下次进入循环前已经找到了。三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sjt5vbp。程序运行时,单击“显示数据”按钮,则将考生文件夹下in5dat 文件的内容读入一维数组 a中,并按下标顺序将数组 a各元素的值显示在 List1列表框中;单击“移动”按钮,则将数组 a中的最大值移动到数组的最前面,其他数据的排列顺序不变,并将移动后的结果显示在 List2列表框中。单击“保存”按钮,则保存移动后的结果。要求:“显示数据”和“保存”按钮的 Click事件过程已经给出,请编写“移动”按钮的 Click事件过程实现上述功能。程序窗体界面如
16、图 345所示。注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行之前必须单击“移动”按钮,并单击“保存”按钮保存结果,否则无成绩。最后程序按原文件名存盘。 (分数:2.00)_正确答案:(正确答案:步骤 1:打开考生文件夹中的工程文件 sjt5vbp,在代码编辑窗口中,去掉程序中的注释符“”,将问号“?”改为正确的内容。 参考代码: Private Sub Command2_Click() =考生编写的程序= Dim n As Integer,s As String Dim i,j As Integer n=0:j=0 For i=1To10 If a(i)n Then n=a
17、(i):j=i End If Next For i=jTo2step-1 a(i)=a(i-1) Next a(1)=n For j=1To10 List2AddItem(a(i) Next i = End Sub 步骤 2:按F5运行程序,单击各按钮测试验证。 步骤 3:按要求将文件保存至考生文件夹中。)解析:解析:只需要完成“移动”命令按钮的 Click事件代码根据题目要求在点击移动命令按钮,找出数组 a的最大值,可以通过循环来查找最大值;接下来把最大值移动到数组的最前面,即把最大值前面的数往后移动一个位置,然后把最大值放到第一个元素位置,移动过程同样通过循环实现;最后一步是通过循环,把数组 a的内容添加到 List2列表框罩面。