1、二级 VISUAL+BASIC 机试-20 及答案解析(总分:100.00,做题时间:90 分钟)一、1 基本操作题(总题数:1,分数:30.00)1.注意:下面出现的“”均为 c:/wexam/25160001。请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。(1)在名称为 Forml 的窗体上建立一个名称为 Cmd1,标题为“显示”的命令按钮,编写适当的事件过程。程序运行后,如果单击“显示”命令按钮,则在窗体上显示“等级考试”,如图 6-1 所示。程序中不能使用任何变量,直接显示字符串。注意:保存时必须存放在考生文件夹下,窗体文件名为 sjt1.frm,工
2、程文件名为 sjt1.vbp。图 6-1 图 6-2(2)在名称为 Form1 的窗体上建立一个名称为 L1 的标签,两个名称为 Cmd1 和 Cmd2,标题分别为“显示1”和“显示 2”的命令按钮。编写适当的事件过程,要求程序运行后,如果单击“显示 1”命令按钮,则在标签上显示字符串“aaa”;如果单击“显示 2”命令按钮,则在标签上显示字符串“bbb”。程序中不能使用任何变量,直接显示字符串。如图 6-2 所示。注意:保存时必须存放在考生文件夹下,窗体文件名为 sjt2.frm,工程文件名为 sjt2.vbp。(分数:30.00)_二、2 简单应用题(总题数:1,分数:40.00)2.注意
3、:下面出现的“考生文件夹”均为 c:/wexam/25160001。(1)在窗体上建立一个名称为 Text1 的文本框,然后建立两个主菜单,其标题分别为“商品类别”和“帮助”,名称分别为 vbMenu 和 vbHelp,其中“商品类别”菜单包括“百货”、“食品”和“家电”三个子菜单,名称分别为 vbMenu1、vbMenu2 和 vbMenu3。程序运行后,如果在“商品类别”的下拉菜单中选择“百货”,则在文本框内显示“大类核算”;如果选择“食品”,则在文本框内显示“中类核算”;如果选择“家电”,则在文本框内显示“小类核算”。程序中不能使用任何变量,直接显示字符串。程序运行界面如图 6-3 所示
4、。注意:保存时必须存放在考生文件夹下,窗体文件名为 sjt3.frm,工程文件名为 sjt3.vbp。(分数:40.00)_三、3 综合应用题(总题数:1,分数:30.00)3.下面出现的“考生文件夹”均为 c:/wexam/25160001。在考生文件夹中有工程文件 sjt5.vbp 及其窗体文件 sjt5.frm,该程序是不完整的,请在有? 号的地方填入正确内容,然后删除?及所有注释符(即号)但不能修改其他部分。存盘时不得改变文件名和文件夹。本题描述如下:在名称为 Form1 的窗体上有一个文本框,名称为 Text1,MultiLine 属性为 True,ScrollBars 属性为 2:
5、两个命令按钮名称分别为 Cmd1 和 Cmd2,标题分别为“读入数据”和“计算保存”,如图 6-5 所示。要求程序运行后,如果单击“读入数据”按钮,则读入“in.txt”文件中的 100 个整数,放入个数组中 (数组下界为 1),同时在文本框中显示出来:如果单击“计算保存”按钮,则计算其中前 50 个数之和,并把求和结果在文本框 Text1 中显示出来,同时把结果存入考生文件夹中的文件“out.txt”中。 (在考生的文件夹下有标准模块 mode.bas,其中的 putdata 过程可以把结果存入指定的文件)。注意:文件必须存放在考生文件夹下,窗体文件名为 sjt5.frm,工程文件名为 sj
6、t5.vbp,计算结果存入out.txt 文件,否则没有成绩。(分数:30.00)_二级 VISUAL+BASIC 机试-20 答案解析(总分:100.00,做题时间:90 分钟)一、1 基本操作题(总题数:1,分数:30.00)1.注意:下面出现的“”均为 c:/wexam/25160001。请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。(1)在名称为 Forml 的窗体上建立一个名称为 Cmd1,标题为“显示”的命令按钮,编写适当的事件过程。程序运行后,如果单击“显示”命令按钮,则在窗体上显示“等级考试”,如图 6-1 所示。程序中不能使用任何变量,直接
7、显示字符串。注意:保存时必须存放在考生文件夹下,窗体文件名为 sjt1.frm,工程文件名为 sjt1.vbp。图 6-1 图 6-2(2)在名称为 Form1 的窗体上建立一个名称为 L1 的标签,两个名称为 Cmd1 和 Cmd2,标题分别为“显示1”和“显示 2”的命令按钮。编写适当的事件过程,要求程序运行后,如果单击“显示 1”命令按钮,则在标签上显示字符串“aaa”;如果单击“显示 2”命令按钮,则在标签上显示字符串“bbb”。程序中不能使用任何变量,直接显示字符串。如图 6-2 所示。注意:保存时必须存放在考生文件夹下,窗体文件名为 sjt2.frm,工程文件名为 sjt2.vbp
8、。(分数:30.00)_正确答案:(解析 在窗体上建立好控件后,先设置控件属性,再编写事件过程。命令按钮的标题通过 Caption 属性设置,单击命令按钮触发 Click 事件;在窗体上打印显示内容使用Print 方法。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 6-1。*第二步:编写程序代码。参考代码:Private Sub Cmd1_Click()Print“等级考试”End Sub第三步:调试并运行程序。第四步:按题目要求存盘。(2)解析 在窗体上建立好控件后,先设置控件属性,再编写事件过程。命令按钮的标题由 Caption 属性设置,单击命令按钮触发 Cli
9、ck 事件;标签上显示的内容通过 Caption 属性设置。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 6-2。*第二步:编写程序代码。参考代码:Private Sub Cmd1_Click()L1.Caption=“aaa“End SubPrivate Sub Cmd2_Click()L1.Caption=“bbb“End Sub第三步:调试并运行程序。第四步:按题目要求存盘。答案考生文件夹)解析:二、2 简单应用题(总题数:1,分数:40.00)2.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。(1)在窗体上建立一个名称为 Text1
10、的文本框,然后建立两个主菜单,其标题分别为“商品类别”和“帮助”,名称分别为 vbMenu 和 vbHelp,其中“商品类别”菜单包括“百货”、“食品”和“家电”三个子菜单,名称分别为 vbMenu1、vbMenu2 和 vbMenu3。程序运行后,如果在“商品类别”的下拉菜单中选择“百货”,则在文本框内显示“大类核算”;如果选择“食品”,则在文本框内显示“中类核算”;如果选择“家电”,则在文本框内显示“小类核算”。程序中不能使用任何变量,直接显示字符串。程序运行界面如图 6-3 所示。注意:保存时必须存放在考生文件夹下,窗体文件名为 sjt3.frm,工程文件名为 sjt3.vbp。(分数:
11、40.00)_正确答案:(解析 在窗体上建立好控件后,先设置控件属性,再编写事件过程。在 Visual Basic 中,菜单也被看作控件,具有属性和事件。菜单的建立在菜单编辑器中完成,菜单的级数通过内缩符号来表示,第一级菜单没有内缩符号,第二级菜单的内缩符号为 1:文本框的内容由 Text属性设置。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 6-3。*第二步:编写程序代码。参考代码:Private Sub vbMenu1_Click()Text1.Text=“大类核算“End SubPrivate Sub vbMenu2_Click()Text1.Text=“中类核
12、算“End SubPrivate Sub vbMenu3_Click()Text1.Text=“小类核算“End Sub第三步:调试并运行程序。第四步:按题目要求存盘。(2)解析 在窗体上建立好控件后,先设置控件属性,再编写事件过程。在 Visual Basic 中,复选按钮的标题由 Caption 属性设置,Value 属性用来表示复选框的状态,复选框的 Value 属性有 0、 1 或 2 三种取值,其作用为:0:表示未选中;1:表示选中该复选框;2:表示该复选框被禁止(灰色)。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 6-4。*第二步:编写程序代码。程序提供
13、的代码:Option ExplicitPrivate Sub Form_Click()Text1.Text = “If Ch1.Value = ? ThenText1.Text = Text1.Text + “英语班“End IfIf Ch2.Value ThenIf Text1.Text “ Then Text1.Text = ? + “和“Text1.Text = Text1.Text + “计算机班“End IfIf Text1.Text “ ThenText1.Text = “报名参加“ + Text1.TextEnd IfEnd Sub参考代码:Option ExplicitPriv
14、ate Sub Form_Click()Text1.Text = “If Ch1.Value = 1 ThenText1.Text = Text1.Text + “英语班“End IfIf Ch2.Value ThenIf Text1.Text “ Then Text1.Text = Text1.Text + “和“Text1.Text = Text1.Text + “计算机班“End IfIf Textl.Text “ ThenText1.Text = “报名参加“ + Text1.TextEnd IfEnd Sub第三步:调试并运行程序。第四步:按题目要求存盘。)解析:三、3 综合应用题(
15、总题数:1,分数:30.00)3.下面出现的“考生文件夹”均为 c:/wexam/25160001。在考生文件夹中有工程文件 sjt5.vbp 及其窗体文件 sjt5.frm,该程序是不完整的,请在有? 号的地方填入正确内容,然后删除?及所有注释符(即号)但不能修改其他部分。存盘时不得改变文件名和文件夹。本题描述如下:在名称为 Form1 的窗体上有一个文本框,名称为 Text1,MultiLine 属性为 True,ScrollBars 属性为 2:两个命令按钮名称分别为 Cmd1 和 Cmd2,标题分别为“读入数据”和“计算保存”,如图 6-5 所示。要求程序运行后,如果单击“读入数据”按
16、钮,则读入“in.txt”文件中的 100 个整数,放入个数组中 (数组下界为 1),同时在文本框中显示出来:如果单击“计算保存”按钮,则计算其中前 50 个数之和,并把求和结果在文本框 Text1 中显示出来,同时把结果存入考生文件夹中的文件“out.txt”中。 (在考生的文件夹下有标准模块 mode.bas,其中的 putdata 过程可以把结果存入指定的文件)。注意:文件必须存放在考生文件夹下,窗体文件名为 sjt5.frm,工程文件名为 sjt5.vbp,计算结果存入out.txt 文件,否则没有成绩。(分数:30.00)_正确答案:(解析 在窗体上建立好控件后,先设置控件属性,再编
17、写事件过程。文本框显示的内容由 Text 属性设置,Multiline 属性决定文本框是否可多行显示;按钮的标题由 Caption属性设置,单击命令按钮触发 Click 事件。题中涉及到文件的操作,读入顺序文件以顺序的方式打开,用input#语句读取数据。另外需要注意的是对文件操作完后,一定要关闭文件。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性值见表 6-5。* 第二步:编写程序代码。程序提供的代码。mode.bas 代码:Option ExplicitSub putdata(t_FileName As String,t_Str As Variant)Dim sFile
18、 As StringsFile=“/“ & t_FileNameOpen App.Path & sFile For Output As #1Print #1,t_StrClose #1End Sub窗体代码:Option ExplicitDim ?(1 To 100) As IntegerPrivate Sub Cmd1_Click()Dim j As IntegerOpen App. Path& “/in.txt“ For Input As #1For j = 1 To 100Input #1, i(j)Text1.Text = Text1.Text & i(j) & Space(5)Nex
19、tClose #1End SubPrivate Sub Cmd2_Click()Dim ? As IntegerDim temp As LongFor j = 1 To 50temp = temp + i(j)NextTextl.? = tempputdata “out.txt“, tempEnd Sub参考代码:Option ExplicitDim i(1 To 100) As IntegerPrivate Sub Cmd1_Click()Dim j As IntegerOpen App. Path & “/in.txt“ For Input As #1For j = 1 To 100Input #1, i(j)Text1.Text = Text1.Text & i(j) & Space(5)NextClose #1End SubPrivate Sub Cmd2_Click()Dim j As IntegerDim temp As LongFor j = 1 To 50temp = temp + i(j)NextText1.Text = tempputdata “out.txt“, tempEnd Sub第三步:调试并运行程序。第四步:按题目要求存盘。)解析: