1、国家二级 VB机试(上机操作)模拟试卷 50及答案与解析 一、基本操作题 0 请根据以下各小题的要求设计 Visual Basic应用程序 (包括界面和代码 )。 1 在名称为 Form1的窗体上画一个名称为 CmdChange、标题为 “改变颜色 ”的命令按钮,窗体标题为 “设置窗体背景色 ”。编写程序,使得单击命令按钮时,将窗体的背景颜色改为红色 ( HFF )。运行程序后的窗体如图 3-53所示。 要求:程序中不得使用变量,每个事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为 vbsj1 vbp,窗 体文件名为 vbsj1 frm。 2 在名称为 Form1的窗体上画
2、一个命令按钮和一个垂直滚动条,其名称分别为Cmd1(标题为 “设置 ”)和 Vsb1,编写适当的事件过程。程序运行后,如果单击命令按钮,则按如下要求设置垂直滚动条的属性: Max=窗体高度 Min=0 ImrgeChange=50 SmallChange=10如果移动垂直滚动条的滚动框,则在窗体上显示滚动框 _饷位置值。程序的运行情况如 图 3-54所示。 要求:不得使用任何变量。 注意:存盘时必须存放在考生文件夹下,工程文件名为vbsj2 vbp, 窗体文件名为 vbsj2 frm。 二、简单应用题 3 在考生文件夹下有一个工程文件 vbsj3 vbp,相应的窗体文件为 vbsj3 frm,
3、在窗体上有 个标题为 “计算 ”的命令按钮和一个文本框。程序运行后,单击命令按钮,即可计算出数组 arr中每个元素与其下标相除所得的和,并在文本框中显示出来,程序的运行情况如图 3-55所示。在窗体的代码窗口中,已给出了部分程序,其中计算数组 arr中每个元素与其下标相除所得的和的操作在通用过程 Fun中实现,请编写该过程的代码。 要求:请勿改动程序中的其他部分,只在 Function Fun()和 End Function之间填入你编写的若干语句并运行程序。在结束程序运行之前,必须至少正确运行一次程序,将结果显示在文本框中,否则无成绩。最后把修改后的文件按原文件名存盘。 说明:数组 arr中
4、共有 40个元素, “数组 arr中每个元素与其下标相除所得的和 ”,是指: arr(1) 1+arr(2)2+arr(3) 3+arr(40) 40程序源码: Optlon Base 1Function Fun(a() As Single) As Single 由考生编写 =End FunctionPrivate Sub cmdCal_Click() Dim arr Dim arr2(40) As Single arr=Array(12 5, 65 4, 56, 73, 46 23, _ 58 25, 83 49, 96, 27 3, 36 78, _ 29 26, 89 4, 34 7,
5、45 4, 56 9, _ 67 4, 78, 98, 87 5, 76 8, 34 6, _ 55 8, 64 7, 43 7, 99 4, 84 7, _ 66 2, 23 9, 55 5, 44 1, 33 2, _ 43 5, 41 2, 28 3, 78 6, 98 3, _ 56 1, 73 6, 49 3, 48 3) For i=1 To UBound(arr) arr2(i)=arr(i) Next i r=Fun(arr2() txtResult Text=Str(r) SaveDataEnd SubSub SaveData() Open “out3 txt“ For Ou
6、tput As #1 Print #1, txtResult Text Close 1End Sub 4 在考生 文件夹下有一个工程文件 vbsj4 vbp。程序运行后,如果单击 “开始 ”按钮,则图片自左向右移动,同时滚动条的滑块随之移动,每 0 5秒移动一次。当图片完全移出窗体的右边界时,立即再从窗体的左边界开始重新移动,若单击 “停止 ”按钮,则图片停止移动,如图 3-56所示。在窗体文件中已经给出了全部控件,但程序不完整。 要求:请去掉程序中的注释符,把程序中的 “?”改为正确的内容,使其实现上述功能,但不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。程序源码: 三
7、、综合应用题 5 在考生目录下有 一个工程文件 vbsj5 vbp,用来计算勾股定理整数组合的个数。勾股定理中 3个数的关系是: a2+b2=c2。例如, 3、 4、 5就是一个满足条件的整数组合 (注意: a, b, c分别为 4, 3, 5与分别为 3, 4, 5被视为同一个组合,不应该重复计算 )。编写程序,统计三个数均在 60以内满足上述关系的整数组合的个数,并显示在标签 Lbl1中,运行时程序界面如图 3-57所示。 注意:不得修改原有程序的控件的属性。在结束程序运行之前,必须至少正确运行一次程序,将统计的结果显示在标签中,否则无成绩。最后把修改后的文件按原文件名存盘 。程序源码:
8、Public Sub save(1 As Contro1) Open App Path “out5 txt“ For Output As #1 Print #1, 1 Caption C1ose #1End Sub 国家二级 VB机试(上机操作)模拟试卷 50答案与解析 一、基本操作题 1 【正确答案】 审题分析 本题需在命令按钮的单击事件过程中,通过语句设置窗体的 BackColor属性值为 “ HFF ”。 操作步骤 步骤 1:新建一个 “标准 EXE”工程,在窗体 Form1中画一个命令按钮, 设置相关属性,其属性及值如表 4-32所示。 步骤 2:打开代码编辑窗口,编写按钮的 Clic
9、k事件过程中。 参考代码: PriVate Sub cmdChange_Click() BackColor= HFF End Sub 步骤 3:按要求将文件保存至考生文件夹中。 考点链接 窗体基本操作 2 【正确答案】 审题分析 本题其实就是在命令按钮的单击事件过程中用代码来设置水平滚动条的属性,并且在水平滚动条的 Change事件过程中,用 Print方法把表示水平滚动条滑块位置的 Value属性值输出到窗体上。 操作步骤 步骤 1:新建一个 “标准 EXE”工程,按表 4-33在窗体中画出控件并设置其相关属性。 步骤 2:打开代码编辑窗口,编写水平滚动条的 Change事件过程。 参考代码
10、: Private Sub Cmd1_Click() Vsb1 Max=Form1 Height Vsb1 Min=0 Vsb1 LargeChange=50 Vsb1 SmallChange=10 End Sub Private Sub Vsb1_Chanqe() Print Vsb1 Value End Sub 步骤 3:按要求将文件保存至考生文件夹中。 考点链接 滚动条 二、简单应用题 3 【正确答案】 审题分析 由本题所提供源程序可知,要求编写一个求数组中各元素与其下标相除所得的和,并在文本框中显示出来的函数。设计思路:利用 For循环语句,将数组中各元素除以其下标 (表达式为: a(
11、i) i)的值累加入一个变量 (如 sum)。循环变量的初值和终值可分别通过函数 Lbound(a)和 Ubound(a)获得。 操作步骤 步骤 1:打开考生文件夹下的工程文件 vbsj3 vbp。 步骤 2:进入代码编辑窗口,在 Function Fun()和 End Function之间输入以下代码: 参考代码: Function Fun(a() As Single) As Single Dim sum As Sinale Dim i As Integer For i=LBound(a) To UBound(a) sum=sum+a(i) i Next Fun=sum End Functi
12、on 步骤 3:按要求将文件保存至考生文件夹中。 考点链接 数组定义与操作、参数传递、 Sub过程和函数过程 4 【正确答案】 审题分析 本题源程序利用计时器的 Timer事件来控制图片的移动,因此单击 “开始 ”按钮启动计时器,而单击 “停止 ”按钮就是要停止计时器。在计时器的 Timer事件过程中,通过每次使图片框的 Left属性值增量 200实现移动,并让水平滚动条 滑块的位置随图片框的 Left属性值变化。当图片完全移出窗体的右边界 (即 Picl LeftMe Width)时,则重新从窗体左边界开始移动,即: Picl Left=0。由于题目要求不能在设计阶段修改控件属性,要想在单击
13、 “开始 ”按钮时能启动计时器,就需在窗体加载事件过程中设置计时器的 Interval属性,即 Tmr1 Interval=500。 操作步骤 步骤 1:打开考生文件夹下的工程文件 vbsj4 vbp。 步骤 2:进入代码编辑窗口,去掉程序中的注释符 “”,将问号 “?”改为正确的内容 。 参考代码: Tmr1 Enabled=False Tmr1 Interval=500 If Pic1 Left Me Width Then Pic1 Left=0 步骤 3:按要求将文件保存至考生文件夹中。 考点链接 计时器、控件基本操作 三、综合应用题 5 【正确答案】 审题分析 本题可通过一个嵌套的 F
14、or。循环,来统计满足题目要求的整数组合的个数。其中,外循环变量 i的取值范围为 1 60,内循环变量 i的取值范围为 i 60(这样 可避免出现重复的组合 )。通过表达式: 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中。 操作步骤 步骤 1:打开考生文件
15、夹下的工程文件 vbsj5 vbp,在码编辑窗口的指定位 置输入代码: 参考代码: Private Sub Command1_Click() =考生编写程序开始 = Dim i As Integer Dim j As Integer Dim n As Integer For i=1 To 59 For j=i To 60 If Sqr(i*i+j*j)=Int(Sqr (i*i+j*j) And Sqr (i*i+j*j) =60 Then n=n+1 End If Next Next Lbl1 Caption=n =考生编写程序结束 = 不要改动以下内容 save Label1 End Sub 步骤 2:按 键运行程序,单击 “计算 ”按钮。 步骤 3:按要求将文件保存至考生文件夹中。 考点链接 多重循环、常用内部函数