1、VB 机试模拟试卷 24 及答案与解析 一、基本操作题( 30分) 1 注意:下面出现的 “考生文件夹 ”均为 C: wexam25160002。 请根据以下各小题的要求设计 Visual Basic应用程序 (包括界面和代码 )。 (1) 在名称为 Form1的窗体上画一个文本框,其名称为 Text1,然后通过 “属性 ”窗口设置窗体和文本框的属性,实现如下功能: 在文本框中可以显示多行文本,显示垂直滚动条,显示的初始信息为 “程序设计 ”,显示的字体为三号规则黑体;窗体的标题为 “设置文本框属性 ”。完成设置后的窗体如图 24-1所示 。要求:不编写任何代码。 注意:存盘时必须存放在考生文
2、件夹下,工程文件名为 sjt1.vbp,窗体文件名为 sjt1.frm。 (2) 在名称为Form1的窗体上画两个命令按钮,如图 24-2所示,其名称分别为 Cmd1和 Cmd2,编写适当的事件过程。程序运行后,如果单击命令按钮 Cmd1,则可使该按钮移到窗体的左上角 (只允许通过修改属性的方式实现 );如果单击命令按钮 Cmd2,则可使该按钮在长度和宽度上各扩大到原来的 2倍。程序的运行情况如图 24-3所示。要求:不得使用任何变量。 注意:存盘时必须存放在考生文件夹下,工 程文件名为 sjt2.vbp,窗体文件名为 sjt2.frm。二、简单应用题( 40分) 2 注意:下面出现的 “考生
3、文件夹 ”均为 c:wexam25160001。 (1)在考生文件夹中有工程文件 sjt3.vbp及其窗体文件 sjt3.frm,该程序是不完整的,请在有 ?号的地方填入正确内容,然后删除 ?及所有注释符 (即 号 ),但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在窗体上有一个列表框,名称为 List1,一个文本框,名称为 Text1,和一个命令按钮,名称为 C1,标题为 “复制 ”。要求 程序运行后,在列表框中自动建立 4个列表项,分别为 “Item1”、 “Item2”、 “Item3”、“Item4”如果选择列表框中的一项,则单击 “复制 ”按钮时,可以把该项复制
4、到文本框中,如图 1-3所示。 (2)在考生文件夹中有工程文件 sjt4.vbp及其窗体文件sjt4.frm,该程序是不完整的,请在有 ?号的地方填入正确内容,然后删除 ?及所有注释符 (即 号 )但不能修改其他部分。存盘时不得改变文件名和文件夹。 在窗体有 3个复选框,名称分别为 Chi、 Ch2和 Ch3,标题分别为 “体育 ”、 “音乐 ”、 “美术 ”,还有一个命 令按钮,名称为 C1,标题为 “显示 ”。要求程序运行后,如果选中某个复选框,当单击 “显示 ”命令按钮时,则显示相应的信息。例如,如果选中 “体育 ”和“美术 ”复选框,单击 “显示 ”命令按钮后,在窗体上显示 “我的爱好
5、是体育美术 ”,如图 1-4所示。三、综合应用题( 30分) 3 注意:下面出现的 “考生文件夹 ”均为 C: wexam25160002。 在考生文件夹下有一个工程文件 sjt5.vbp,相应的窗体文件为 sjt5.frm,此外还有一个名为 datain.txt的文本文件,其内容如下: 86 97 13 24 35 46 57 68 79 80 59 37 32 43 76 58 28 12 98 57 31 42 53 64 75 程序运行后,单击窗体,将把文件 datain.txt中的数据输入到二维数组 Mat中,在窗体上按 5行 5列的矩阵形式显示出来,然后计算矩阵第三行各项的和,并在
6、窗体上显示出来,如图 25-5所示。在窗体的代码窗口中,已给出了部分程序,这个程序不完整,请把它补充完整,并能正确运行。 要求:去掉程序中的注释符,把程序中的 ?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件 按原文件名存盘。 VB 机试模拟试卷 24 答案与解析 一、基本操作题( 30分) 1 【正确答案】 在窗体上建立好控件后,设置控件的属性。 在 Visual Basic中,文本框的多行显示由 MultiLine属性设置,垂直滚动条由 ScrollBars属性设置,文本框中显示信息由 Text属性设置,字体由 Font属性设置。窗体的标题由 Captio
7、n属性设置。解题步骤: 第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 24-1。 第二步:调试并运行程序。 第三步:按题目要求存盘。 (2)在窗 体上建立控件后,先设置控件的属性,再编写事件过程。 单击命令按钮触发 Click事件。利用按钮的 Height和 Width属性,来改变按钮的大小;利用按钮的 Left和 Top属性,来改变按钮的位置。解题步骤: 第一步:建立控件并设置其属性。程序中用到的控件及其属性见表 24-2。第二步:编写程序代码。 参考代码: Option Explicit Private Sub Cmd1_Click() Cmd1.Left=0 Cmd1.T
8、op=0 End Sub Private Sub Cmd2_Click() Cmd2.Height=Cmd2.Height*2 Cmd2.Width=Cmd2.Width*2 End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 二、简单应用题( 40分) 2 【正确答案】 (1)在窗体上建立好控件后,先设置控件属性,再编写事件过程。 向列表框中添加项目可以用 AddItem方法,也可以在属性窗口中进行。但题目中要求是程序运行后自动添加,所以利用代码实现。列表框的 Text属性为最后一次选中的表项的文本。解题步骤: 第一步;建立界面并设置控件属性。程序中用到的控件及属性设 置见表
9、 1-2。第二步:编写程序代码。 程序提供的代码: Option Explicit Private Sub C1 Click() Dim i As Integer For i = ? To List1.ListCount-1 If List1.Selected(i) = True Then ? = List1.List(i) End If Next i End Sub Private Sub Form Load() List 1.AddItem “Item1“ List 1.AddItem “Item2“ List 1.AddItem “Item3“ List 1.AddItem “Item4
10、“ End Sub 参考代码: Option Explicit Private Sub Cl _Click() Dim i As Integer For i = 0 To List1.ListCount - 1 If List1.Selected(i) = True Then Text1.Text = List1.List(i) End If Next i End Sub Private Sub Form Load() List1.AddItem “Item1“ List1.AddItem “Item2“ List1.AddItem “Item3“ List1.AddItem “Item4“
11、End Sub 第三步:调试并运行。 第四步:按题目要求存盘。 (2)在窗体上建立好控件后,先设置控件属性,再编写事件过程。 单击命令按钮触发 Click事件,程序中需要检测复选按钮的状态,可以通过 Value属性来实现。如果复选按钮被选中,则 Value值为 1,否则 Value值为 0。解题步骤: 第一步:建立界面并设置控件属性。程序中用到的控件及属性见表 1-3。第二步:编写 程序代码。 程序提供的代码: Option Explicit Private Sub C1_Click() Dim s As ? s=“我的爱好是 ” If Ch1.Value = 1 Then s = s + C
12、h1.Caption End If If Ch2.Value = 1 Then s = s + Ch2.Caption End If If Ch3.Value = 1 Then s = s + Ch3.Caption End If Print ? End Sub 参考代码: Option Explicit Private Sub C1 Click() Dim s As String s =“我的爱好是 ” If Ch1.Value = 1 Then s = s + Ch1.Caption End If If Ch2.Value = 1 Then s = s + Ch2.Caption End
13、If If Ch3.Value = 1 Then s = s + Ch3.Caption End If Print s End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 三、综合应用题( 30分) 3 【正确答案】 程序首先应该打开文件 (使用只读方式打开文件 ),然后将文件中的数据存放到 Mat数组中。程序中使用了 Option Base1语句,则数组每一维的下标都从 1开始,把二维数组行标为 3的所以元素相加,所求得的和就是矩阵第三行各项的和。 解题步骤: 第一步: ;建立控件并设置属性值。 本题不需要设置。 第二步:编写程序代码。 程序提供的代码: Option Bas
14、e 1 Private Sub Form_Click() Const N=5 Const M=5 Dim ? Dim Sum, i, j Open App.Path Mat(i, j) ; Next j Print Next i Sum=? For j=1 To M ? Next j Print Print “第三行各项的和为; “; Print Sum End Sub 参考代码: Option Base 1 Private Sub Form_Click() Const N=5 Const M=5 Dim Mat (5, 5) Dim Sum, i, j Open App.Path Mat(i, j) ; Next j Print Next i Sum=0 For j=1 To M Sum=Sum + Mat (3, j) Next j Print Print “-TI$: ,., Print Sum End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。