1、二级 VISUAL+BASIC 机试-100 及答案解析(总分:100.00,做题时间:90 分钟)一、1 基本操作题(总题数:2,分数:30.00)1.在名称为 Form1 的窗体上画一个名称为 check1 的复选框数组,它含 4 个复选框,它们的标题依次为“Item1”、“Item2、“Item3和“Item4”,其索引号分别为 0,1,2,3。初始状态下,“Item1”和“Item4”为选中状态。程序运行后的窗体界面如下图所示。注意:存盘时必须存放在考生文件夹下,工程文件名为 sj1.vbp,窗体文件名为 sj1.frm。(分数:15.00)_2.在名称为 Form1 的窗体上画一个名
2、称为 VScroll1 的垂直滚动条,其刻度值范围为 1200;画一个命令按钮,名称为 Command1、标题为“向下移动”。请编写适当的事件过程,使得程序运行时每单击命令按钮一次(假定单击次数少于 10 次),滚动块向下移动 20 个刻度。程序运行时的窗体界面如下图所示。要求程序中不得使用变量,事件过程中只能写一条语句。注意:存盘时必须存放在考生文件夹下,工程文件名为 sj2.vbp,窗体文件名为 sj2.frm。(分数:15.00)_二、2 简单应用题(总题数:2,分数:40.00)3.在考生文件夹下有工程文件 sj3.vbp 及窗体文件 sj3.frm,该程序是不完整的,请在有“?”号的
3、地方填人正确内容,然后删除“?”及代码前的所有注释符(即号),但不能修改其他部分。存盘时不得改变文件名和文件夹。本题描述如下:在名称为 Form1 的窗体上有一个标题为“求 n 以内(包括 n)所有奇数的和”的 Labe1 控件、一个 Text 控件和 4 个命令按钮。该程序的主要功能是求从 1 到用户输入的任意自然数 n 的奇数的累加和。本题要求刚启动工程时,“计算显示”和“清空”按钮均为灰色,可以在输入框内输入任意自然数(n 值太大时,运算时间将很长,建议不超过 9 位)。在输人数的同时“计算显示”变为可用;当输入数后,“计算显示”变为禁用;当输入为非数值时,累加结果为 0。单击“计算显示
4、”可以在 Text1 中显示累加和,同时“计算显示”变灰,“清空”变为可用。单击“清空”,输入框和显示框均被清空。本题运行时的窗体界面如下图所示。(分数:20.00)_4.在考生文件夹下有工程文件 sj4.vbp 及窗体文件 sj4.frm,该程序与控件结构是不完整的,请在有“?”号的地方填入正确内容,然后删除“?”及代码前的所有注释符(即号),同时补充完整需要的控件属性。存盘时不得改变文件名和文件夹。本题描述如下:在窗体中有一个文本框控件,名称为 Text1;两个命令按钮,名称分别为 Command1 和Command2,标题分别为“读取文本”、“统计字数”;一个名称为 Label1 的标签
5、控件。要求程序运行后,单击 Command1 将考生文件夹下的 sjin.txt 的内容显示到 Text1 中;单击“统计字数”按钮统计 Text1 中有多少个字符,将结果显示在 Label1 中。程序运行时的窗体界面如下图所示。(分数:20.00)_三、3 综合应用题(总题数:1,分数:30.00)5.在考生文件夹下有一个工程文件 sj5.vbp,其窗体上有一个命令按钮,名称为 Command1、标题为“添加”;一个文本框,名称为 Text1。程序运行前,文本框的编辑区为空白;一个列表框,名称为 List1。在文本框中输入文本,若单击“添加”按钮,文本框中的文本作为一个列表项被加入到列表框中
6、,如下图所示。若双击文本框,则使文本框中的内容为空,且使“添加”按钮变为无效。要求:去掉程序中的注释符“”,把程序中的“?”改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分,也不能修改控件的属性,最后把修改后的文件以原来的文件名存盘。(分数:30.00)_二级 VISUAL+BASIC 机试-100 答案解析(总分:100.00,做题时间:90 分钟)一、1 基本操作题(总题数:2,分数:30.00)1.在名称为 Form1 的窗体上画一个名称为 check1 的复选框数组,它含 4 个复选框,它们的标题依次为“Item1”、“Item2、“Item3和“Item4”,其索引号分别
7、为 0,1,2,3。初始状态下,“Item1”和“Item4”为选中状态。程序运行后的窗体界面如下图所示。注意:存盘时必须存放在考生文件夹下,工程文件名为 sj1.vbp,窗体文件名为 sj1.frm。(分数:15.00)_正确答案:(本题主要考查在窗体中添加控件数组及设置复选按钮控件(CheckBox)的 Value 属性。控件数组是一组具有共同名称和类型的控件,它们拥有共同的事件,数组中的每个控件都有唯一的索引号(Index),即下标。添加控件数组的方法是:先通过工具箱建立第一个控件,然后对该控件进行“复制”、“粘贴”操作,粘贴时在弹出的对话框中选择建立控件数组,这时控件数组的 Index
8、 值会自动从 0 开始编号。复选按钮组可用于提供多重选择,每个复选按钮的选中状态由其 Value 属性值决定:0-UnChecked 为未选;1-Checked 为选中;2-Grayed 为禁用(即灰色)。根据题意,新建“标准 EXE”工程,将一个复选按钮控件添加到窗体中,再选中、复制、粘贴,在弹出的对话框中单击“是”,即创建一个控件数组,设置其 Index 属性分别为 0、1、2、3,Caption 属性分别为Item1、Item2、Item3 和 Item4,Item1 和 Item4 的值为 1,Item2 和 Item3 的属性为 0,单击 )解析:2.在名称为 Form1 的窗体上画
9、一个名称为 VScroll1 的垂直滚动条,其刻度值范围为 1200;画一个命令按钮,名称为 Command1、标题为“向下移动”。请编写适当的事件过程,使得程序运行时每单击命令按钮一次(假定单击次数少于 10 次),滚动块向下移动 20 个刻度。程序运行时的窗体界面如下图所示。要求程序中不得使用变量,事件过程中只能写一条语句。注意:存盘时必须存放在考生文件夹下,工程文件名为 sj2.vbp,窗体文件名为 sj2.frm。(分数:15.00)_正确答案:(本题主要考查滚动条(HScrollBar)控件的画法、属性设置及简单事件的编写。滚动条多用于取代数据的键盘输入,通过调整滚动条滑块的位置,印
10、可改变其 Value 属性的值。滚动条的Max 属性、Min 属性限定了滚动条所能表示的最大值和最小值,即 Value 属性值的取值范围,在程序中改变 Value 属性的值,滚动条滑块会随之移动到相应位置。根据题意,新建“标准 EXE”工程,将一个垂直滚动条控件和一个命令按钮添加到窗体中,垂直滚动条的名称为 VScroll1、Min 属性为 1、Max 属性为 200,命令按钮的名称为 Command1、Caption 属性为“向下移动”。双击命令按钮进入代码窗口,编写如下代码:Private Sub Command1_Click()VScroll1.Value=VScroll1.Value+
11、20 每按一次按键,则 VScroll 的数值加 20End Sub单击 )解析:二、2 简单应用题(总题数:2,分数:40.00)3.在考生文件夹下有工程文件 sj3.vbp 及窗体文件 sj3.frm,该程序是不完整的,请在有“?”号的地方填人正确内容,然后删除“?”及代码前的所有注释符(即号),但不能修改其他部分。存盘时不得改变文件名和文件夹。本题描述如下:在名称为 Form1 的窗体上有一个标题为“求 n 以内(包括 n)所有奇数的和”的 Labe1 控件、一个 Text 控件和 4 个命令按钮。该程序的主要功能是求从 1 到用户输入的任意自然数 n 的奇数的累加和。本题要求刚启动工程
12、时,“计算显示”和“清空”按钮均为灰色,可以在输入框内输入任意自然数(n 值太大时,运算时间将很长,建议不超过 9 位)。在输人数的同时“计算显示”变为可用;当输入数后,“计算显示”变为禁用;当输入为非数值时,累加结果为 0。单击“计算显示”可以在 Text1 中显示累加和,同时“计算显示”变灰,“清空”变为可用。单击“清空”,输入框和显示框均被清空。本题运行时的窗体界面如下图所示。(分数:20.00)_正确答案:(命令按钮的 Enabled 属性用于设置其是否有效,值为 True 表示有效,值为 False 表示无效;判断一个数是否为奇数可以用 Mod 运算符来实现。如对于一个数 n,若 n
13、 Mod 2=0,则此数不是奇数,否则就是奇数。根据题意,将 4 个命令按钮、一个文本框控件和一个标签添加到窗体中,命令按钮的名称分别为Command1、Command2、Command3 和 Command4,Caption 属性分别为“输入 n”、“计算显示”、“清空”和“关闭”,文本框的名称为 Text1,标签的 Caption 属性为“求 n 以内(包括 n)所有奇数的和”。双击Command1 进入代码窗口,编写如下代码:Dim n As IntegerDim total As LongPrivate Sub Command1_Click()n=Val(InputBox(“请输入 n
14、:“) 在输入对话框中输入 nCommand2.Enabled=True “计算显示”可用End SubPrivate Sub Command2_Ctick()Dim i As IntegerDim temp As Integertotal=0If n Mod 2=0 Then 判断是否为奇数temp=n-1 如果是偶数则减 1Elsetemp=n 如果是奇数则是其本身End IfFor i=1 To n Step 2 步长为 2total=total+i 进行求和Next iText1.Text=total 在 Text1 中显示结果Command3.Enabled=True “清空”可用C
15、ommand2.Enabled=False “计算显示”不可用End SubPrivate Sub Command3_Click()Text1.Text=“ “ 清空 Text1 中显示的数据Command3.Enabled=False “清空”不可用End SubPrivate Sub Command4_Click()Unload Me 关闭窗口End SubPrivate Sub Form_Load()Command2.Enabled=False “计算显示”不可用Command3.Enabled=False “清空”不可用End Sub单击 )解析:4.在考生文件夹下有工程文件 sj4.
16、vbp 及窗体文件 sj4.frm,该程序与控件结构是不完整的,请在有“?”号的地方填入正确内容,然后删除“?”及代码前的所有注释符(即号),同时补充完整需要的控件属性。存盘时不得改变文件名和文件夹。本题描述如下:在窗体中有一个文本框控件,名称为 Text1;两个命令按钮,名称分别为 Command1 和Command2,标题分别为“读取文本”、“统计字数”;一个名称为 Label1 的标签控件。要求程序运行后,单击 Command1 将考生文件夹下的 sjin.txt 的内容显示到 Text1 中;单击“统计字数”按钮统计 Text1 中有多少个字符,将结果显示在 Label1 中。程序运行
17、时的窗体界面如下图所示。(分数:20.00)_正确答案:(打开顺序文件的基本格式为:Open FileName For Mode As#FileNumber。FileName 表示要打开的文件的路径;Mode 为打开模式,OutPut 用于输出、Append 用于追加写入、Input 用于读取;FileNumber 为打开文件时指定的句柄。Input#语句用于读取打开的顺序文件中一项(或多项)内容给一个变量(或多个变量),Line Input#语句常用于按行读取。Close#语句用于关闭打开的文件。根据题意,将一个文本框控件、一个标签和两个命令按钮添加到窗体中,文本框的名称为 Text1,标签
18、的名称为 Label1、Caption 属性为空,命令按钮的名称为分别为 Command1 和 Command2、Caption 属性分别为“读取文本”和“统计字数”。双击 Command1 进入代码窗口,编写如下代码:Dim rel As StringPrivate Sub Comrnand21_Click()Dim str As Stringstr=“ “Text1.Text=“ “ 初始化 Text1 的文本Open“./sjin.txt“For Input As#1 打开文件,进行读取While EOF(1)=False 判断文件是否读取完Input #1,str 读取文本Text1.
19、Text=Text1.Text+str 在 Text1 中显示文本WendClose # 1End SubPrivate Sub Command2_Click()Label1.Caption=“字数为“+CStr(Len(Text1.Text)在 Label 中显示字数End Sub单击 )解析:三、3 综合应用题(总题数:1,分数:30.00)5.在考生文件夹下有一个工程文件 sj5.vbp,其窗体上有一个命令按钮,名称为 Command1、标题为“添加”;一个文本框,名称为 Text1。程序运行前,文本框的编辑区为空白;一个列表框,名称为 List1。在文本框中输入文本,若单击“添加”按钮
20、,文本框中的文本作为一个列表项被加入到列表框中,如下图所示。若双击文本框,则使文本框中的内容为空,且使“添加”按钮变为无效。要求:去掉程序中的注释符“”,把程序中的“?”改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分,也不能修改控件的属性,最后把修改后的文件以原来的文件名存盘。(分数:30.00)_正确答案:(本题重点考查列表框控件的使用及命令按钮的事件和属性设置。列表框控件用于提供可进行单一或多个选择的列表项,给列表框添加列表项既可以在设计阶段通过其List 属性设置加入,也可在程序运行时通过代码“列表框名.Addltem“项目”加入,清除列表框内容可通过其 Clear 方法来
21、实现;文本框的 Text 属性用于设置或返回其上显示的文本;Enabled 属性用于设置命令按钮是否有效,单击命令按钮将触发其 Click 事件。根据题意,将一个 List 控件、一个命令按钮和一个文本框控件添加到窗体中,列表框的名称为 List1,命令按钮的名称为 Command1、Caption 属性为“添加”,文本框的名称为 Text1、Text 属性为空。双击Command1 进入代码窗口,编写如下代码:Private Sub Command1_Click()List1.Addltem Text1.Text 单击添加按键,将 Text1 中的字符写入 List 中End SubPrivate Sub Text1_Change()If Text1.Text=“ “ ThenCommand1.Enabled=False 如果 Text1 中没有字符,则 Command1 不可用ElseCommand1.EnabledTrue 如果 Text1 中有字符,则 Command1 可用End IfEnd SubPrivate Sub Text1_DblClick()Text1.Text=“ “双击 Text1, 清空 Text1Command1.Enabled=FalseCommand 不可用End Sub单击 )解析: