1、国家二级 VB机试(上机操作)模拟试卷 301及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请根据以下各小题的要求设计 Visual Basic应用程序(包括界面和代码)。(1)在名称为 Form1的窗体上画一个名称为 CmdChange、标题为“改变颜色”的命令按钮,窗体标题为“设置窗体背景色”。编写程序,使得单击命令按钮时,将窗体的背景颜色改为红色(&HFF&)。运行程序后的窗体如图 3142所示。要求:程序中不得使用变量,每个事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为vbsj1vbp,窗体文件名为 vbsj1f
2、rm。(2)在名称为 Form1的窗体上画一个命令按钮和一个垂直滚动条,其名称分别为 Cmd1(标题为“设置”)和 Vsb1,编写适当的事件过程。程序运行后,如果单击命令按钮,则按如下要求设置垂直滚动条的属性:Max=窗体高度 Min=0LargeChange=50SmallChange=10如果移动垂直滚动条的滚动框,则在窗体上显示滚动框的位置值。程序的运行情况如图 3143所示。要求:不得使用任何变量。注意:存盘时必须存放在考生文件夹下,工程文件名为 vbsj2vbp,窗体文件名为vbsj2frm。 (分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有
3、一个工程文件 vbsj3vbp,相应的窗体文件为 vbsj3frm,在窗体上有一个标题为“计算”的命令按钮和一个文本框。程序运行后,单击命令按钮,即可计算出数组 arr中每个元素与其下标相除所得的和,并在文本框中显示出来,程序的运行情况如图 3144所示。在窗体的代码窗口中,已给出了部分程序,其中计算数组 arr中每个元素与其下标相除所得的和的操作在通用过程 Fun中实现,请编写该过程的代码。 要求:请勿改动程序中的其他部分,只在 Function Fun()和 End Function之间填入你编写的若干语句并运行程序。在结束程序运行之前,必须至少正确运行一次程序,将结果显示在文本框中,否则
4、无成绩。最后把修改后的文件按原文件名存盘。说明:数组 arr中共有 40个元素,“数组 arr中每个元素与其下标相除所得的和”,是指:arr(1)1+arr(2)2+arr(3)3+arr(40)40 程序源码:End SUbFunction Fun(a() As Single)As Single由考生编写=End FunctionPrivate Sub cmdCal C1iCk()Dim arr,arr2(40)As Singlearr=Array(125,654,56,73,4623,_5825,8349,96,273,3678,_2926,894,347,454,569,_674,78,
5、98,875,768,346,_558,647,437,994,847,_662,239,555,441,332,_435,412,283,786,983,_61,736,493,483)For i=1To UBound(arr)arr2(i)=arr(i)Next ir=Fun(arr2()txtResul-tText=Str(r)SaveDataEnd SubSub SaveData()Open“out3txt“For Output As#1rint#1,txtResultTextCloSe1End Sub(2)在考生文件夹下有一个工程文件 vbsj4vbp。程序运行后,如果单击“开始”按
6、钮,则图片自左向右移动,同时滚动条的滑块随之移动,每 05 秒移动一次。当图片完全移出窗体的右边界时,立即再从窗体的左边界开始重新移动,若单击“停止”按钮,则图片停止移动,如图 3145所示。在窗体文件中已经给出了全部控件,但程序不完整。 (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生目录下有一个工程文件 vbsj5vbp,用来计算勾股定理整数组合的个数。勾股定理中 3个数的关系是:a 2 +b 2 =c 2 。例如,3、4、5 就是一个满足条件的整数组合(注意:a,b,c 分别为 4,3,5与分别为 3,4,5 被视为同一个组合,不应该重复计算)。编写程序,统计三
7、个数均在 60以内满足上述关系的整数组合的个数,并显示在标签:Lbl1 中,运行时程序界面如图 3146所示。 (分数:2.00)_国家二级 VB机试(上机操作)模拟试卷 301答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请根据以下各小题的要求设计 Visual Basic应用程序(包括界面和代码)。(1)在名称为 Form1的窗体上画一个名称为 CmdChange、标题为“改变颜色”的命令按钮,窗体标题为“设置窗体背景色”。编写程序,使得单击命令按钮时,将窗体的背景颜色改为红色(&HFF&)。运行程序后的窗体如图 3142所示。要求:程序中
8、不得使用变量,每个事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为vbsj1vbp,窗体文件名为 vbsj1frm。(2)在名称为 Form1的窗体上画一个命令按钮和一个垂直滚动条,其名称分别为 Cmd1(标题为“设置”)和 Vsb1,编写适当的事件过程。程序运行后,如果单击命令按钮,则按如下要求设置垂直滚动条的属性:Max=窗体高度 Min=0LargeChange=50SmallChange=10如果移动垂直滚动条的滚动框,则在窗体上显示滚动框的位置值。程序的运行情况如图 3143所示。要求:不得使用任何变量。注意:存盘时必须存放在考生文件夹下,工程文件名为 vbsj2
9、vbp,窗体文件名为vbsj2frm。 (分数:2.00)_正确答案:(正确答案:第 1小题 步骤 1:新建一个“标准 EXE”工程,在窗体 Form1中画一个命令按钮,设置相关属性,其属性及值如表 483所示。 步骤 2:打开代码编辑窗口,编写按钮的 Click事件过程中。 参考代码: Private Sub cmdChange_Click() BackColor=&HFF& End Sub 步骤 3:按要求将文件保存至考生文件夹中。 第 2小题 步骤 1:新建一个“标准 EXE”工程,按表 484在窗体中画出控件并设置其相关属性。 )解析:解析:第 1小题:本题需在命令按钮的单击事件过程中
10、,通过语句设置窗体的 BackColor属性值为“&HFF&”。 第 2小题:本题其实就是在命令按钮的单击事件过程中用代码来设置水平滚动条的属性,并且在水平滚动条的 Change事件过程中,用 Print方法把表示水平滚动条滑块位置的 Value属性值输出到窗体上。二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有一个工程文件 vbsj3vbp,相应的窗体文件为 vbsj3frm,在窗体上有一个标题为“计算”的命令按钮和一个文本框。程序运行后,单击命令按钮,即可计算出数组 arr中每个元素与其下标相除所得的和,并在文本框中显示出来,程序的运行情况如图 3144所示。在窗体的
11、代码窗口中,已给出了部分程序,其中计算数组 arr中每个元素与其下标相除所得的和的操作在通用过程 Fun中实现,请编写该过程的代码。 要求:请勿改动程序中的其他部分,只在 Function Fun()和 End Function之间填入你编写的若干语句并运行程序。在结束程序运行之前,必须至少正确运行一次程序,将结果显示在文本框中,否则无成绩。最后把修改后的文件按原文件名存盘。说明:数组 arr中共有 40个元素,“数组 arr中每个元素与其下标相除所得的和”,是指:arr(1)1+arr(2)2+arr(3)3+arr(40)40 程序源码:End SUbFunction Fun(a() As
12、 Single)As Single由考生编写=End FunctionPrivate Sub cmdCal C1iCk()Dim arr,arr2(40)As Singlearr=Array(125,654,56,73,4623,_5825,8349,96,273,3678,_2926,894,347,454,569,_674,78,98,875,768,346,_558,647,437,994,847,_662,239,555,441,332,_435,412,283,786,983,_61,736,493,483)For i=1To UBound(arr)arr2(i)=arr(i)Nex
13、t ir=Fun(arr2()txtResul-tText=Str(r)SaveDataEnd SubSub SaveData()Open“out3txt“For Output As#1rint#1,txtResultTextCloSe1End Sub(2)在考生文件夹下有一个工程文件 vbsj4vbp。程序运行后,如果单击“开始”按钮,则图片自左向右移动,同时滚动条的滑块随之移动,每 05 秒移动一次。当图片完全移出窗体的右边界时,立即再从窗体的左边界开始重新移动,若单击“停止”按钮,则图片停止移动,如图 3145所示。在窗体文件中已经给出了全部控件,但程序不完整。 (分数:2.00)_正确
14、答案:(正确答案:第 1小题 步骤 1:打开考生文件夹下的工程文件 vbsj3vbp。 步骤 2:进入代码编辑窗口,在 Function Fun()和 End Function之间输入以下代码。 参考代码: Function Fun(a()As Single)As Single Dim sum As Single Dim i As Integer For i=LBound(a)To UBound(a) sum=sum+a(i)i Next Fun=sum End Function 步骤 3:按要求将文件保存至考生文件夹中。 第 2小题 步骤 1:打开考生文件夹下的工程文件 vbsj4vbp。
15、步骤 2:进入代码编辑窗口,去掉程序中的注释符“”,将问号“?”改为正确的内容。 参考代码: Tmr1Enabled=False Tmr1Interval=500 If Pic1LeftMeWidth Then Pic1Left=0 步骤 3:按要求将文件保存至考生文件夹中。)解析:解析:第 1小题:由本题所提供源程序可知,要求编写一个求数组中各元素与其下标相除所得的和,并在文本框中显示出来的函数。设计思路:利用 For循环浯句,将数组中各元素除以其下标(表达式为:a(i)i)的值累加入一个变量(如 sum)。循环变晕的初值和终值可分别通过函数 Lbound(a)和 Ubound(a)获得。
16、第 2小题:本题源程序利用计时器的 Timer。事件来控制图片的移动,因此单击“开始”按钮启动计时器,而单击“停止”按钮就是要停止计时器。在计时器的 Timer事件过程中,通过每次使图片框的Left属性值增量 200实现移动,并让水平滚动条滑块的位置随图片框的 Left属性值变化。当图片完全移出窗体的右边界(即 Pic1LeftMeWidth)时,则重新从窗体左边界开始移动,即 Pic1Left=0。由于题目要求不能在设计阶段修改控件属性,要想在单击“开始”按钮时能启动计时器,就需在窗体加载事件过程中设置计时器的 Interval属性,即 Tmr1Interval=500。三、综合应用题(总题
17、数:1,分数:2.00)3.在考生目录下有一个工程文件 vbsj5vbp,用来计算勾股定理整数组合的个数。勾股定理中 3个数的关系是:a 2 +b 2 =c 2 。例如,3、4、5 就是一个满足条件的整数组合(注意:a,b,c 分别为 4,3,5与分别为 3,4,5 被视为同一个组合,不应该重复计算)。编写程序,统计三个数均在 60以内满足上述关系的整数组合的个数,并显示在标签:Lbl1 中,运行时程序界面如图 3146所示。 (分数:2.00)_正确答案:(正确答案:步骤 1:打开考生文件夹下的工程文件 vbsj5vbp,在码编辑窗口的指定位置输入代码。 参考代码: Private Sub
18、Command1_Click() =考生编写程序开始= Dim i As Integer,j As Integer Dim n As Integer For i=1To59 For j=i To60 If Sqr(i*i+j*j)=Int(Sqr_ (i*i+j*j)And Sqr_ (i*i+j*j)=60Then n=n+1 End If Next Next Lbl1Caption=n =考生编写程序结束= 不要改动以下内容 save Label1 End Sub 步骤 2:按F5键运行程序,单击“计算”按钮。 步骤 3:按要求将文件保存至考生文件夹中。)解析:解析:本题可通过一个嵌套的 For循环,来统计满足题目要求的整数组合的个数。其中,外循环变量 i的取值范闱为 160,内循环变量 j的取值范围为 i60(这样可避免出现重复的组合)。通过表达式:Sqr(i*i+j*j)=Int(Sqr(i*i+j*j)是否成立来判断 Sqr(i*i+j*j)的值是否为整数,并通过表达式:Sqr(i*i+j*j)=60 是否成立来判断 Sqr(i*i+j*j)的值是否在 60以内,当两个条件同时满足时,此时的i、j 及 Sqr(i*i+j*j)即为满足题目要求的整数组合,记录组合个数的变量 n加一。循环结束,将 n值显示在标签 Label1中。