1、二级 VISUAL+BASIC 机试 55 及答案解析(总分:100.00,做题时间:90 分钟)一、B1 基本操作题/B(总题数:1,分数:30.00)1.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。 (1) 在名称为 Form1 的窗体上画两个标签(名称分别为 Label1 和Label2,标题分别为“书名”和“作者”)、两个文本框(名称分别为 Text1 和 Text2,Text 属性均为空白)和一个命令按钮(名称为 Command1,标题为“显示”),如图 22-1 所示。然
2、后编写命令按钮的 Click 事件过程。程序运行后,在两个文本框中分别输入书名和作者,然后单击命令按钮,则在窗体的标题栏上先后显示两个文本框中的内容,如图 22-2 所示。要求程序中不得使用任何变量。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1.vbp,窗体文件名为 sjt1.frm。 (2) 在名称为 Form1 的窗体上画一个垂直滚动条(名称为 VScroll1)和一个水平滚动条(名称为 HScroll1),如图 22-3 所示。在属性窗口中对两个滚动条设置如下属性: Min 1500 Max 6000 LargeChange 200 SmallChange 50 编写适当
3、的事件过程。程序运行后,如果移动滚动条上的滚动框,则可扩大或缩小窗体。运行后的窗体如图 22-4 所示。要求程序中不得使用任何变量。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt2.vbp,窗体文件名为 sjt2.frm。 (分数:30.00)_二、B2 简单应用题/B(总题数:1,分数:40.00)2.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 (1) 在名称窗体为 Form1,KeyPreview属性为 True 的窗体上有一个列表框(名称为 List1)和一个文本框(名称为 Text1),如图 22-5 所示。编写窗体的 KeyDown 事件过程。
4、程序运行后,如果按“A”键,则从键盘上输入要添加到列表框中的项目(内容任意,不少于三个);如果按“D”键,则从键盘上输入要删除的项目,将其从列表框中删除。程序的运行情况如图 22-6 所示。 在考生文件夹下有一个工程文件 sjt3.vbp(相应的窗体文件名为 sjt3.frm),可以实现上述功能。但这个程序不完整,请把它补充完整。 要求:去掉程序中的注释符,把程序中的?改为适当的内容,使其正确运行,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。 (2) 在考生文件夹下有一个工程文件 sjt4.vbp(相应的窗体文件名为 sjt4.frm),其功能是通过调用过程 Average
5、求数组的平均值,请装入该文件。程序运行后,在 4 个文本框中各输入一个整数,然后单击命令按钮,即可求出数组的平均值,并在窗体上显示出来,如图 22-7 所示。这个程序不完整,请把它补充完整,并能正确运行。 要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。 (分数:40.00)_三、B3 综合应用题/B(总题数:1,分数:30.00)3.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 去掉程序中的注释符,把程序中的?改为正确的内容,使其实现下述功能,但不能修改程序中的其他部分。 在窗体
6、上有三个菜单(名称分别为Read、Calc 和 Save,标题分别为“读入数据”、“计算并输出”和“存盘”),还有一个文本框(名称为Text1,MultiLine 属性设置为 True,ScrollBars 属性设置为 2),如图 22-8 所示。 程序运行后,如果执行“读入数据”命令,则读入 datain1.txt 文件中的 100 个整数,放入一个数组中,数组的下界为 1;如果单击“计算并输出”按钮,则把该数组中可以被 3 整除的元素在文本框中显示出来,求出它们的和,并把所求得的和在窗体上显示出来;如果单击“存盘”按钮,则把所求得的和存入考生文件夹下的dataout.txt 文件中。 在考
7、生文件夹下有一个工程文件 sjt5.vbp,窗体文件中的 ReadData 过程可以把datain1.txt 文件中的 100 个整数读入 Arr 数组中;而 WriteData 过程可以把指定的整数值写到考生文件夹下指定的文件中(整数值通过计算求得,文件名为 dataout.txt)。 注意:考生不得修改窗体文件中已经存在的程序。存盘时,工程文件名仍为 sjt5.vbp,窗体文件名仍为 sjt5.frm。 (分数:30.00)_二级 VISUAL+BASIC 机试 55 答案解析(总分:100.00,做题时间:90 分钟)一、B1 基本操作题/B(总题数:1,分数:30.00)1.注意:下面
8、出现的“考生文件夹”均为 c:/wexam/25160001。 请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。 (1) 在名称为 Form1 的窗体上画两个标签(名称分别为 Label1 和Label2,标题分别为“书名”和“作者”)、两个文本框(名称分别为 Text1 和 Text2,Text 属性均为空白)和一个命令按钮(名称为 Command1,标题为“显示”),如图 22-1 所示。然后编写命令按钮的 Click 事件过程。程序运行后,在两个文本框中分别输入书名和作者,然后单击命令按钮,则在窗体的标题栏上先后显示两个文本框中的内容,如图 22-2 所
9、示。要求程序中不得使用任何变量。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1.vbp,窗体文件名为 sjt1.frm。 (2) 在名称为 Form1 的窗体上画一个垂直滚动条(名称为 VScroll1)和一个水平滚动条(名称为 HScroll1),如图 22-3 所示。在属性窗口中对两个滚动条设置如下属性: Min 1500 Max 6000 LargeChange 200 SmallChange 50 编写适当的事件过程。程序运行后,如果移动滚动条上的滚动框,则可扩大或缩小窗体。运行后的窗体如图 22-4 所示。要求程序中不得使用任何变量。注意:存盘时必须存放在考生文件夹下,
10、工程文件名为 sjt2.vbp,窗体文件名为 sjt2.frm。 (分数:30.00)_正确答案:()解析:解析:在窗体上建立好控件后,先设置控件属性,再编写事件过程。标签和命令按钮的标题各自的 Caption 属性来设置,文本框显示的内容由 Text 属性设置,窗体的标题由其 Caption 属性来设置。在 Visual Basic 中可以用“+”或“ AverEnd Sub参考代码:Option Base 1Private Function Average(a() As Integer) As SingleDim Start As Integer, Finish As IntegerDim
11、 i As IntegerDim Sum As IntegerStart=LBound(a)Finish=UBound(a)Sum= 0For i=Start To FinishSum=Sum+a(i)Next iAverage=Sum/FinishEnd FunctionPrivate Sub Command1_Click()Dim arr1Dim arr2(4) As Integerarr1=Array(Val(Text1.Text) , Val(Text2.Text) , Val(Text3.Text) , Val(Text4.Text) )For i=1 To 4arr2(i)=CIn
12、t(arr1(i) )Next iAver=Average (arr2)Print “平均值是:“; AverEnd Sub第三步:调试并运行程序。第四步:按题目要求存盘三、B3 综合应用题/B(总题数:1,分数:30.00)3.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 去掉程序中的注释符,把程序中的?改为正确的内容,使其实现下述功能,但不能修改程序中的其他部分。 在窗体上有三个菜单(名称分别为Read、Calc 和 Save,标题分别为“读入数据”、“计算并输出”和“存盘”),还有一个文本框(名称为Text1,MultiLine 属性设置为 True,Scro
13、llBars 属性设置为 2),如图 22-8 所示。 程序运行后,如果执行“读入数据”命令,则读入 datain1.txt 文件中的 100 个整数,放入一个数组中,数组的下界为 1;如果单击“计算并输出”按钮,则把该数组中可以被 3 整除的元素在文本框中显示出来,求出它们的和,并把所求得的和在窗体上显示出来;如果单击“存盘”按钮,则把所求得的和存入考生文件夹下的dataout.txt 文件中。 在考生文件夹下有一个工程文件 sjt5.vbp,窗体文件中的 ReadData 过程可以把datain1.txt 文件中的 100 个整数读入 Arr 数组中;而 WriteData 过程可以把指定
14、的整数值写到考生文件夹下指定的文件中(整数值通过计算求得,文件名为 dataout.txt)。 注意:考生不得修改窗体文件中已经存在的程序。存盘时,工程文件名仍为 sjt5.vbp,窗体文件名仍为 sjt5.frm。 (分数:30.00)_正确答案:()解析:解析 在 Visual Basic 中,菜单项通过菜单编辑器来建立。程序中用到的 Mod 是取模的运算符,如:N Mod 3=0 则说明余数为 0,N 能被 3 整除,否则 N 不能被 3 整除。对文件的操作都有 3 个步骤:打开(Open)、读写、关闭(Close)。解题步骤:第一步:建立菜单项、建立界面并设置控件属性。程序中用到的菜单
15、项及其控件属性见表 22-5。表 22-5 标 题 名 称 内 缩 符 号读入数据 Read 0计算并输出 Calc 0存盘 Save 0ext Name Text1第二步:编写程序代码。程序提供的代码:Option Base 1Dim Arr(100) As IntegerDim temp As IntegerSub ReadData()Open App.Path & “/“ & “datain1.txt“ For Input As #1For i=1 To 100Input #1, Arr(i)Next iClose #1End SubSub WriteData(Filename As S
16、tring, Num As Integer)Open App.Path & “/“ & Filename For Output As #1Print #1, Num?#1End SubPrivate Sub Calc_Click()Text1.?=“For i=1 To 100If Arr(i) Mod 3=0 ThenText1.Text=Text1.Text & Arr(i) & Space(5)temp=temp+9End IfNext iPrint tempEnd SubPrivate Sub Read_Click()ReadDataEnd SubPrivate Sub Save_Cl
17、ick()WriteData “dataout.txt“, tempEnd Sub参考代码:Option Base 1Dim Arr(100) As IntegerDim temp As IntegerSub ReadData()Open App.Path & “/“ & “datain1.txt“ For Input As #1For i=1 To 100Input #1, Arr(i)Next iClose #1End SubSub WriteData(Filename As String, Num As Integer)Open App.Path & “/“ & Filename For
18、 Output As #1Print #1, NumClose #1End SubPrivate Sub Calc_Click()Text1.Text=“For i=1 To 100If Art(i) Mod 3=0 ThenText1.Text=Text1.Text & Arr(i) & Space(5)temp=temp+Arr(i)End IfNext iPrint tempEnd SubPrivate Sub Read_Click()ReadDataEnd SubPrivate Sub Save_Click()WriteData “dataout.txt“, tempEnd Sub第三步:调试并运行程序。第四步:按题目要求存盘。