1、VB 机试-试卷 83 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.(1)在窗体 Forml 上画一个命令按钮,名称为 Command1,标题为“打开文件”,在窗体上添加适当的控件并编写适当的程序代码,要求程序运行时,单击“打开文件”命令按钮,可以弹出“打开文件”对话框。程序运行时的窗体界面如图 51 所示。 注意:保存时必须存放在考生文件夹下,窗体文件名为sj1frm,工程文件名为 sj1.vbp。 (2)在窗体 Forml 上画一个列表框,名称为 List1,有“Item1”、“Item2”、“I
2、tera3”和“Item4”4 个表项。要求编写适当的程序代码,当双击列表中某一项时,弹出一个对话框提示“是否删除”。对话框中只有“是”与“否”两个选择按钮,单击按钮,则继续当前的操作。程序运行时的窗体界面如图 52 所示。 (分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.(1)在考生文件夹下有一个工程文件 sj3vbp,窗体上有两个单选按钮,标题为“Iteml”和“Item2”;两个标题分别为“按钮 1”和“按钮 2”的命令按钮,如图 70-3 所示。程序的功能是:运行时如果选中单选按钮“Iteml”后,“按钮 1”可用,“按钮 2”
3、不可用;如果选中单选按钮 Item2 后,则相反,单击可用按钮,在窗口上打印该按钮的标题。 注意:设初始选中的是“Iteml”;去掉程序中的注释符“”,把程序中的“?”改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分,也不能修改控件的其他属性。最后把修改后的文件按原文件名存盘。 (2)在考生文件夹下有一个工程文件 sj4vbp,相应的窗体文件为 sj4.frm,在窗体上有一个命令按钮和两个文本框。程序运行后,单击计算按钮,即可计算出大于 Text1 中输入的数且能被 3、5 和 7 同时整除的最小整数并在文本框 Text2 中显示出来,如图70 一 4 所示。在窗体的代码窗口中,已
4、给出了部分程序。 (分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.在考生文件夹下有一个工程文件 sj5vbp,相应的窗体文件为 sj5frm,此外在考生文件夹下还有一个名为 in5txt 的文本文件,其内容如下: 10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34 程序运行后,双击窗体,将把文件 in5txt 中的数据输人到二维数组 Arr 中,在窗体上按 5 行5 列的矩阵形式显示出来,并在其下显示该矩阵左上一右下对角线的右上部分。在窗体
5、的代码窗口中,已给出了部分程序,这个程序不完整,请把它补充完整,并使之能正确运行。程序运行效果如图 2-5 所示。(分数:2.00)_VB 机试-试卷 83 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.(1)在窗体 Forml 上画一个命令按钮,名称为 Command1,标题为“打开文件”,在窗体上添加适当的控件并编写适当的程序代码,要求程序运行时,单击“打开文件”命令按钮,可以弹出“打开文件”对话框。程序运行时的窗体界面如图 51 所示。 注意:保存时必须存放在考生文件夹下,窗体文件名为sj1f
6、rm,工程文件名为 sj1.vbp。 (2)在窗体 Forml 上画一个列表框,名称为 List1,有“Item1”、“Item2”、“Itera3”和“Item4”4 个表项。要求编写适当的程序代码,当双击列表中某一项时,弹出一个对话框提示“是否删除”。对话框中只有“是”与“否”两个选择按钮,单击按钮,则继续当前的操作。程序运行时的窗体界面如图 52 所示。 (分数:2.00)_正确答案:(正确答案: (1)通用对话框(CommonDialog)提供诸如打开文件、保存文件、设置打印选项、选择颜色、设置字体、显示帮助等操作的一组标准对话框,通用对话框显示这对话框对应的方法分别为ShowOpen
7、、ShowSave、ShowPrinter、ShowColor、ShowFont、ShowHelp。该控件运行时不可见。通用对话框的 Action 属性也可用于设置被打开对话框的类型。 根据题意,新建“标准 EXE”工程,一个命令按钮和一个文件对话框控件添加到窗体中,CommonDialog 控件需要选择“工程”“部件”命令,或在左侧工箱中单击鼠标右键,选择“部件”菜单,打开“部件”对话框,将 Microsoft Common Dialog Control 60 前面的复选按钮勾上,单击“确定”按钮,则添加成功,再同其他控件一样添加到窗体上,其名称为 CommonDialogl。 命令按钮的名
8、称为 Commandl、CaptiOn 属性为“打开文件”。双击 Commandl 进入代码窗口,编写如下代码: Private Sub Commandl_Click() CommonDialoglShowOpen打开CommonDialog End Sub 单击 按钮运行程序,并按要求保存。 (2)MsgBox()函数用于显示提示信息,并可返回一个代表用户点击了哪个按钮的 Integer 类型值,其常用语法为:MsgBox(prompt,buttons,title)。其中,prompt 参数为消息框的提示信息;buttons 参数用于控制消息框中按钮的数目、形式及消息框图标的样式;title
9、 参数为消息框标题栏上显示的内容。 根据题意,新建“标准 EXE”工程,将一个 List 控件添加到窗体中,其名称为 Listl、List 属性中添加“heml”、“Item2”、“Itern3”和“Item4”。双击 Listl 进入代码编写窗口补充后的代码如下: Private Sub Listl DblClick() Dim a AS Integer a=MsgBox(“是否删除“,vbYesNo) 弹出提示对话框 If a=6 Then6 表示选择“是“ ListlRemovehem ListlListlndex删除选中项 End If End Sub 单击 )解析:二、简单应用题(总
10、题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1)在考生文件夹下有一个工程文件 sj3vbp,窗体上有两个单选按钮,标题为“Iteml”和“Item2”;两个标题分别为“按钮 1”和“按钮 2”的命令按钮,如图 70-3 所示。程序的功能是:运行时如果选中单选按钮“Iteml”后,“按钮 1”可用,“按钮 2”不可用;如果选中单选按钮 Item2 后,则相反,单击可用按钮,在窗口上打印该按钮的标题。 注意:设初始选中的是“Iteml”;去掉程序中的注释符“”,把程序中的“?”改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分,也不能修改控件的其他属性。最
11、后把修改后的文件按原文件名存盘。 (2)在考生文件夹下有一个工程文件 sj4vbp,相应的窗体文件为 sj4.frm,在窗体上有一个命令按钮和两个文本框。程序运行后,单击计算按钮,即可计算出大于 Text1 中输入的数且能被 3、5 和 7 同时整除的最小整数并在文本框 Text2 中显示出来,如图70 一 4 所示。在窗体的代码窗口中,已给出了部分程序。 (分数:2.00)_正确答案:(正确答案:(1)本题主要考查命令按钮的属性设置及单选按钮的单击事件,补充后的代码如下:Private Sub Commandl_Click() CIs Print“按钮 1“ 显示“按钮 1“ End Sub
12、 Private Sub Command2_Click() Cls Print“按钮 2“显示“按钮 2“ End Sub Private Sub Form_Load() Commandl Enabled =True按钮 1 可用 Command2 Enabled =False按钮 2 不可用 End Sub Private Sub Optionl Click() Commandl Enabled =True Command2 Enabled =False End Sub Private Sub Option2_Click() Commandl Enabled =False按钮 1 不可用 C
13、ommand2 Enabled =True按钮 2 可用 End Sub 单击 按钮运行程序,并按要求保存。 (2)要判断一个数能否被另一个数整除,要用到Mod 函数,当余数为 0 表示能被整除,否则不能被整除。本题使用了 WhileWend 循环,且条件中要使三个条件都满足,要用 And 运算符。补充后的代码如下: Private Sub Commandl_Click() Dim a As Integer a=Val(Textl Text ) While Not(a Mod 3=0 And a Mod 5=0 And a Mod 7=0) 当 a 不能同时被 3、5、7 整除时进入 Whil
14、e 循环 a=a + 1 a 逐渐加 1 Wend Text2Text=a在 Text2 中显示结果 End Sub 单击 )解析:三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.在考生文件夹下有一个工程文件 sj5vbp,相应的窗体文件为 sj5frm,此外在考生文件夹下还有一个名为 in5txt 的文本文件,其内容如下: 10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34 程序运行后,双击窗体,将把文件 in5txt 中的数据输人到二维数组 Arr
15、中,在窗体上按 5 行5 列的矩阵形式显示出来,并在其下显示该矩阵左上一右下对角线的右上部分。在窗体的代码窗口中,已给出了部分程序,这个程序不完整,请把它补充完整,并使之能正确运行。程序运行效果如图 2-5 所示。(分数:2.00)_正确答案:(正确答案: 本题重点考查二重 For 循环和二维数组的使用。根据题意,将两个文本框控件和两个标签控件添加到窗体中,文本框的名称分别为 Textl 和 Text2、Text 属性都为空,Textl 的MultiLine 属性为 True、ScrollBar 属性为 2、标签的 Caption 属性分别为“矩阵如下:”和“矩阵的右上半部:”。设置完成后,双
16、击 Form 进入代码编写窗口,在其 DblClick 事件中补充如下代码: Private Sub Form_DblClick() Dim str AS String Dim tmp As String Dim i As Integer Dim j As IntegeT Dim ArT(5,5)As Integer定义二维数组 str=“ Open“AppPath&in5txt“For Input As#1 打开文件准备读取 For i=1 To 5第一层 For 循环代表数组的行读取 For j=1 To 5 第二层 For 循环代表数组的列读取 Input#1 ,Arr(i,j) 将读取
17、到的数放人数组中 str=str+CStr(Arr(i,J)+“ 将数组写入字符串中 Next j str=str+vbCrLf 每读完一行则添加换行字符串 Next i Close#1 关闭文件 tmp=“ For i=1 To 5 For 循环读取数组对角线的右上部分 For j=1 To 5 If j=i Then当该数是矩阵的左下部分时 tmp=tmp+“+“ 加入空格 Else当该数是矩阵的右上部分时 tmp=tnlp+CStr(Arr(i,J)+“ 将读取到的数据写人字符串 End If Next j tmp=tmp+vbCrLf Next i Textl Text str在 Textl 中显示数组 Text2 Text =tmp在 Text2 中显示数组右上部分 End Sub 单击 )解析: