1、国家二级 VB机试(上机操作)模拟试卷 342及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)在名称为 Form1的窗体上画一个名称为 Framel、标题为“目的地”的框架,在框架中添加三个复选框,名称分别为 Checkl、Check2、Check3,其标题分别是“上海”、“广州”、“巴黎”,其中“上海”为选中状态, “广州”为未选状态,“巴黎”为灰色状态,如图 3117 所示。请画控件并设置相应属性。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjtlvbp,窗体文件名为 sjtlfrm。 (2)在名称为 Form1的窗体上画一个
2、名称为 Picture1的图片框,其宽和高分别为 1700、1900。请编写适当事件过程,使得在运行时,单击图片框,则装入考生目录下的图形文件 piclbmp,如图 3118 所示。单击窗体则图片框中的图形消失。要求程序中不得使用变量,每个事件过程中只能写一条语句。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt2vbp,窗体文件名为 sjt2frm。 (分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有一个工程文件 sjt3vbp,其功能是:1)单击“读数据”按钮,则把考生文件夹下 in3dac 文件中的 100个按升序排列的整数读入到数组 a
3、中,同时显示在 Text1文本框中; 2)单击“查找”按钮,则提示用户输入查找的数,并利用二分法在数组 a中查找该数,若查找成功,则在 Text2文本框中显示该数在数组中的位置,否则显示查找失败。 提示:二分法查找的思路是,将查找值与有序数组的中间项元素进行比较,若相同则查找结束;否则判断查找值落在数组的上半部分还是下半部分,并继续在那一半的数组中重复上述查找过程。 要求:请将窗体的标题设置为“二分法查找”,并将“查找”命令按钮的 Click事件过程中的注释符去掉,把“?”改为正确内容,以实现上述程序功能。如图 3186所示的是运行时输入数值 68的查找结果。 注意:考生不得修改窗体文件中已经
4、存在的控件和程序。最后,程序按原文件名存盘。 (2)在考生文件夹下有一个工程文件 sjt4vbp。运行程序,按下鼠标左键,并在窗体上拖动鼠标时,沿鼠标移动可在窗体上画出一系列圆,如图 3一 187所示。给出的程序不完整,要求去掉程序中的注释符,把程序中的“?”改为正确的内容。 注意:考生不得修改窗体文件中已经存在的控件和程序,最后将程序按原文件名存盘。 (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sjt5vbp,其窗体上有三个标签、三个文本框和两个命令按钮,均使用默认名称。程序的功能是: 如果单击“读数据“命令按钮,则把考生文件夹下 in5
5、dat 文件中两组已按升序方式排列的数(每组 30个数)分别读入数组 A和 B,并分别将它们显示在 Textl、Text2 中; 如果单击“合并”命令按钮,则将 A、B 两个数组合并为另一个按升序方式排列的数组 C,并将合并后数组 C中的数据依升序方式显示在 Text3中。 窗体中给出了所有控件(如图 3155所示)以及“读数据”命令按钮的 Click事件过程,请完善“合并”命令按钮的 Click事件过程,使其实现上述功能。 注意:不得修改已经存在的控件和程序,在结束程序运行之前,必须进行合并操作,且必须通过窗体右上角的“关闭”按钮结束程序,否则无成绩。最后,程序按原文件名存盘。 (分数:2.
6、00)_国家二级 VB机试(上机操作)模拟试卷 342答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)在名称为 Form1的窗体上画一个名称为 Framel、标题为“目的地”的框架,在框架中添加三个复选框,名称分别为 Checkl、Check2、Check3,其标题分别是“上海”、“广州”、“巴黎”,其中“上海”为选中状态, “广州”为未选状态,“巴黎”为灰色状态,如图 3117 所示。请画控件并设置相应属性。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjtlvbp,窗体文件名为 sjtlfrm。 (2)在名称为 Form1的窗体上
7、画一个名称为 Picture1的图片框,其宽和高分别为 1700、1900。请编写适当事件过程,使得在运行时,单击图片框,则装入考生目录下的图形文件 piclbmp,如图 3118 所示。单击窗体则图片框中的图形消失。要求程序中不得使用变量,每个事件过程中只能写一条语句。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt2vbp,窗体文件名为 sjt2frm。 (分数:2.00)_正确答案:(正确答案:(1)步骤 1:新建一个“标准 EXE”工程。 步骤 2:在窗体 Form1中加入一个框架,然后依次在框架中画出三个复选框。 步骤 3:分别设置框架和各复选框的相关属性,其属性及值如表
8、4-70所示。 步骤 4:按要求将文件保存至考生文件夹中。 (2)步骤 1:新建一个“标准 EXE“工程,如表 4-71在窗体中画出图片框并设置其相关属性。 )解析:解析:(1)本题只需按要求画出框架以及框架中的复选框,并设置其 Value属性。 (2)本题需分别在图片框和窗体的 Click事件过程中,用 LoadPicture()函数为图像框加载或清除图片。二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有一个工程文件 sjt3vbp,其功能是:1)单击“读数据”按钮,则把考生文件夹下 in3dac 文件中的 100个按升序排列的整数读入到数组 a中,同时显示在 Text
9、1文本框中; 2)单击“查找”按钮,则提示用户输入查找的数,并利用二分法在数组 a中查找该数,若查找成功,则在 Text2文本框中显示该数在数组中的位置,否则显示查找失败。 提示:二分法查找的思路是,将查找值与有序数组的中间项元素进行比较,若相同则查找结束;否则判断查找值落在数组的上半部分还是下半部分,并继续在那一半的数组中重复上述查找过程。 要求:请将窗体的标题设置为“二分法查找”,并将“查找”命令按钮的 Click事件过程中的注释符去掉,把“?”改为正确内容,以实现上述程序功能。如图 3186所示的是运行时输入数值 68的查找结果。 注意:考生不得修改窗体文件中已经存在的控件和程序。最后,
10、程序按原文件名存盘。 (2)在考生文件夹下有一个工程文件 sjt4vbp。运行程序,按下鼠标左键,并在窗体上拖动鼠标时,沿鼠标移动可在窗体上画出一系列圆,如图 3一 187所示。给出的程序不完整,要求去掉程序中的注释符,把程序中的“?”改为正确的内容。 注意:考生不得修改窗体文件中已经存在的控件和程序,最后将程序按原文件名存盘。 (分数:2.00)_正确答案:(正确答案:(1)步骤 1:打开本题工程文件 sjt3vbp,在代码编辑窗口中,去掉程序中的注释符“”,将问号“?”改为正确的内容。参考代码: m=(low+high)2 high=m-1 low=m+1 Loop Until low h
11、igh If flag=1 Then 步骤 2:按要求将文件保存至考生文件夹中。 (2)步骤 1:打开本题工程文件 sjt4vbp,在代码编辑窗口中,去掉程序中的注释符“”,将问号“?”改为正确的内容。参考代码:Dim Flag As Boolean PriVate Sub Form MouseMove(Button As Integer,Shift As Integer,X As Single, Y As Single) Circle (X,Y),300 Flag=False 步骤 2:按要求将文件保存至考生文件夹中。)解析:解析:(1)在本题中首先假设待查找数组的最小下标值为 low,最大
12、下标值为 high,则数组正中的元素下标 m为(low+high)2。然后进行判断,如果 a(m)的值等于待查找的值,则视为找到,令变量 flag的值为 1并退出循环;否则若 a(m)大于 x,则应该在左半部分查找,此时 low不变,high 的值为 m-1;a(m)小于 x,则应该在右半部分查找,此时 high不变,low 的值为 m+1。这样一直到 low三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 sjt5vbp,其窗体上有三个标签、三个文本框和两个命令按钮,均使用默认名称。程序的功能是: 如果单击“读数据“命令按钮,则把考生文件夹下 in5dat 文件中
13、两组已按升序方式排列的数(每组 30个数)分别读入数组 A和 B,并分别将它们显示在 Textl、Text2 中; 如果单击“合并”命令按钮,则将 A、B 两个数组合并为另一个按升序方式排列的数组 C,并将合并后数组 C中的数据依升序方式显示在 Text3中。 窗体中给出了所有控件(如图 3155所示)以及“读数据”命令按钮的 Click事件过程,请完善“合并”命令按钮的 Click事件过程,使其实现上述功能。 注意:不得修改已经存在的控件和程序,在结束程序运行之前,必须进行合并操作,且必须通过窗体右上角的“关闭”按钮结束程序,否则无成绩。最后,程序按原文件名存盘。 (分数:2.00)_正确答
14、案:(正确答案:步骤 1:打开考生文件夹下的工程文件 sjt5vbp。 步骤 2:编写“合并”按钮的单击事件过程。参考代码: Private Sub Command2_Click() ;考生编写程序开始 ia=1:ib=1:iC=1 Do While ia=30 And ib=30 Tf a(ia) =30 c(ic)=a(ia):ia=ia+1:ic=ic+1 Loop Do While ib=30 C(ic)=b(ib):ib=ib+1:ic=ic+1 Loop 考生编写程序结束 以下程序将合并后的数组 C显示在 Text3中 For k=1 To 60 Text3=Text3+Str(c(k)+Space(2) Next k End S11b 步骤 3:运行程序,单击“读数据”按钮,然后单击“合并”按钮获得结果,然后通过窗体右上角的“关闭”按钮结束程序。 步骤 4:按要求将文件保存至考生文件夹中。)解析:解析:根据题意,要求实现两个数组的有序合并,可以设置三个变量 ia、ib、ic 用于标识当前分别在三个数组中的当前元素下标,初值均为 1;接下来进行循环,分别比较 a(ia)和 bob)的大小,若 a(ia)