1、全国计算机等级考试二级 VISUAL+BASIC 机试真题 2011 年 9 月及答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:2,分数:30.00)1.在名称为 Form1 的窗体上画一个名称为 L1 的标签,标题为“请确认”;再画两个命令按钮,名称分别为 C1、C2,标题分别为“是”、“否”,高均为 300、宽均为 800。如下图所示。请在属性窗口中设置适当属性满足以下要求:1)窗体标题为“确认”,窗体标题栏上不显示最大化和最小化按钮;2)在任何情况下,按 Enter 键都相当于单击“是”按钮;按 Esc 键都相当于单击“否”按钮。*注意:存盘时必须存放在
2、考生文件夹下,工程文件名为sjt11.vbp,窗体文件名为 sjt11.frm。(分数:15.00)_2.在名称为 Form1 的窗体上画一个文本框,名称为 Text1,其宽度为 1000;再画一个滚动条,名称为HS1。其刻度值的范围是 10002000。请编写滚动条的 Change 事件过程,程序运行后,如果移动滚动框,则可按照滚动条的刻度值改变文木框的宽度。运行时的窗体如下图所示。程序中不能使用任何变量,事件过程只能写一条语句。*注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt12.vbp,窗体文件名为 sjt12.frm。(分数:15.00)_二、二 简单应用题(总题数:2,分数
3、:40.00)3.在考生文件夹下有一个工程文件 stj3.vbp,相应的窗体文件为 stj3.frm。在窗体上有一个名称为Command1、标题为“计算”的命令按钮;两个水平滚动条,名称分别为 Hscroll1 和 Hscroll2,其 Max 属性均为 100,Min 属性均为 1;四个标签,名称分别为 Lable1、Lable2、Lable3 和 Lable4,标题分别为“运算数 1”、“运算数 2”、“运算数结果”和空白;此外还有一个包含有四个单选按钮的控件数组,名称为 Option1,标题分别为“+”、“-”、“*”、“/”,如图所示。程序运行后,移动两个滚动条中的滚动框,用滚动条的当
4、前值作为运算数,如果选中一个单选按钮,然后单击命令按钮,相应的计算结果将显示在 Lable4 中,程序运行情况如图所示。这个程序不完整,请把它补充完整,并能正确运行。(分数:20.00)_4.在考生文件夹下有一个工程文件 stj4.vbp,相应的窗体文件为 stj4.frm,其功能是通过调用过程FindMax 求数组的最大值,请装入该文件,程序运行后,在四个文本框中各输入一个整数,然后单击命令按钮,即可求得数组的最大值,并在窗体上显示出来(如下图所示)。这个程序不完整,请把它补充完整,并能正确运行。(分数:20.00)_三、三 综合应用题(总题数:1,分数:30.00)5.在考生文件夹下有工程
5、文件 djks044.vbp 及窗体文件 djks044.frm,该程序是不完整的,请在有?的地方填入正确内容,然后删除?及所有注释符(),但不能修改其他部分。存盘时不得改变文件名和文件夹。本题描述如下:在 Form1 窗体上建立一个名称为 Op1 的单选按钮数组,含有三个单选按钮,其标题分别为“10!”、“11!”、“12!”,Index 属性分别为 0、1、2;再画两个命令按钮,按钮的名称分别为 Cmd1与 Cmd2,标题分别为“计算”与“保存”;画一个名称为 Tex1 的文本框。程序的功能是在选定一个单选框并单击“计算”按钮后,可以计算出相应的阶乘值,在 Text1 中显示该值。单击“保
6、存”,文本框中的数据可以保存到考生文件夹下的 out044.txt 文件夹中。注意窗体加载时,Cmd2 按钮不可用,单击“计算”按钮后,Cmd2 变为可用。程序运行时的窗体界面如下图所示。(分数:30.00)_全国计算机等级考试二级 VISUAL+BASIC 机试真题 2011 年 9 月答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:2,分数:30.00)1.在名称为 Form1 的窗体上画一个名称为 L1 的标签,标题为“请确认”;再画两个命令按钮,名称分别为 C1、C2,标题分别为“是”、“否”,高均为 300、宽均为 800。如下图所示。请在属性窗口中设
7、置适当属性满足以下要求:1)窗体标题为“确认”,窗体标题栏上不显示最大化和最小化按钮;2)在任何情况下,按 Enter 键都相当于单击“是”按钮;按 Esc 键都相当于单击“否”按钮。*注意:存盘时必须存放在考生文件夹下,工程文件名为sjt11.vbp,窗体文件名为 sjt11.frm。(分数:15.00)_正确答案:(步骤 1:启动 VB,新建工程文件。步骤 2:设计窗体。根据题意,该用户界面包括四个对象,即窗体,一个标签和两个按钮。步骤 3:设置属性。根据题意,窗体的标题(Caption)属性改为“确认”,MaxBotton 与 MinBotton 属性均设为 False。设置按钮的标题(
8、Caption)属性分别为“是”、“否”,设置相应的宽高,把 C1 的 Default属性设置为”true”,把 C2 的 Cancel 属性性设置为”true”,编辑窗口编写代码如下:Private Sub C2_Click( )C1.SetFocusEnd Sub步骤 4:保存。程序设计完成经调试无误后进行存盘。执行“文件”菜单中的“保存工程”命令,打开“文件另存为”对话框,窗体文件名为“Stj1.form”,单击保存按钮。然后在紧接着出现的“工程另存为”对话框中选择工程文件名为“stj1.vbp”,单击保存按钮。)解析:解析 首先按试题要求在窗体上画一个标签和两个命令按钮,并分别将它们的
9、属性按试题要求进行设置。窗体标题栏中的最大化和最小化按钮是用 MinButton 属性和 MaxButton 属性来设置的。Cancel属性返回或设置一个值,用来指示窗体中命令按钮是否为取消按钮。Default 属性设置默认的焦点,为保证任何时候按 Enter 键都相当于单击 C1 按钮还需在 C2 的 Click 事件中使用 C1 的 SetFocus 方法。2.在名称为 Form1 的窗体上画一个文本框,名称为 Text1,其宽度为 1000;再画一个滚动条,名称为HS1。其刻度值的范围是 10002000。请编写滚动条的 Change 事件过程,程序运行后,如果移动滚动框,则可按照滚动条
10、的刻度值改变文木框的宽度。运行时的窗体如下图所示。程序中不能使用任何变量,事件过程只能写一条语句。*注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt12.vbp,窗体文件名为 sjt12.frm。(分数:15.00)_正确答案:(步骤 1:启动 VB,新建工程文件。步骤 2:设计窗体。根据题意,该用户界面包括三个对象,即窗体、一个文本框和一个命令按钮。因此在窗体上添加一个文本框和一个命令按钮并放置在窗体的适当位置。步骤 3:设置属性。根据题意,窗体的名称(Name)和标题(Caption)属性都为默认的 Form1,因此无需再为其重新设置属性。将文本框的名称(Name)和标题(Capt
11、ion)属性分别设置为“Text1”和空值。将命令按钮的名称(Name)和标题(Caption)属性分别设置为“C1”和“移动”。设置完属性之后就可以通过双击命令按钮进入代码编辑窗口编写代码如下:1 Private Sub C1_Click( )2 Text1.Left=03 End Sub步骤 4:保存。程序设计完成经调试无误后进行存盘。以 Stj2.vbp 和 sjt2.frm 进行保存。)解析:解析 本题主要考查对象的 Left 属性的概念。Left 属性使用来设置对象的左边的坐标值,坐标值的默认单位为 twip。当用程序代码设计时其格式为:对象.Left=x。这里的对象可以是窗体和绝大
12、多数控件。当“对象”为窗体时,Left 指的是窗体得左边界于屏幕左边界的相对距离;而当“对象”为控件时,Left 指控件的左边界与窗体的左边的相对距离。和 Left 属性相同的还有 top 属性,它是用来设置对象的顶边的坐标值,其对象的概念和 Left 属性中相同。本题要求单击按钮后文本框水平移动到窗体的最左端。对象为文本框,它的 Left 值是相对于窗体的左边界来说的,因此当它移动到窗体最左端时其Left 值为 0。二、二 简单应用题(总题数:2,分数:40.00)3.在考生文件夹下有一个工程文件 stj3.vbp,相应的窗体文件为 stj3.frm。在窗体上有一个名称为Command1、标
13、题为“计算”的命令按钮;两个水平滚动条,名称分别为 Hscroll1 和 Hscroll2,其 Max 属性均为 100,Min 属性均为 1;四个标签,名称分别为 Lable1、Lable2、Lable3 和 Lable4,标题分别为“运算数 1”、“运算数 2”、“运算数结果”和空白;此外还有一个包含有四个单选按钮的控件数组,名称为 Option1,标题分别为“+”、“-”、“*”、“/”,如图所示。程序运行后,移动两个滚动条中的滚动框,用滚动条的当前值作为运算数,如果选中一个单选按钮,然后单击命令按钮,相应的计算结果将显示在 Lable4 中,程序运行情况如图所示。这个程序不完整,请把它
14、补充完整,并能正确运行。(分数:20.00)_正确答案:(1)启动 VB 程序,打开考生文件夹下的工程文件 stj3.vbp。(2)双击窗体的任意位置,进入代码编辑窗口,完善程序如下:1 Private Sub Command1_Click( )2 For i=0 To 33 If Option1(i)Value=TrueTheni. opt=Option1(i)Caption4 End If5 Next6 Select Case opt7 Case “+“8 Result =HScroll1.Value +HScroll2.Value9 Case “-“10 Result= HScroll1
15、.ValueHScroll2.Value11 Case “*“12 Result=HScroll1.7alue *HScroll2.Value13 Case “/“14 Result=HScroll1.Value/HScroll2.Value15 End Select16 Label4,Caption = Str(HScroll1.Value) & “ & opt &Str(HScroll2.Value) & “=“ &Str(Result)17 End Sub(3)单击启动键运行成功,按考试要求将文件保存在考生文件夹下。)解析:解析 (1)OptionButton 控件的 Value 属性,
16、返回或设置控件的状态,True 表示已选择了该按钮;False(缺省值)表示没有选择该按钮。所以第一个?和处应为:Option(i).Value=True 表示选中 Option(i)按钮。(2)Select Case 语句:根据表达式的值执行几组语句之一。语法:Select Case 测试表达式Case 表达式列表 1语句块 1Case 表达式列表 2语句块 2Case Else语句块 nEnd Select本题要根据所选的单选按钮进行相应的计算,所以第二个?处应为:opt要考生引起注意的是,滚动条的 Value 值是一个数值类型,所以我们可以用来直接做数学运算,而标签的Caption 值是
17、一个字符串类型的,故在最后将计算结果在标签上显示出来时,需要用 Str( )函数将计算结果转换为字符串类型。4.在考生文件夹下有一个工程文件 stj4.vbp,相应的窗体文件为 stj4.frm,其功能是通过调用过程FindMax 求数组的最大值,请装入该文件,程序运行后,在四个文本框中各输入一个整数,然后单击命令按钮,即可求得数组的最大值,并在窗体上显示出来(如下图所示)。这个程序不完整,请把它补充完整,并能正确运行。(分数:20.00)_正确答案:(1)启动 VB 程序,打开考生文件夹下的工程文件 stj4.vbp。(2)双击窗体中的任何位置,进入代码编辑窗口,完善程序如下:1 priva
18、te Function FindMin(a( )As Integer)2 Dim Start As Integer3 Dim Finish As Integer,i AsInteger4 Start=LBound(a)5 Finish=UBound(a)6 Min=a(Start)7 For i=Start To Finish8 If a(i)Min Then Min=a(i)9 Next i10 FindMin=Min11 End Function12 Private Sub Command1_Click( )13 Dim art114 Dim art2(4)As Integer15 arr
19、1=Array(Val(Text1.Text),Val(Text2.Text),Val(Text3.Text),Val(Text4.Text)16 For i=1 To 417 art2(i)=CInt(arr1(i)18 Next i19 M=FindMin(art2( )20 Print “最大值是:“;M21 End Sub(3)单击启动键运行成功。(4)按考试要求将文件保存在考生文件夹下。)解析:过程 FindMin 求数组的最小值。将数组的第一个值设为最小值 Min,其后的值依次与之比较,若小,则将其赋给 Min,最终得到的就是最小值。所以有 Start=LBound(a),Fini
20、sh=UBound(a)和 Min=a(Start)2命令按钮的 click 事件中对输入的四个数据求最小值,大小比较运算是基于数值的,文本框中数值类型为字符串,所以首先采用 Val( )函数进行数据类型转换,然后调用求最小值的 FindMin 过程得到最小值,并将它输出。三、三 综合应用题(总题数:1,分数:30.00)5.在考生文件夹下有工程文件 djks044.vbp 及窗体文件 djks044.frm,该程序是不完整的,请在有?的地方填入正确内容,然后删除?及所有注释符(),但不能修改其他部分。存盘时不得改变文件名和文件夹。本题描述如下:在 Form1 窗体上建立一个名称为 Op1 的
21、单选按钮数组,含有三个单选按钮,其标题分别为“10!”、“11!”、“12!”,Index 属性分别为 0、1、2;再画两个命令按钮,按钮的名称分别为 Cmd1与 Cmd2,标题分别为“计算”与“保存”;画一个名称为 Tex1 的文本框。程序的功能是在选定一个单选框并单击“计算”按钮后,可以计算出相应的阶乘值,在 Text1 中显示该值。单击“保存”,文本框中的数据可以保存到考生文件夹下的 out044.txt 文件夹中。注意窗体加载时,Cmd2 按钮不可用,单击“计算”按钮后,Cmd2 变为可用。程序运行时的窗体界面如下图所示。(分数:30.00)_正确答案:(单击考试界面的“功能”选项,从
22、弹出的菜单中选择“启动应用程序”选项。Visual Basic启动后,打开考生文件下的工程文件。2分别单击工具箱的按钮控件及文本框控件,在窗体上画出一个文本框和一个控制按钮。文本框的 Name属性为 Text1;控制按钮的 Name 属性为 Cmd1,Caption 属性为“计算”。双击工具箱中的单选按钮,在窗体上复制该按钮,然后粘贴,在弹出的对话框中选择“是”,建立一个包含三个单选按钮的控件数组,Caption 属性分别为“10!”、“11!”、“12!”。3双击窗体的任何部分,进入程序编写窗口,补充程序如下:第一个?处填 2第二个?处填 Out第三个?处填 t=t*i第四个?处填 False4填写完毕,删除“”符号,调试程序,确定无误后,将工程与窗体按照原来的文件名保存在考生文件夹下。)解析:解析 本题程序代码中包含一个函数过程 Out,该过程用来计算以 n 为参数的阶乘。第三个?处填t=t*i,表示阶乘,阶乘值赋给 t。第二个?处填 Out,表示对函数过程的引用。第一个?处填2。Left$(Opl(i)Caption,2)表示返回字符串 Opl(i)Caption 从左开始的 2 个字符,即需要传给 Out过程的实参。根据题意,窗体加载时,Cmd2 按钮不可用,表示禁用,故在第四个?处填 False。