1、VB 机试-试卷 74 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.(1)在 Forml 窗体上绘制一个名称为 Textl 的文本框,然后建立一个主菜单,标题为“操作”,名称为Op。并为该菜单建两个子菜单,其标题分别为“显示”和“清除”,名称分别为 Dis 和 Clea。编写适当的事件过程,要求程序运行后,如果单击“操作”菜单中的“显示”命令,则在文本框中显示“计算机考试”;如果单击“清除”命令,则清除文本框中显示的内容。程序的运行情况如图 661 和图 662 所示。注意:保存时必须存放在考生文件夹
2、下,工程文件名为 sjlvbp,窗体文件名为 sjlfrm。 (2)在名称为 Forml 的窗体上绘制一个名称为 P1 的图片框,请编写适当的事件过程,使得程序在运行时,每单击一次图片框,就在图片框中输出“单击图片框”,每单击图片框外的窗体一次,就在窗体中输出“单击窗体”,运行时的窗体如图 663 所示。要求在程序中不得使用变量,每个事件过程中只能写一条语句。(分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.(1)在考生文件夹下有一个工程文件 sj3vbp(相应的窗体文件名为 sj3frm),在窗体上添加一个名称为 Listl 的列表框和
3、一个名称为 Text1 的文本框,如图 424 所示。编写窗体的 MouseDown 事件过程。程序运行后,如果用鼠标左键单击窗体,则从键盘上输入要添加到列表框中的项目(内容任意,不少于三个);如果用鼠标右键单击窗体,则从键盘上输入要删除的项目,将其从列表框中删除。程序的运行情况如图424 所示。这个程序不完整,请把它补充完整,并能正确运行。 注意:去掉程序中的注释符,把程序中的?改为适当的内容,使其正确运行,但不能修改程序中的其他部分。最后将修改后的文件按原文件名存盘。 (2)在考生文件夹下有一个工程文件 sj4vbp(相应的窗体文件名为 sj4frm),其功能是通过调用过程 FindMin
4、 求数组的最小值。程序运行后,在四个文本框中各输入一个整数,然后单击命令按钮,即可求出数组的最小值,并在窗体上显示出来(如图 425 所示)。 (分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.在窗体上有 3 个菜单,名称分别为 Read、Arg 和 Save,标题分别为“读人数据”、“计算显示”和“保存”,一个文本框,名称为 Textl,MultiLine 属性设置为 True,ScrollBars 属性没置为 2。程序运行时的窗体界面如图 167 所示。如果执行“读人数据”命令则读入 sjintxt 文件中的 50 个整数,放人一个数
5、组中,数组的下界为 1;如果执行“计算显示”命令,则把该数组中下标为奇数的元素在文本框中显示出来,求出它们的平均数,并把所求得的和在文本框中显示出来;如果执行“保存”命令,则把所求得的平均值存人考生文件夹下的 sjouttxt 文件中。在考生文件夹下有一个工程文件 sj5vbp。请将程序中有问号的地方用相应的代码补完整,并将代码前的所有注释符(即“”号)去掉。 (分数:2.00)_VB 机试-试卷 74 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.(1)在 Forml 窗体上绘制一个名称为 Tex
6、tl 的文本框,然后建立一个主菜单,标题为“操作”,名称为Op。并为该菜单建两个子菜单,其标题分别为“显示”和“清除”,名称分别为 Dis 和 Clea。编写适当的事件过程,要求程序运行后,如果单击“操作”菜单中的“显示”命令,则在文本框中显示“计算机考试”;如果单击“清除”命令,则清除文本框中显示的内容。程序的运行情况如图 661 和图 662 所示。注意:保存时必须存放在考生文件夹下,工程文件名为 sjlvbp,窗体文件名为 sjlfrm。 (2)在名称为 Forml 的窗体上绘制一个名称为 P1 的图片框,请编写适当的事件过程,使得程序在运行时,每单击一次图片框,就在图片框中输出“单击图
7、片框”,每单击图片框外的窗体一次,就在窗体中输出“单击窗体”,运行时的窗体如图 663 所示。要求在程序中不得使用变量,每个事件过程中只能写一条语句。(分数:2.00)_正确答案:(正确答案:(1)通过“菜单编辑器”来创建菜单,文本框的内容通过 Text 属性设置,Text=“”语句可将文本框中的内容清空。 建立界面并设置控件属性。程序中用到的控件及其属性见下表: 编写程序代码,参考代码如下: Private Sub Clea_Click() TextlText=“ End Sub Private Sub Dis Click() TextlText=“计算机考试“ End Sub 调试并运行程
8、序。 按题目要求存盘。(2)根据题意,新建”标准 EXE”工程,将一个图片框控件添加到窗体中,名称为 P1双击进入代码窗口,编写如下代码: Private Sub Form Click() FormlPrint“单击窗体“ End Sub Private Sub P1_Click() P1Print“单击图片框“ End Sub 单击 )解析:二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1)在考生文件夹下有一个工程文件 sj3vbp(相应的窗体文件名为 sj3frm),在窗体上添加一个名称为 Listl 的列表框和一个名称为 Text1 的文本
9、框,如图 424 所示。编写窗体的 MouseDown 事件过程。程序运行后,如果用鼠标左键单击窗体,则从键盘上输入要添加到列表框中的项目(内容任意,不少于三个);如果用鼠标右键单击窗体,则从键盘上输入要删除的项目,将其从列表框中删除。程序的运行情况如图424 所示。这个程序不完整,请把它补充完整,并能正确运行。 注意:去掉程序中的注释符,把程序中的?改为适当的内容,使其正确运行,但不能修改程序中的其他部分。最后将修改后的文件按原文件名存盘。 (2)在考生文件夹下有一个工程文件 sj4vbp(相应的窗体文件名为 sj4frm),其功能是通过调用过程 FindMin 求数组的最小值。程序运行后,
10、在四个文本框中各输入一个整数,然后单击命令按钮,即可求出数组的最小值,并在窗体上显示出来(如图 425 所示)。 (分数:2.00)_正确答案:(正确答案:(1)根据题意,新建“标准 EXE”工程,将一个列表框控件和一个文本框控件添加到窗体中,列表框控件名称为 Listl,文本框控件名称为 Textl。双击进入代码窗口,编写如下代码: Private Sub Form MouseDown(Button As Integer, Shift As Integer,X As Single,Y As Single) If Button=1 Then TextlText=InputBox(“请输入要添加
11、的项目“) ListlAddhem TextlText End If If Button=2 Then TextlText=InputBox(“请输入要删除的项目“) For i=0 To Listl ListCount-1 If ListlList(i)=TextlText Then ListlRemoveItem i End If Next i End If End Sub 单击 )解析:三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.在窗体上有 3 个菜单,名称分别为 Read、Arg 和 Save,标题分别为“读人数据”、“计算显示”和“保存
12、”,一个文本框,名称为 Textl,MultiLine 属性设置为 True,ScrollBars 属性没置为 2。程序运行时的窗体界面如图 167 所示。如果执行“读人数据”命令则读入 sjintxt 文件中的 50 个整数,放人一个数组中,数组的下界为 1;如果执行“计算显示”命令,则把该数组中下标为奇数的元素在文本框中显示出来,求出它们的平均数,并把所求得的和在文本框中显示出来;如果执行“保存”命令,则把所求得的平均值存人考生文件夹下的 sjouttxt 文件中。在考生文件夹下有一个工程文件 sj5vbp。请将程序中有问号的地方用相应的代码补完整,并将代码前的所有注释符(即“”号)去掉。
13、 (分数:2.00)_正确答案:(正确答案:根据题意,在名为 Forml 的窗体内添加 3 个主菜单,名称分别为 Read、Arg 和Save,Caption 属性分别为“读人数据”“计算显示”和“保存”,画一个列表框控件,Name 为 Listl,单击读人数据菜单,进入代码窗口,编写如下代码: Dim a(50)As Long全局变量 Dim str(50)As String全局变量 Dim total As Long Private Sub Arg_Click() 求平均值 total=total50 TextlText=total End Sub Private Sub Read_Cli
14、ck() total=0 TextlText=“ Open“AppPathg&sjintxt“For Input As#1打开“sjintxt“文件 Dim i As Integer Dim temp As Integer For i=1 To 50利用 For 循环读人数据 Input#1,temp a(i)=temp按顺序读入到数组中 Next i For i=1 To 50 total= total +a(i) 求和 str(i)=a(i) TextlText=TextlText+str(i)+vbCrLf将数组中的 50 个数放人 Text 中显示 Next i Close#1 End Sub Private Sub Save_Click() 保存数据 Open“AppPath&sjouttxt“For Output As#1 Write #1,total Close#1 将结果保存到 outtxt End Sub 单击 )解析: