1、VB 机试-试卷 24 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.(1)在名称为 Forml 的窗体上画一个名称 Checkl 的复选框数组(Index 属性从 0 开始),含 4 个复选框,其标题分别为“Iternl”、“Item2”、“Itern3”和“Item4”。利用属性窗口设置适当的属性,使“Iteml”未选,“Item2”、“Item3”被选中,“Item4”为灰色,程序运行时的窗体界面如图 641所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjlvbp,窗体文件名为sj1
2、frm。 (2)在窗体上画一个命令按钮。其名称为 Commandl,标题为“清空标题”,编写适当的事件过程。程序运行后,窗体的标题为“模拟考试”,如图 642 所示,如果单击命令按钮,则清除窗体的标题,如图 643 所示。 (分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.(1)在考生文件夹下有工程文件 sj3vbp 及窗体文件 sj3frm,该程序是不完整的。在窗体上建立一个列表框、一个组合框和两个命令按钮。程序运行后,在列表框中选择所需要的项目,单击“导出”按钮,把所选择的项目移到组合框中。如果单击“导人”按钮,则把组合框中所选择的项
3、目移到列表框中。程序运行时的窗体界面如图 503 所示。 注意:请在有“?”号的地方填入正确内容,然后删除“?”及代码前的所有注释符(即“”号),但不能修改其他部分。存盘时不得改变文件名和文件夹。 (2)在考生文件夹下有工程文件 sj4vbp 及窗体文件 sj4frm,该程序是不完整的。本题在窗体 Forml 中有一个文本框,名称为 Textl;另有一个命令按钮,名称为 Commandl,标题为“判断”。要求该应用程序具有数据过滤功能,即检查用户在文本框中输入的数值是否在能被 3 整除。如果是,则退出程序;否则在文本框巾显示“不能被 3 整除”,同时使焦点重新回到文本框中。程序运行时的窗体界面
4、如图 504 所示。 (分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.在考生文件夹下有一个工程文件 Sj5vbp,窗体上有一个文本框,名称为 Textl,可以多行显示。还有3 个命令按钮,名称分别为 Commandl、Command2 和 Command3,标题分别为“读取数据”、“降序排列”和“保存”。“读取数据”按钮的功能是从考生文件夹下的 in5dat 文件中读取 40 个整数到数组中,并在 Textl 中显示出来;“降序排列”按钮的功能是对这 40 个数降序排序,并显示在 Textl 中;“保存”按钮的功能是把排好序的 40 个
5、数存到考生文件夹下的 out5dat 文件中。程序运行界面如图 385 所示。(分数:2.00)_VB 机试-试卷 24 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.(1)在名称为 Forml 的窗体上画一个名称 Checkl 的复选框数组(Index 属性从 0 开始),含 4 个复选框,其标题分别为“Iternl”、“Item2”、“Itern3”和“Item4”。利用属性窗口设置适当的属性,使“Iteml”未选,“Item2”、“Item3”被选中,“Item4”为灰色,程序运行时的窗体界面
6、如图 641所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjlvbp,窗体文件名为sj1frm。 (2)在窗体上画一个命令按钮。其名称为 Commandl,标题为“清空标题”,编写适当的事件过程。程序运行后,窗体的标题为“模拟考试”,如图 642 所示,如果单击命令按钮,则清除窗体的标题,如图 643 所示。 (分数:2.00)_正确答案:(正确答案:(1)本题考查在窗体中加入控件数组及复选框控件(CheckBox)的使用。复选框组可用于实现多重选择,每个复选框的选中状态由其 Value 属性值决定:0 为未选;1 为选中;2 为不可用(即灰色)。 根据题意,将一个复选框控件添加
7、到窗体中,其名称为 Checkl,再选中此复选框,复制、粘贴,在弹出的对话框中选择是”,即创建含有 4 个控件的控件数组。Index 属性分别为0、1、2、3,Caption 属性分别为“heml”、“hem2”、“hem3”和“Item4”,“Iteml,的 Value 属性为 0,“Item2和“hem3”的 Value 属性为 1,“Item4”的 Value 属性为 2。单击 按钮运行程序,并按要求保存。 、 (2)本题考查命令按(CommandButton)控件的画法和窗体相关属性,以及简单的事件过程编写。 根据题意,将一个命令按钮添加到窗体中,其名称为 Commandl、Capti
8、on 属性为。“清空标题”,Forml 的 Caption 属性为“模拟考试”。双击 Commandl 进入代码窗口,编写如下代码: Private Sub Commandl_Click() FormlCaption=“ End Sub 单击 )解析:二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1)在考生文件夹下有工程文件 sj3vbp 及窗体文件 sj3frm,该程序是不完整的。在窗体上建立一个列表框、一个组合框和两个命令按钮。程序运行后,在列表框中选择所需要的项目,单击“导出”按钮,把所选择的项目移到组合框中。如果单击“导人”按钮,则把组合
9、框中所选择的项目移到列表框中。程序运行时的窗体界面如图 503 所示。 注意:请在有“?”号的地方填入正确内容,然后删除“?”及代码前的所有注释符(即“”号),但不能修改其他部分。存盘时不得改变文件名和文件夹。 (2)在考生文件夹下有工程文件 sj4vbp 及窗体文件 sj4frm,该程序是不完整的。本题在窗体 Forml 中有一个文本框,名称为 Textl;另有一个命令按钮,名称为 Commandl,标题为“判断”。要求该应用程序具有数据过滤功能,即检查用户在文本框中输入的数值是否在能被 3 整除。如果是,则退出程序;否则在文本框巾显示“不能被 3 整除”,同时使焦点重新回到文本框中。程序运
10、行时的窗体界面如图 504 所示。 (分数:2.00)_正确答案:(正确答案:(1)列表框控件用于显示可供单一或多个选择的列表项。给列表框添加列表项既可以在设计阶段通过其 List 属性设置加入(注意每输入完一项后按“Ctrl+Enter”组合键换行再输人下一项),也可在程序运行时通过代码“列表框名AddItem“巧目”加入”;MultiSelect 用于设置是否可在列表项中做多个选择,值为 0(缺省设置)表示不允许做多项选择,值为 1 表示允许做简单多项选择,值为 2 表示允许按住“Shift+Ctrl”键做多项选择;Selected(Index)属性用于设置或返回指定索引号的列表项选择状态
11、(索引号从 0 开始),值为 True 表示被选中,值为 False 表示未被选中;List(Index)属性用于设置或返回指定索弓 1 号的列表项的内容;ListCount 属性用来返回列表框中当前的列表项条数;RemoveItem方法用于删除指定索引号的列表项。 根据题意,将一个列表框控件、一个组合框 ComboBox 控件和两个命令按钮添加到窗体中,列表框的名称为 Listl、Sorted 属性为 True,ComboBox 的名称为 Comb01,命令按钮的名称分别为 Commandl 和 Command2,Caption 属性分别为“号出”和“导入”。双击 Commandl 进入代码
12、窗口,补充后的代码如下: Private Sub Commandl_Click() If Listl Listlndex -1 Then,如果Listl 有选中项 Comb01AddItem ListlList(ListlListIndex) 将 Listl 中的选中项添加到 Combol中 Listl RemoveItem (ListlListlndex) 将选中项从 Listl 中删除 End If End Sub Private Sub Command2_Click() If Comb01 ListIndex -1 Then,如果 Combol 有选中项则执行 ListlAddhem C
13、ombo1List(Comb01Listlndex) 将 Comb01 的选中项添加到 List 中 Comb01 RemoveItem Comb01ListIndex将选中项从 Combol 中删除 End If End Sub 单击 按钮运行程序,并按要求保存。 (2)本题主要考查考生对 SetFocus 方法和 LostFocus 事件的掌握。 当按键盘上“Tab”键或单击其他对象时,当前对象将失去焦点并触发 LostFocus 事件;SetFocus 方法用于将焦点移到擗定的对象上。 题目要求文本框应具有数据过滤功能,即当在文本框中输入数据时,会自动完成对输入数据的检查,故要用 Set
14、Focus 方法使文本框获取焦点。 根据题意,将一个命令按钮和一个文本框控件添加到窗体中,命令按钮的名称为 Commandl、Caption 属性为“判断”,文本框的名称为 Textl、Text 属性为空。双击Commandl,进入代码窗口,编写如下代码: Private Sub Commandl_Click() Dim a As Integer a= Val(TextlText) 读取 Textl 中读取的数 If a Mod 3=0 Then Unload Me当能被 3 整除时,关闭窗口 Else Textl Text =“不能被 3 整除“ 当不能被 3 整除时,在 Textl 中显示
15、 TextlSetFocus End If End Sub 单击 )解析:三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.在考生文件夹下有一个工程文件 Sj5vbp,窗体上有一个文本框,名称为 Textl,可以多行显示。还有3 个命令按钮,名称分别为 Commandl、Command2 和 Command3,标题分别为“读取数据”、“降序排列”和“保存”。“读取数据”按钮的功能是从考生文件夹下的 in5dat 文件中读取 40 个整数到数组中,并在 Textl 中显示出来;“降序排列”按钮的功能是对这 40 个数降序排序,并显示在 Textl 中;“
16、保存”按钮的功能是把排好序的 40 个数存到考生文件夹下的 out5dat 文件中。程序运行界面如图 385 所示。(分数:2.00)_正确答案:(正确答案:本题在排序中,使用双重循环,外循环每循环一次,确定内循环的次数,内循环就是把本次循环中最小的数,放在数组的最后面,这样就可以实现对 40 个数的降序排序。原代码补充后如下: Dim a(40)As Long Dim str(40)As String Dim tex As String Dim i As Integer Private Sub Commandl Click() 读取数据 tex=“ Open“AppPath&in5dat“F
17、or Input As#1 For i=1 To 40 Input#1, a(i) 逐个读取 40 个数据 str(i)=a(i) tex:tex+str(i)+“ 将数组放到一个字符串中 Next i Close#1 TextlText= tex 在 Textl 中显示字符串 End Sub Private Sub Command3 Click() 保存数据 Open“AppPath&out5dat“For Output As#1 Print#1,TextlText Close#1 End Sub 并在 Command2 的 Click 事件中编写以下代码: Private Sub Command2 Click() For i=1 To 40 降序排列 temp=a(i) For j=1 To i If a(j) 按钮运行程序,并按要求保存。)解析: