1、VB机试模拟试卷 89及答案与解析 一、基本操作题( 30分) 1 (1)在名称为 Forml的窗体上绘制一个名称为 Commandl的命令按钮,标题为 “打开 ”,再绘制一个名称为 CommonDialogl的通用对话框。程序运行后,如果单击“打开 ”,则弹出打开文件对话框。请按下列要求设置属性并编写代码。 设置适当属性,使对话框的标题为 “打开 ”;设置适当属性,使对话框的 “文件类型 ”下拉式组合框中有两行: “文本文件 ”和 “所有文件 ”,如图 38l所示,默认的类型是 “文本文件 ”;编写代码,使得单击 “打开 ”按钮可以弹出 “打 开 ”对话框。要求:程序中不得使用变量,事件过程
2、中只能写一条语句。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjl vbp,窗体文件名为 sjl frm。 (2)在名称为 Forlml的窗体上绘制一个名为 Picl的 Picture控件和一个命令按钮,名称为 Commandl、标题为 “移动图片框 ”,如图 382所示。要求编写适当的事件过程,使得程序运行时,每单击按钮一次,图片框向右移动 150。要求:程序中不得使用变量,事件过程中只能写一条语句。注意:存盘时必须存放在考生文件夹下,工程文件名为 sj2 vbp, 窗体文件名为sj2 frm。 二、简单应用题( 40分) 2 (1)在窗体上有一个名为 Labell的标签控件和三个
3、单选按钮,均没有标题,请利用“属性 ”窗口为单选按钮依次添加标题 “汉语 ”、 “英语 ”、 “德语 ”;再添加一个标题为“输出 ”的命令按钮,如图 453所示。程序的功能是:运行时,如果选中一个单选按钮后,单击 “输出 ”按钮,则根据单选按钮的选中情况,在 Labell显示 “我的母语是汉语 ”、 “我的母语是英语 ”或 “我的母语是德语 ”。设初始选中的是 “汉语 ”。 注意:去掉程序中的注释符 “”,把程序中的 “?”改为正确 的内容,使其实现上述功能,但不能修改程序中的其他部分,也不能修改控件的其他属性。最后把修改后的文件按 sj3 vbp和 sj3 frm文件名存盘。 (2)在考生文
4、件夹下有一个工程文件sj4 vbp,窗体中有 3个标签,名称分别为 Labell、 Label2和 Label3,标题分别为“字型 ”、 “字体 ”、 “模拟考试 ”;在 Labell和 Label2标签的下面有两个组合框,名称分别为 Combo1和 Combo2,并为 Combol添加项目: “下划线 ”、 “黑体 ”和 “斜体 ”,为 Combo2添加项目: “华文行楷 ”、 “隶书 ”和 “宋体 ”。请编写适当的事件过程,使得程序在运行时,当在 Combol中选一个字号、在 Combo2中选一个字体,标签Label3中的文字立即变为选定的字号和字体,如图 454所示。注意:考生不得修改窗
5、体文件中已经存在的程序,在结束程序运行之前,必须选择一个字号和字体。,必须用窗体右上角的关闭按钮结束程序,否则无成绩。最后,按原文件名存盘,程序中不能使用任何变量。 三、综合应用题( 30分) 3 在考生文件夹下有一个工程文件 sj5 vbp,相应的窗体文件为 sj5 frm,此外还有一个名为 in5 dat的文本文件,其 内容如下: 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 程序运行后,单击窗体,将把文件 in5 dat中的数据输入到一维数组Arr中,在窗体上按 4行 4列的矩阵形式显示出来,然后计算矩阵第 2列各项的和,并在 Textl
6、上显示出来,如图 346所示。在窗体的代码窗口中,已给出了部分程序,这个程序不完整,请把它补充完整,并能正确运行。注意:去掉程序中的注释符 “”,把程序中的 “?”改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按 原文件名存盘。 VB机试模拟试卷 89答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1)本题主要考查通用对话框的使用。通用对话框的属性可以在属性窗口中直接设置。文件类型在其 Filter属性中设置,其格式为:文件说明 l文件类型。 根据题意,新建 “标准 EXE”工程,将一个命令按钮和一个文件对话框控件添加到窗体中,命令按钮的名称为 C
7、ommardl、 Caption属性为 “打开 ”,文件对话框控件的名称为 CommonDialogl,并将其 Filter属性设置为:文本文件 |* txt |所有文件 |* *。 其中,添加文件对话框控件要选择 “工程 ”“ 部件 ”命令,打开 “部件 ”对话框,并将 Microsoft Common DialogControl 6 0前的复选按钮选中,单击 “确定 ”按钮将其添加上工具箱中,然后再像其他控件一样使用。双击 Commandl进入代码窗口,编写如下代码: Private Sub Commandl_Click() CommonDialogl ShowOpen End Sub 单
8、击 按钮运行程序,并按要求保存。 (2)根据题意,新建 “标准 EXE”工程,将一个图片框控件和一个命令按钮添加到窗体 中,图片框控件的名称为 Picl,命令按钮的名称为 Commandl、 Caption属性为 “移动图片框 ”,设置完成后双击Commandl,进入代码编写窗口,命令按钮向中移动要用到按钮的 Left属性,使其值在每单击一次按钮时加 150。具体代码如下: Private Sub Commandl_Click() Picl Left=Picl Left+150 End Sub 单击 按钮运行程序,并按要求保存。 二、简单应用题( 40分) 2 【正确答案】 (1)单选按钮的标
9、题由 Caption属性设置判断单选按钮的状态通过Value属性来实现。如果单选按钮被选中,则 Value值为 1;没选中, Value值为0。 根据题意,将 3个单选按钮控件、一个命令按钮和一个标签添加到窗体中,单选按钮的名称分别为 Optionl、 Option2和 Option3, Caption属性分别为 “汉语 ”“英语 ”和 “德语 ”,命令按钮的名称为 Commandl、 Caption属性为 “输出 ”,标签的名称为 Labell、 Caption属性为空。双击 Commandl进入代码编写窗口 ,利用 Ifelse 语句进行判断,补充后的具体代码如下: Private Sub
10、 Commandl_Click() If Optionl Value=True Then Labell Caption=“我的母语是 “+Optionl Caption Else If Option2 Value=True Then Labell Caption=“我的母语是 “+Option2 Caption Else Labell Caption=“我的母语是 “+Option3 Caption End If End If End Sub 单击 按钮运行程序,并按要求保存。 (2)控件的名称由 Name属性设置,向组合框添加项目有两种方法,可以在 “属性 ”窗口的 List属性里直接添加,
11、也可以在代码中添加。本题要求在设计时添加。 根据题意,将两个 ComboBox控件和三个标签添加到窗体中, ComboBox的名称属性分别为 Combol和 Comb02,分别在 List属性中添加“下划线 ”、 “黑体 ”、 “斜体 ”和 “华文行楷 ”、 “宋体 ”、 “隶书 ”,并将 Style属性都设为3,标签的名称分别为 Labell、 Label2和 Label3, Caption属性 分别为 “字型 ”字体 ”和 “模拟考试 ”。双击窗体进入代码编写窗口,单击 Combo调用 Click函数,具体代码如下: Private Sub Comb01_Click()Combol的单击事
12、件 If Cornbo1 ListIndex=0 Then Label3 Font Underline=True下划线为真 Label3 Font Bold=False黑体为假 Label3 Font Italic=False斜体为假 Else If Combo1 Listlndex=1 Then Label3 Font Bold=True Label3 Font Italic=False Label3 Font Underline=False Else Label3 Font Italic=True Label3 Font Bold=False Label3 Font Underline=F
13、alse End If End If End Sub Private Sub Comb02_Click() Comb02的单击事件 Label3 Font Name=Comb02 List(Comb02 ListIndex) 将选中的项赋给 Label3的字体属性 End Sub 单击 按钮运行程序,并按要求保存。 三、综合应用题( 30分) 3 【正确答案】 根据题意,将一个文本框控件控件和一个标签添加到窗体中,文本框的名称为 Textl,标签的 Caption属性为 “数组第二列的和 ”。双击 Commandl进入代码编写窗口,设置完成,双击 Commandl进入代码编写窗口,其中 (i*
14、4-2)代表第二列各个数在数组中的位置,具体代码如下: Private Sub Form_Click() Dim Arr(16)As Integer Dim i As Integer Dim str As String Dim tmp As String Dim total As Long Open App Path&“ ins dat“For Input As#1打开文件 str=“ Cls清空窗体 total=0 For i=1 To 16 Input#1, Art(i) 利用循环读取 16个数 tmp=Arr(i) str=str+tmp+“ 将数组放入字符串里面 If i Mod 4=0 Then Print str每当读取 4个则输出并 换行 str=“字符串清空 End If Next i Close#l For i=1 To 4 total=total+Arr(i*4-2) 获得第二列的数组值,进行相加 Next i Textl Text=total总和在 Textl中显示出来 savedat End Sub Sub savedat() Open“App Path& out5 txt“For Output As#1 Print#1, Textl Text Close#1 End Sub单击 按钮运行程序,并按要求保存。