1、VB机试模拟试卷 25及答案与解析 一、基本操作题( 30分) 1 注意:下面出现的 “考生文件夹 ”均为 C: wexam25160002。 请根据以下各小题的要求设计 Visual Basic应用程序 (包括界面和代码 )。 (1) 在名称为 Form1的窗体上画一个水平滚动条,其名称为 HScroll1,然后通过属性窗口设置窗体和滚动条的属性,实现如下功能: 窗体标题为 “设置滚动条属性 ”;滚动条所能表示的最小值和最大值分别为 0和 200,滚动框的初始位置为 100。程序运行后,单击滚动条两端的箭头时,滚动框移动的增量值 为 2,单击滚动框前面或后面的部位时,滚动框移动的增量值为 1
2、0。程序的运行情况如图 25-1所示。要求:不要编写任何代码。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1.vbp,窗体文件名为sjt1.frm。 (2) 在名称为 Form1的窗体上画一个文本框,其名称为 Text1,如图 25-2所示,编写适当的事件过程。程序运行后,如果单击窗体,则可使文本框移到窗体的左上角;而如果在文本框中输入信息,则可使文本框移到窗体的右上角。程序的运行情况如图 25-3所示。 要求:不得使用任何变量;只允许通过修改属性 的方式移动文本框,注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt2.vbp,窗体文件名为 sjt2.frm。二、简单应用题
3、( 40分) 2 注意:下面出现的 “考生文件夹 ”均为 c:wexam25160001。 (1)在考生文件夹中有工程文件 sjt3.vbp及其窗体文件 sjt3.frm,该程序是不完整的,请在有 ?号的地方填入正确内容,然后删除 ?及所有注释符 (即 号 )但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在窗体上有两个单选按钮,名称分别为 Op1和 Op2,标题分别为 “黑 体 ”和 “楷体 ”,一个文本框,名称为 Text1,字体为宋体,字号为四号字,还有一个命令按钮,名称为 C1,标题为 “切换 ”。要求程序运行后,在文本框中输入 “等级考试 ”,并选择一个单选按钮,
4、如图 2-3所示。在单击“切换 ”按钮后,会根据所选的单选按钮来切换文本框中所显示的汉字字体,如图 2-4所示。 (2)在窗体上建立一个名称为 Text1的文本框和一个名称为 Cmd1,标题为 “计算 ”的命令按钮,如图 2-5所示。程序运行后,单击 “计算 ”命令按钮,通过在对话框输入整数 12,放入整型变量 a中,然后计算 a!, (提示:运算结果应 放入 Long型变量中 ),在文本框中显示结果,并把结果存入文件 out.txt中。在考生文件夹中有一个标准模块mode.bas,该模块中提供了保存文件的过程 putdata,考生可以直接调用。 注意:保存时必须存放在考生文件夹下,窗体文件名
5、为 sjt4.frm,工程文件名为 sjt4.vbp。三、综合应用题( 30分) 3 在考生文件夹中有工程文件 sjt5.vbp及其窗体文件 sjt5.frm,该程序是不完整的,请在有 ?号的地方填入正确内容,然后删除 ?及所有注释符 (即,号 )但不能修改其他部分。存盘时不得改变文件名 和文件夹。 本题描述如下: 在名称为 Form1的窗体上有两个单选按钮,名称分别为 Opt1和 Opt2,标题分别为 “100-200之间素数 ”和“200-400之间素数 ”,一个文本框,名称为 Text1,和两个命令按钮,其名称分别为 Cmd1和 Cmd2,标题分别为 “计算 ”和 “存盘 ”,如图 1-
6、5所示。程序运行后,如果选中一个单选按钮并单击 “计算 ”按钮,则计算出该单选按钮标题所指明的所有素数之和。并在文本框中显示出来。如果单击 “存盘 ”按钮,则把计算结果存入“out.txt”文件中,该文件必须放在考生文件夹中。 (在考生文件 夹中有标准模块mode.bas,其中的 putdata过程可以把结果存入指定的文件,而 isprime函数可以判断整数 x是否为素数,如果是素数,则函数返回 True,否则返回 False,考生可以将该模块文件添加到自己的工程中。 ) 注意:必须把 200-400之间的素数之和存入考生文件夹下的 out.txt文件中,否则没有成绩。保存程序时必须存放在考生
7、文件夹下,窗体文件名为 sjt5.frm,工程文件名为 sjt5.vbp。VB机试模拟试卷 25答案与解析 一、基本操作题( 30分) 1 【正确答案】 在窗体上 建立好控件后,先设置控件的属性。 在 Visual Basic中,窗体的标题由 Caption属性设置。滚动条所表示的最小值和最大值分别由 Min属性和 Max属性设置,单击滚动条两端的箭头移动的大小是由 SmallChange属性设置,单击滚动框前面或后面的部位移动的大小是由 LargeChange属性设置。滚动框的初始位置由 Value属性设置。解题步骤: 第一步:建立界面并设置控件的属性。程序中用到的控件及其属性见表 25-1
8、。第二步:调试并运行程序。 第三步:按题目要求存盘。 (2)在窗体上建立好控件后,先设置控 件的属性,再事件过程。 单击窗体触发窗体的 Click事件,这时将文本框的 Top属性和 Left属性值都设置为 0,实现文本框左上角的移动。在文本框中输入信息,触发文本框的 Chang事件,在该事件中设置文本框的 Top属性值为 0, Left属性值为窗体的宽度减去文本框的宽度,使文本框移到窗体的右上角。解题步骤: 第一步:建立一个文本框控件。 第二步:编写程序代码。 参考代码: Option Explicit Private Sub Form_Click() Text1.Left=0 Text1.T
9、op=0 End Sub Private Sub Text1_Change() Text1.Top=0 Text1.Left=Form1.Width-Text1.Width End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 二、简单应用题( 40分) 2 【正确答案】 (1)窗体的控件及属性已经建好,只需编写事件过程空缺的代码即可。 单选按钮和 “切换 ”按钮的是通过它们的 Caption属性来设置的,当点击 “切换 ”时触发它的 Click事件来使文本框的内容改变的。文本框的字体设置是通过它的 Font属性来实 现的。 解题步骤: 第一步:编写程序代码。 程序提供的代码:
10、Option Explicit Private Sub C1_Click() If Op1 The n Text1.Font = Op1.? End If If Op2 Then Text1 ?: “楷体 GB2312” End If End Sub 参考代码: Option Explicit Private Sub C1_Click() If Op1 Then Text1.Font = Op1.Caption End If If Op2 Then Text1.FontName =“楷体 GB2312” End If End Sub 第二步:调试并运行程序。 第三步:按题目要求存盘。 (2)在
11、窗体上建立好控件后,先设置控件属性,再编写事件过程。 当运行程序后所弹出的对话框是由 Visual Basic系统本 身提供的,通过调用函数InputBox来实现,本题的主要思想是考查循环语句的应用。计算一个数值的阶乘时使用了 for循环,最后调用了所给模块中的过程将结果进行保存。解题步骤: 第一步:建立界面并设置控件属性。本题用到了 1个文本框和 1个命令按钮,将命令按钮的 Caption属性设置为 “计算 ”, Name属性设置成 Cmd1,文本框属性为默认设置。 第二步:编写程序代码。 在编写程序代码时要注意变量范围的设定,题目要求将计算结果存入 Long变量中,所以把最后放入文本框内的
12、变量设置为长整型,然后保存结 果。 参考代码: Private Sub Cmd1_Click() Dim a As Integer Dim temp As Long Dim i As Integer a = Val(InputBox(“请输入 ”, “12“) temp = 1 For i =1 To Val(a) temp = temp * i Next Text1.Text = temp putdata“out.txt“, Text1.Text End Sub 标准模块代码: Option Explicit Sub putdata(t_FileName As String, T_Str A
13、s Variant) Dim sFile As String sFile =“ & t FileName Open App.Path & sFile For Output As # 1 Print #1, T_Str Close #1 End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 三、综合应用题( 30分) 3 【正确答案】 素数的判断准则就是看是否该数除了 1和其本身外别无其他约数即可。 文本框用丁 Text属性来显示计算结果:命令按钮的标题由 Caption属性来设置,单击命令按钮触发 Click事件;为了检测单选按钮是否选中,可以通过检测Value属性来实现,当 V
14、alue为了 me时,表示单选按钮被选中,否则未被选中。解题步骤: 第一步:建立界面并设置控件属性。题目提供了程序用到的控件及其属性,见 表 1-4。 第二步:编写程序代码。 程序提供的代码: 标准模块代码 Option Explicit Sub putdata( t_FileName As String, T_Str As Variant) Dim sFile As String SFile = “ & t FileName Open App.Path & SFile For Output As #l Print #1, T Str Close #1 End Sub Function isp
15、rime(t_I As Integer) As Boolean Dim J As Integer isprime = False For J = 2 To t I / 2 If t_I Mod J = 0 Then Exit For Next J If J t I / 2 Then isprime = True End Function 窗体代码 Private Sub Cmd1_Click() Dim i As Integer Dim temp As Long temp = ? If Opt2.Value Then For i = 200 To 400 If isprime(?) Then
16、temp = temp + i End If Next Else For i = 100 To 200 If isprime(i) Then temp = temp + i End If Next End If Text1.? = temp End Sub Private Sub Cmd2 Click() putdata “out.txt“, Text1.Text End Sub 参考代码: Private Sub Cmd1_Click() Dim i As Integer Dim temp As Long temp = 0 If Opt2.Value Then For i = 200 To 400 If isprime(i) Then temp = temp + i End If Next Else For i = 100 To 200 If isprime(i) Then temp = temp + i End If Next End If Text1.Text = temp End Sub Private Sub Cmd2 Click() putdata “out.txt“, Text1.Text End Sub 第三步:调试并运行程序。第四步:按题目要求存盘。