1、二级 VISUAL+BASIC 机试 5 及答案解析(总分:100.00,做题时间:90 分钟)一、B1 上机考试试题 /B(总题数:1,分数:30.00)1.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。 (1)在名称为 Form1 的窗体中建立一个名称为 Cmd1,标题为“显示”的命令按钮,如图 2-1 所示。要求程序运行后,如果单击“显示”按钮,则执行语句 Form1.Print“显示”:如果单击窗体,则执行语句 Form1.Cls。 注意:保存时必须存放在考生文件夹下,窗体文件
2、名为sjt1.frm,工程文件名为 sjt1.vbp。 (分数:30.00)_二、B2 简单应用题/B(总题数:1,分数:40.00)2.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 (1)在考生文件夹中有工程文件 sjt3.vbp及其窗体文件 sjt3.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号)但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在窗体上有两个单选按钮,名称分别为 Op1 和 Op2,标题分别为“黑体”和“楷体”,一个文本框,名称为 Text1,字体为宋体,字号为四号字,还有一个命令按钮,
3、名称为 C1,标题为“切换”。要求程序运行后,在文本框中输入“等级考试”,并选择一个单选按钮,如图 2-3 所示。在单击“切换”按钮后,会根据所选的单选按钮来切换文本框中所显示的汉字字体,如图 2-4 所示。 (2)在窗体上建立一个名称为 Text1 的文本框和一个名称为 Cmd1,标题为“计算”的命令按钮,如图 2-5 所示。程序运行后,单击“计算”命令按钮,通过在对话框输入整数 12,放入整型变量 a 中,然后计算 a!,(提示:运算结果应放入 Long 型变量中),在文本框中显示结果,并把结果存入文件 out.txt 中。在考生文件夹中有一个标准模块 mode.bas,该模块中提供了保存
4、文件的过程 putdata,考生可以直接调用。 注意:保存时必须存放在考生文件夹下,窗体文件名为 sjt4.frm,工程文件名为 sjt4.vbp。 (分数:40.00)_三、B3 综合应用题 /B(总题数:1,分数:30.00)3.在考生文件夹中有工程文件 sjt5.vbp 及其窗体文件 sjt5.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号)但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在名称为 Form1 的窗体上有一个文本框,名称为 Text1,MultiLine 属性为True,ScrollBars 属性为 2;两个命令按
5、钮,名称分别为 Cmd1 和 Cmd2,标题分别为“读入数据”和“计算保存”,如图 2-6 所示。要求程序运行后,如果单击“读入数据”按钮,则读入“in.txt”文件中的100 个整数,放入一个数组中(数组下界为 1),同时在文本框中显示出来;如果单击“计算保存”按钮,则计算数组中大于或等于 400 并且小于 800 的所有数之和,把求和结果在文本框 Text1 中显示出来,同时把结果存入考生文件夹中的文件 result.txt 中。 (在 prog.bas 中的 putdata 过程可以把结果存入result.txt 文件)。 注意:文件必须存放在考生文件夹下,窗体文件名为 sjt5.frm
6、,工程文件名为sjt5.vbp,计算结果存入 result.txt 文件中,否则没有成绩。 (分数:30.00)_二级 VISUAL+BASIC 机试 5 答案解析(总分:100.00,做题时间:90 分钟)一、B1 上机考试试题 /B(总题数:1,分数:30.00)1.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。 (1)在名称为 Form1 的窗体中建立一个名称为 Cmd1,标题为“显示”的命令按钮,如图 2-1 所示。要求程序运行后,如果单击“显示”按钮,则执行语句 Form1.
7、Print“显示”:如果单击窗体,则执行语句 Form1.Cls。 注意:保存时必须存放在考生文件夹下,窗体文件名为sjt1.frm,工程文件名为 sjt1.vbp。 (分数:30.00)_正确答案:()解析:(1)解析在窗体上建立好控件后,先设置控件属性,再编写事件过程。命令按钮的标题由Caption 属性设置,单击命令按钮触发 Click 事件。在窗体上打印信息用 Print 方法,清除窗体上的打印信息使用 Cls 方法,这两条语句在题目中已经给出,只要将其放入适当的事件过程中即可。解题步骤: 第一步:建立界面并设置控件属性。 本题只用到了 1 个命令按钮,将其 Caption 属性设置为
8、“显示”,Name 属性设置为 Cmd1。 第二步:编写代码。 参考代码: Private Sub Cmd1_Click() Form1.Print“显示” End Sub Private Sub Form_Click() Form1.Cls End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 (2)解析在窗体上建立好控件后,先设置控件属性,再编写事件过程。 滚动条表示的最大值由 Max 属性设置,最小值由 Min 属性设置,滚动条的当前值由 Value 属性设置;当滚动框的位置改变时,触发 Change 事件。清除窗体上原来的显示的值可以用 Cls 方法来实现。解题步骤: 第
9、一步:建立界面并没置控件属性。本程序中用到 1 个滚动框,将其名称即 Name 属性设置为 HS1,Min 和 Max 属性属性分别设置为 0 和 100。 第二步:编写程序代码。 参考代码: Private Sub HS1_Change() Cls Form1.Print HS1 End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。二、B2 简单应用题/B(总题数:1,分数:40.00)2.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 (1)在考生文件夹中有工程文件 sjt3.vbp及其窗体文件 sjt3.frm,该程序是不完整的,请在有?号的地方填
10、入正确内容,然后删除?及所有注释符(即号)但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在窗体上有两个单选按钮,名称分别为 Op1 和 Op2,标题分别为“黑体”和“楷体”,一个文本框,名称为 Text1,字体为宋体,字号为四号字,还有一个命令按钮,名称为 C1,标题为“切换”。要求程序运行后,在文本框中输入“等级考试”,并选择一个单选按钮,如图 2-3 所示。在单击“切换”按钮后,会根据所选的单选按钮来切换文本框中所显示的汉字字体,如图 2-4 所示。 (2)在窗体上建立一个名称为 Text1 的文本框和一个名称为 Cmd1,标题为“计算”的命令按钮,如图 2-5 所示
11、。程序运行后,单击“计算”命令按钮,通过在对话框输入整数 12,放入整型变量 a 中,然后计算 a!,(提示:运算结果应放入 Long 型变量中),在文本框中显示结果,并把结果存入文件 out.txt 中。在考生文件夹中有一个标准模块 mode.bas,该模块中提供了保存文件的过程 putdata,考生可以直接调用。 注意:保存时必须存放在考生文件夹下,窗体文件名为 sjt4.frm,工程文件名为 sjt4.vbp。 (分数:40.00)_正确答案:()解析:解析窗体的控件及属性已经建好,只需编写事件过程空缺的代码即可。 单选按钮和“切换”按钮的是通过它们的 Caption 属性来设置的,当点
12、击“切换”时触发它的 Click 事件来使文本框的内容改变的。文本框的字体设置是通过它的 Font 属性来实现的。 解题步骤: 第一步:编写程序代码。 程序提供的代码: 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
13、 Op2 Then Text1.FontName =“楷体_GB2312” End If End Sub 第二步:调试并运行程序。 第三步:按题目要求存盘。 (2)解析在窗体上建立好控件后,先设置控件属性,再编写事件过程。 当运行程序后所弹出的对话框是由 Visual Basic 系统本身提供的,通过调用函数 InputBox 来实现,本题的主要思想是考查循环语句的应用。计算一个数值的阶乘时使用了 for 循环,最后调用了所给模块中的过程将结果进行保存。解题步骤: 第一步:建立界面并设置控件属性。本题用到了 1 个文本框和 1 个命令按钮,将命令按钮的 Caption 属性设置为“计算”,Na
14、me 属性设置成 Cmd1,文本框属性为默认设置。 第二步:编写程序代码。 在编写程序代码时要注意变量范围的设定,题目要求将计算结果存入 Long 变量中,所以把最后放入文本框内的变量设置为长整型,然后保存结果。 参考代码: 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
15、“,Text1.Text End Sub 标准模块代码: 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 # 1 Print #1,T_Str Close #1 End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。三、B3 综合应用题 /B(总题数:1,分数:30.00)3.在考生文件夹中有工程文件 sjt5.vbp 及其窗体文件 sjt
16、5.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号)但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在名称为 Form1 的窗体上有一个文本框,名称为 Text1,MultiLine 属性为True,ScrollBars 属性为 2;两个命令按钮,名称分别为 Cmd1 和 Cmd2,标题分别为“读入数据”和“计算保存”,如图 2-6 所示。要求程序运行后,如果单击“读入数据”按钮,则读入“in.txt”文件中的100 个整数,放入一个数组中(数组下界为 1),同时在文本框中显示出来;如果单击“计算保存”按钮,则计算数组中大于或等于 40
17、0 并且小于 800 的所有数之和,把求和结果在文本框 Text1 中显示出来,同时把结果存入考生文件夹中的文件 result.txt 中。 (在 prog.bas 中的 putdata 过程可以把结果存入result.txt 文件)。 注意:文件必须存放在考生文件夹下,窗体文件名为 sjt5.frm,工程文件名为sjt5.vbp,计算结果存入 result.txt 文件中,否则没有成绩。 (分数:30.00)_正确答案:()解析:解析文本框显示的内容由 Text 属性设置;按钮的标题由 Caption 属性设置,单击命令按钮触发Click 事件;在本题中涉及到文件的操作,读入顺序文件以顺序的方式打开,用 Input#语句读取数据,另外需要注意的是对文件操作完后,一定要关闭文件。解题步骤: 第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 2-1。