1、二级 VISUAL+BASIC 机试-41 及答案解析(总分:100.00,做题时间:90 分钟)一、1 上机考试试题(总题数:1,分数:30.00)1.注意:下面出现的“”均为 c:/wexam/25160001。请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。(1)在名称为 Form1 的窗体中建立一个名称为 Cmd1,标题为“显示”的命令按钮,如图 2-1 所示。要求程序运行后,如果单击“显示”按钮,则执行语句 Form1.Print“显示”:如果单击窗体,则执行语句 Form1.Cls。注意:保存时必须存放在考生文件夹下,窗体文件名为 sjt1.frm
2、,工程文件名为 sjt1.vbp。(2)在名称为 Form1 的窗体上建立一个水平滚动条,名称为 HS1,其最大值为 100,最小值为 0。要求程序运行后,每次移动滚动框时,都执行语句 FormlPrint HSlValue,如图 2-2 所示(程序中不能使用任何变量)。注意:保存时必须存放在考生文件夹下,窗体文件名为 sjt2.frm,工程文件名为 sjt2.vbp。(分数:30.00)_二、2 简单应用题(总题数:1,分数:40.00)2.(分数:40.00)_三、3 综合应用题(总题数:1,分数:30.00)3.在考生文件夹中有工程文件 sjt5.vbp 及其窗体文件 sjt5.frm,
3、该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号)但不能修改其他部分。存盘时不得改变文件名和文件夹。本题描述如下:在名称为 Form1 的窗体上有一个文本框,名称为 Text1,MultiLine 属性为 True,ScrollBars 属性为 2;两个命令按钮,名称分别为 Cmd1 和 Cmd2,标题分别为“读入数据”和“计算保存”,如图 2-6 所示。要求程序运行后,如果单击“读入数据”按钮,则读入“in.txt”文件中的 100 个整数,放入一个数组中(数组下界为 1),同时在文本框中显示出来;如果单击“计算保存”按钮,则计算数组中大于或等于 400并且小于
4、800 的所有数之和,把求和结果在文本框 Text1 中显示出来,同时把结果存入考生文件夹中的文件 result.txt 中。 (在 prog.bas 中的 putdata 过程可以把结果存入 result.txt 文件)。注意:文件必须存放在考生文件夹下,窗体文件名为 sjt5.frm,工程文件名为 sjt5.vbp,计算结果存入 result.txt 文件中,否则没有成绩。(分数:30.00)_二级 VISUAL+BASIC 机试-41 答案解析(总分:100.00,做题时间:90 分钟)一、1 上机考试试题(总题数:1,分数:30.00)1.注意:下面出现的“”均为 c:/wexam/2
5、5160001。请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。(1)在名称为 Form1 的窗体中建立一个名称为 Cmd1,标题为“显示”的命令按钮,如图 2-1 所示。要求程序运行后,如果单击“显示”按钮,则执行语句 Form1.Print“显示”:如果单击窗体,则执行语句 Form1.Cls。注意:保存时必须存放在考生文件夹下,窗体文件名为 sjt1.frm,工程文件名为 sjt1.vbp。(2)在名称为 Form1 的窗体上建立一个水平滚动条,名称为 HS1,其最大值为 100,最小值为 0。要求程序运行后,每次移动滚动框时,都执行语句 FormlPr
6、int HSlValue,如图 2-2 所示(程序中不能使用任何变量)。注意:保存时必须存放在考生文件夹下,窗体文件名为 sjt2.frm,工程文件名为 sjt2.vbp。(分数:30.00)_正确答案:(解析在窗体上建立好控件后,先设置控件属性,再编写事件过程。命令按钮的标题由Caption 属性设置,单击命令按钮触发 Click 事件。在窗体上打印信息用 Print 方法,清除窗体上的打印信息使用 Cls 方法,这两条语句在题目中已经给出,只要将其放入适当的事件过程中即可。解题步骤:第一步:建立界面并设置控件属性。本题只用到了 1 个命令按钮,将其 Caption 属性设置为“显示”,Na
7、me 属性设置为 Cmd1。第二步:编写代码。参考代码:Private Sub Cmd1_Click()Form1.Print“显示”End SubPrivate Sub Form_Click()Form1.ClsEnd Sub第三步:调试并运行程序。第四步:按题目要求存盘。(2)解析在窗体上建立好控件后,先设置控件属性,再编写事件过程。滚动条表示的最大值由 Max 属性设置,最小值由 Min 属性设置,滚动条的当前值由 Value 属性设置;当滚动框的位置改变时,触发 Change 事件。清除窗体上原来的显示的值可以用 Cls 方法来实现。解题步骤:第一步:建立界面并没置控件属性。本程序中用
8、到 1 个滚动框,将其名称即 Name 属性设置为 HS1,Min和 Max 属性属性分别设置为 0 和 100。第二步:编写程序代码。参考代码:Private Sub HS1_Change()ClsForm1.Print HS1End Sub第三步:调试并运行程序。第四步:按题目要求存盘。答案考生文件夹)解析:二、2 简单应用题(总题数:1,分数:40.00)2.(分数:40.00)_正确答案:(解析窗体的控件及属性已经建好,只需编写事件过程空缺的代码即可。单选按钮和“切换”按钮的是通过它们的 Caption 属性来设置的,当点击“切换”时触发它的 Click 事件来使文本框的内容改变的。文
9、本框的字体设置是通过它的 Font 属性来实现的。解题步骤:第一步:编写程序代码。程序提供的代码:Option ExplicitPrivate Sub C1_Click()If Op1 The n Text1.Font = Op1.?End IfIf Op2 Then Text1?:“楷体_GB2312”End IfEnd Sub参考代码:Option ExplicitPrivate Sub C1_Click()If Op1 Then Text1.Font = Op1.CaptionEnd IfIf Op2 ThenText1.FontName =“楷体_GB2312”End IfEnd Su
10、b第二步:调试并运行程序。第三步:按题目要求存盘。(2)解析在窗体上建立好控件后,先设置控件属性,再编写事件过程。当运行程序后所弹出的对话框是由 Visual Basic 系统本身提供的,通过调用函数 InputBox 来实现,本题的主要思想是考查循环语句的应用。计算一个数值的阶乘时使用了 for 循环,最后调用了所给模块中的过程将结果进行保存。解题步骤:第一步:建立界面并设置控件属性。本题用到了 1 个文本框和 1 个命令按钮,将命令按钮的 Caption 属性设置为“计算”, Name 属性设置成 Cmd1,文本框属性为默认设置。第二步:编写程序代码。在编写程序代码时要注意变量范围的设定,
11、题目要求将计算结果存入 Long 变量中,所以把最后放入文本框内的变量设置为长整型,然后保存结果。参考代码:Private Sub Cmd1_Click()Dim a As IntegerDim temp As LongDim i As Integera = Val(InputBox(“请输入”,“12“)temp = 1For i =1 To Val(a)temp = temp * iNextText1.Text = tempputdata“out.txt“,Text1.TextEnd Sub标准模块代码:Option ExplicitSub putdata(t_FileName As St
12、ring,T_Str As Variant)Dim sFile As StringsFile =“/“ Close #1End Sub参考代码:Dim i(1 To 100) As IntegerPrivate Sub Cmd1_Click()Dim j As Integerj = 0Open App. Path& “/in.txt“ For Input As #1For j = 1 To 100Input #1, i(j)NextClose #1For j = 1 To 100Text1.Text = Text1.Text & i(j) & Space(5)NextEnd SubPrivate Sub Cmd2_Click()Dim temp As LongDim j As IntegerFor j = 1 To 100If i(j) = 400 And i(j) 800 Thentemp = temp + i(j)End IfNextText1.Text = tempputdata tempEnd Sub第三步:调度并运行程序。第四步:按题目要求存盘。)解析: