1、VB 机试模拟试卷 23 及答案与解析 一、基本操作题( 30分) 1 注意:下面出现的 “考生文件夹 ”均为 C: wexam25160002。 请根据以下各小题的要求设计 Visual Basic应用程序 (包括界面和代码 )。 (1) 在名称为 Form1的窗体上画一个名称为 Command1的命令按钮,标题为 “打开文件 ”,再画一个名称为 CD1的通用对话框。程序运行后,如果单击命令按钮,则弹出打开文件对话框。请按下列要求设置属性并编写代码: 设置适当属性,使对话框的标题为 “打开文件 ”;设置适当属性,使对话框的 “文件类型 ”下拉式组合框中有二行: “文本文件 ”、 “所有文件
2、”,如图 23-1所示,默认的类型是 “所有文件 ”;编写代码,使得单击按钮可以弹出打开文件对话框。要求:程序中不得使用变量,事件过程中只能写一条语句。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1.vbp,窗体文件名为sjt1.frm。 (2) 在名称为 Form1的窗体上画一个命令按钮,名称为 Command1,标题为 “移动本按钮 ”,如图 23-2所示。要求编写适当的事件过程,使得程序运行时,每单击按钮一次, 按钮向左移动 100。要求:程序中不得使用变量 ,事件过程中只能写一条语句。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt2.vbp,窗体文件名为 sj
3、t2.frm。二、简单应用题( 40分) 2 注意:下面出现的 “考生文件夹 ”均为 C: wexam25160002。 (1) 在考生文件夹下有一个工程文件 sjt3.vbp,相应的窗体文件为 sjt3.frm。其功能是产生 20个 0 1000的随机整数,放入一个数组中,然后输出这 20个整数中大于 500的所有整数之和。程序运行后,单击命令按钮 (名称为 Command1,标题为 “输出大于 500的整数之 和 ”),即可求出这些整数的和,并在窗体上显示出来,如图 25-4所示。这个程序不完整,请把它补充完整,并能正确运行。 要求:去掉程序中的注释符,把程序中的 ?改为正确的内容,使其实
4、现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。 (2) 在考生文件夹下有一个工程文件sjt4.vbp,相应的窗体文件为 sjt4.frm,在窗体上有一个命令按钮和一个文本框。程序运行后,单击命令按钮,即可计算出 0 100范围内不能被 7整除的所有整数的和,并在文本框中显示出来。在窗体的代码窗口中,已给出了部分程 序,其中计算不能被 7整除的整数的和的操作在通用过程 Fun中实现,请编写该过程的代码。 要求:请勿改动程序中的任何内容,只在 Function Fun()和 End Function之间填入你编写的若干语句。最后把修改后的文件按原文件名存盘。三、综合应用
5、题( 30分) 3 注意:下面出现的 “考生文件夹 ”均为 C: wexam25160002。 在考生文件夹下有一个工程文件 sjt5.vbp,相应的窗体文件为 sjt5.frm,此外还有一个名为 datain.txt的文本文件,其内容如下: 42 53 64 75 86 97 13 24 35 46 57 68 79 80 59 37 32 43 76 58 28 12 98 57 31 程序运行后,单击窗体,将把文件 datain.txt中的数据输入到二维数组 Mat中,在窗体上按 5行 5列的矩阵形式显示出来,并输出矩阵左上 -右下对角线上的数据,如图 24-5所示。 在窗体的代码窗口中
6、,已给出了部分程序,这个程序不完整,请把它补充完整,并能正确运行。 要求:去掉程序中的注释符,把程序中的 ?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文 件名存盘。 VB 机试模拟试卷 23 答案与解析 一、基本操作题( 30分) 1 【正确答案】 在窗体上建立好控件后,先设置控件属性,再编写事件过程。 在Visual Basic中,命令按钮的名称由 Caption属性设置。通用对话框的属性可以在属性窗口中直接设置。将 CommonDialog的 Name属性设置为 CD1,文件类型在CommonDialog的 Filter属性中设置,其格式为: 文件
7、说明 |文件类型 本题应在Filter属性中设置为:文本文件 |*.txt|所有文件 |*.*。解题步骤: 第一步:建立界 面并设置控件属性。程序中用到的控件及属性设置见表 23-1。第二步:编写程序代码。 参考代码: Option Explicit Private Sub Command1_Click() CD1.ShowOpen End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 (2)在窗体上建立好控件后,先设置控件属性,再编写事件过程。 在 Visual Basic中,按钮的标题由 Caption属性设置。要使命令按钮向左移动,须用到按钮的 Left属性,使其值再每单击
8、 一次按钮时减去 100。解题步骤: 第一步:建立界面并设置控件属性。程序中用到的控件及属性设置见表 23-2。第二步:编写程序代码。 参考代码: Option Explicit Private Sub Command1_Click() Command1.Left=Command1.Left-100 End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 二、简单应用题( 40分) 2 【正确答案】 本题要产生随机整数,需要使用 Rnd函数和 Int函数。 Int函数是将参数转换成整数。 Rnd函 数返回小于 1,但大于或等于 0的值,其语法格式为: Rnd(number) 可选的
9、 number参数是 Single或任何有效的数值表达式。 number的值决定了 Rnd函数生成随机数的方式。为了生成某个范围内的随机整数,可使用以下公式: Int(upperbound-lowerbound+1) *Rnd+lowerbound) 这里, upperbound是随机数范围的上限,而 lowerbound则是随机数范围的下限。解题步骤: 第一步:建立控件并设置其属性。程序用到的控件及其属性见表 25-2。第二步: 编写程序代码。 程序提供的代码: Option Base 1 Private Sub Command1_Click() Dim arrN(20) As Intege
10、r Dim Sum As Integer Randomize For i=1 To 20 arrN(i)=Int(Rnd * ?) Next i Sum=? For i=1 To 20 If ? Then Sum=? End If Next i Print Sum End Sub 参考代码: Option Base 1 Private Sub Command1_Click() Dim arrN(20) As Integer Dim Sum As Integer Randomize For i=1 To 20 arrN(i)=Int(Rnd * 1000) Next i Sum=0 For i=
11、1 To 20 If arrN(i) 500 Then Sum=Sum+arrN(i) End If Next i Print Sum End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 (2)判断 0 100范围内的数能不能被 7整除,使用求余运算符 Mod,如果余数不为 0,则表示该数不能 被整除。设置一个变量,来计算不能被 7整除的数的和。解题步骤: 第一步:编写程序代码。 程序提供的代码: Sub SaveData() Open App.Path Mat(i, j) ; Next j Print Next i Print Print “左上 -右下对角线上的数 为: “
12、 For i=1 To N For j=1 To M If ? Then Print Tab (5 * j) ; Mat(i, j) ; Next j Next i End Sub 第二步:修改程序代码。 参考代码: Option Base 1 Private Sub Form Click() Const N=5 Const M=5 Dim Mat (M, N) Dim i, j Open App.Path Mat(i, j) ; Next j Print Next i Print Print “左上 -右下对角线上的数为: “ For i=1 To N For j=1 To M If i=j Then Print Tab (5 * j) ; Mat(i, j) ; Next j Next i End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。