1、二级 VISUAL+BASIC 机试-94 及答案解析(总分:100.00,做题时间:90 分钟)一、1 基本操作题(总题数:2,分数:30.00)1.在窗体中绘制一个文本框(名称为 Text1)大于和一个命令按钮并将所有数据写入考生文件夹名称为Cmd1,标题为 Display。请编写 Cmd1 的 Click 事件过程,使得 Begin 按钮变成,“E 完成键就调”按钮用这个事件过程且在文本框中显示 VisualBasic,程序运行结果如下图所示。该程序不完整,注意:及所有注释符“”,但不能修改其他部分,在程序中不能使用任何变量;文件必须存放在考生文件夹中,相应的数据文件也保存到考生文件夹下
2、,工程文件名为 sj1.vbp,窗体文件名为sj1.frm。(分数:15.00)_2.在名为 Form1 的窗体上绘制一个文本框,名为 Text1,无初始内容;再绘制一个图片框,名为 Pic1。请编写 Text1 的 Change 事件过程,使得在运行时,在文本框中每输入一个字符,就在图片框中输出一行文本框中的完整内容。运行时的窗体如下图所示。注意:程序中不能使用任何变量,文件必须存放在考生文件夹中,工程文件名为 sj2.vbp,窗体文件名为sj2.frm。(分数:15.00)_二、2 简单应用题(总题数:2,分数:40.00)3.在考生文件夹中有工程文件 sj3.vbp 及窗体文件 sj3.
3、frm。在名为 Form1 的窗体上有 3 个 Label 控件和两个命令按钮,Label 控件均为提示信息。命令按钮名称分别为 Cmd1 和 Cmd2,标题分别为 Quit 和Begin。程序运行后,单击“Begin“按钮,程序自动利用循环计算 1+1/2+1/3+1/10 的结果,并把结果写入到考生文件夹中的 out67.dat 文件中。执行完毕,“Begin”按钮变成“End“按钮,且无效(变灰),如下图所示。要求:在有问号“?”的地方填人正确内容,然后删除“?”及所有注释符“”,但不得修改其他部分。保存时不得改变文件名和文件夹。(分数:20.00)_4.在考生文件夹中有一个工程文件 s
4、j4.vbp(相应的窗体文件名为 sj4.frm)。在名为 Form1 的窗体上有 4个文本框,初始内容为空;1 个命令按钮,标题为“求 Max。其功能是通过调用过程 FindMax 求数组的最大值。请装入该文件。程序运行后,在 4 个文本框中各输入一个整数,然后单击命令按钮,即可求出数组的最大值,并在窗体上显示出来(如下图所示)。本程序不完整,请补充完整,并能正确运行。要求:去掉程序中的注释符“”,把程序中的问号“?”改为正确的内容,使其实现上述功能,但不得修改程序的其他部分。最后按原文件名并在原文件夹中保存修改后的文件。(分数:20.00)_三、3 综合应用题(总题数:1,分数:30.00
5、)5.在窗体 Form1 上建立 3 个菜单(名称分别为 vbRead、vbCalc 和 vbSave,标题分别为“读数”、“计算”和“存盘”);然后绘制一个文本框(名称为 Text1,MultiLine 属性设置为 True,ScrollBars 属性设置为2),如下图所示。程序运行后,如果执行“读数”命令,则读入 in34.txt 文件中的 100 个整数,放入一个数组中,数组的下界为 1;如果执行“计算”命令,则把该数组中可以被 3 整除的元素在文本框中显示出来,求出它们的和,并把所求得的和在窗体上显示出来;如果执行“存盘”命令,则把所求得的和存人考生文件夹下的out34.txt 文件中
6、。在考生文件夹下有一个工程文件 sj5.vbp,考生可以装入该文件。窗体文件 sj5.frm 中的 ReadData 过程可以把 in34.txt 文件中的 100 个整数读入 Arr 数组中;而 writeData 过程可以把指定的整数值写到考生文件夹指定的文件中(整数值通过计算求得,文件名为 out34.txt)。注意:考生不得修改窗体文件中已经存在的程序。存盘时,工程文件名仍为 sj5.vbp,窗体文件名仍为sj5.frm。(分数:30.00)_二级 VISUAL+BASIC 机试-94 答案解析(总分:100.00,做题时间:90 分钟)一、1 基本操作题(总题数:2,分数:30.00
7、)1.在窗体中绘制一个文本框(名称为 Text1)大于和一个命令按钮并将所有数据写入考生文件夹名称为Cmd1,标题为 Display。请编写 Cmd1 的 Click 事件过程,使得 Begin 按钮变成,“E 完成键就调”按钮用这个事件过程且在文本框中显示 VisualBasic,程序运行结果如下图所示。该程序不完整,注意:及所有注释符“”,但不能修改其他部分,在程序中不能使用任何变量;文件必须存放在考生文件夹中,相应的数据文件也保存到考生文件夹下,工程文件名为 sj1.vbp,窗体文件名为sj1.frm。(分数:15.00)_正确答案:(新建一个名为 Form1 的窗体;单击工具箱中的 T
8、extBox 控件图标,在窗体上拖拉出一个文本框,在属性窗口设置该文本框名称为Text1;单击工具箱中的 Command Button 控件图标,在窗体上拖拉出一个命令按钮,在属性窗口设置该命令按钮名称为 Cmd1,Caption 属性为 Display。KeyPress 事件是当用户按下和松开一个键时发生,用参数KeyAscii 来返回所按键的 Ascii 码;打开代码窗口输入如下代码:Private Sub Cmd1_Click()Text1.Text=“Visual Basic“当单击按钮时在文本框显示“Visual Basic”End SubPrivate Sub Form_KeyPr
9、ess(KeyAscii As Integer)If KeyAscii=27 Then当按键盘 Esc 键时,也就是 KeyAscii=27 时,调用按钮事件Call Cmd1_ClickEnd IfEnd Sub按要求保存文件即完成本题。)解析:2.在名为 Form1 的窗体上绘制一个文本框,名为 Text1,无初始内容;再绘制一个图片框,名为 Pic1。请编写 Text1 的 Change 事件过程,使得在运行时,在文本框中每输入一个字符,就在图片框中输出一行文本框中的完整内容。运行时的窗体如下图所示。注意:程序中不能使用任何变量,文件必须存放在考生文件夹中,工程文件名为 sj2.vbp,
10、窗体文件名为sj2.frm。(分数:15.00)_正确答案:(新建一个名为 Form1 的窗体;单击工具箱中的 PictureBox 控件图标,在窗体上拖拉出一个图片框,在属性窗口设置该图片框名称为Pic1;单击工具箱中的 TextBox 控件图标,在窗体上拖拉出一个文本框,在属性窗口设置该文本框名称为Text1,设置其 Text 属性为空白;打开代码窗口输入如下代码:Private Sub Text1_Change()将文本框内容显示在图片框中End Sub按要求保存文件即完成本题。)解析:二、2 简单应用题(总题数:2,分数:40.00)3.在考生文件夹中有工程文件 sj3.vbp 及窗体
11、文件 sj3.frm。在名为 Form1 的窗体上有 3 个 Label 控件和两个命令按钮,Label 控件均为提示信息。命令按钮名称分别为 Cmd1 和 Cmd2,标题分别为 Quit 和Begin。程序运行后,单击“Begin“按钮,程序自动利用循环计算 1+1/2+1/3+1/10 的结果,并把结果写入到考生文件夹中的 out67.dat 文件中。执行完毕,“Begin”按钮变成“End“按钮,且无效(变灰),如下图所示。要求:在有问号“?”的地方填人正确内容,然后删除“?”及所有注释符“”,但不得修改其他部分。保存时不得改变文件名和文件夹。(分数:20.00)_正确答案:(打开题目所
12、给工程文件;将注释语句改为:Open App.Path& “/“ & “out.txt“ For Output As#1E=1Write#1,ECmd1.Caption=“End“Cmd1.Enabled=False按要求保存文件即完成本题。)解析:4.在考生文件夹中有一个工程文件 sj4.vbp(相应的窗体文件名为 sj4.frm)。在名为 Form1 的窗体上有 4个文本框,初始内容为空;1 个命令按钮,标题为“求 Max。其功能是通过调用过程 FindMax 求数组的最大值。请装入该文件。程序运行后,在 4 个文本框中各输入一个整数,然后单击命令按钮,即可求出数组的最大值,并在窗体上显示
13、出来(如下图所示)。本程序不完整,请补充完整,并能正确运行。要求:去掉程序中的注释符“”,把程序中的问号“?”改为正确的内容,使其实现上述功能,但不得修改程序的其他部分。最后按原文件名并在原文件夹中保存修改后的文件。(分数:20.00)_正确答案:(打开题目所给工程文件;将注释语句改为:Start=LBound(a)Finish=UBound(a)Max=a(Start)If a(i)Max Then Max=a(i)M=Find Max(arr2()按要求保存文件即完成本题。)解析:三、3 综合应用题(总题数:1,分数:30.00)5.在窗体 Form1 上建立 3 个菜单(名称分别为 vb
14、Read、vbCalc 和 vbSave,标题分别为“读数”、“计算”和“存盘”);然后绘制一个文本框(名称为 Text1,MultiLine 属性设置为 True,ScrollBars 属性设置为2),如下图所示。程序运行后,如果执行“读数”命令,则读入 in34.txt 文件中的 100 个整数,放入一个数组中,数组的下界为 1;如果执行“计算”命令,则把该数组中可以被 3 整除的元素在文本框中显示出来,求出它们的和,并把所求得的和在窗体上显示出来;如果执行“存盘”命令,则把所求得的和存人考生文件夹下的out34.txt 文件中。在考生文件夹下有一个工程文件 sj5.vbp,考生可以装入该
15、文件。窗体文件 sj5.frm 中的 ReadData 过程可以把 in34.txt 文件中的 100 个整数读入 Arr 数组中;而 writeData 过程可以把指定的整数值写到考生文件夹指定的文件中(整数值通过计算求得,文件名为 out34.txt)。注意:考生不得修改窗体文件中已经存在的程序。存盘时,工程文件名仍为 sj5.vbp,窗体文件名仍为sj5.frm。(分数:30.00)_正确答案:(打开题目所给工程文件;执行“工具”菜单中的“菜单编辑器”命令,打开菜单编辑器;在“标题”栏中输入“读数”,在“名称”栏中输入“vbRead”;单击“下一个”按钮,在“标题”栏中输入“计算”,在“
16、名称”栏中输入“vbCac1”;单击“下一个”按钮。在“标题”栏中输入“存盘”,在“名称”栏中输入“vbSave”;单击工具箱中的 TextBox 控件图标,在窗体上拖拉出一个文本框,在属性窗口设置其名称为Text1,Multiline 属性设置为 True,ScrollBars 属性设置为 2;打开代码窗口输入如下代码:Private Sub vbCalc_Click()Text1.Text=“ “For i=1 To 100If Arr(i)Mod3=0 ThenText1.Text=Text1.Text &Arr(i)&Space(5)temp=temp+Arr(i)End IfNext iPrint tempEnd SubPrivate Sub vbRead_Click()Read DataEnd SubPrivate Sub vbSave_Click()WriteData“out.txt“,tempEnd Sub按要求保存文件即完成本题。)解析: