1、VB 机试-试卷 31 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.(1)在窗体上画一个列表框,名称为 Listl,通过属性窗口向列表框中添加 3 个项目,分别为“Iternl”、“Item2”和“1tem3”。编写适当的事件过程。使程序运行后,如果双击。Form1 空白处,则清空列表框中的内容。程序运行时窗体界面如图 15 一 1、152 所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjlvbp,窗体文件名为 sjlfrm。 (2)在窗体上画两个命令按钮,名称分别为 Command1、
2、Command2、标题分别为“启用”、“禁用”,一个名称为 Textl 的 Text 控件。请编写适当的事件过程,使得程序在运行时,单击“启用”按钮,Text1 会变为有效,而当单击“禁用”命令按钮 Textl 变为无效。程序中不得使用任何变量,程序运行时的窗体界面如图 153、154 所示。(分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.(1)在考生文件夹下有工程 sj3vbp 及窗体文件 sj3frm,该窗体和程序是不完整的。在窗体上画一个名称为 Combo1 的组合框,画两个名称分别为 Labell 和 Label2、Captio
3、n 属性分别为“选项”和空白的标签。程序运行后,当在组合框中输入一个新项后按回车键(ASCII 码为 13)时,由自动添加到组合框列表中,并在 Label2 中给出提示“已添加成功”。程序运行效果如图 603 所示。 注意:请在有“?”的地方填入正确内容,然后删除“?”及代码前的所有注释符(即“”号),但不能修改其他部分。存盘时不得改变文件名和文件夹。 (2)在考生文件夹下有工程 sj4vbp 及窗体文件 sj4frm,该程序是不完整的。在窗体上有一个文本框(内容)与两个命令按钮,名称分别为 Textl、Commandl 与 Command2。其中Commandl 的标题为“生成数据”;Com
4、mand2 的标题为“显示奇数”。要求程序运行时,单击“生成数据”按钮,则自动生成 80 个 0800 之间的随机整数,并在文本框中显示;单击“显示奇数”,则将这 80 个数据中的奇数显示到文本框中。程序运行时的窗体界面如图 604 所示。 (分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.在考生文件夹下提供了一个通用过程,可供考生直接调用。请在窗体上绘制一个名称为 Textl 的文本框,绘制一个名称为 C1、标题为“计算”的命令按钮和两个名称分别为 0p1 和 Op2、标题分别为“求200300 之间能被 7 整除的数之和”和“求 20
5、0300 之间能被 3 整除的数之和”的单选按钮,如图 445 所示。 (分数:2.00)_VB 机试-试卷 31 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.(1)在窗体上画一个列表框,名称为 Listl,通过属性窗口向列表框中添加 3 个项目,分别为“Iternl”、“Item2”和“1tem3”。编写适当的事件过程。使程序运行后,如果双击。Form1 空白处,则清空列表框中的内容。程序运行时窗体界面如图 15 一 1、152 所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjlv
6、bp,窗体文件名为 sjlfrm。 (2)在窗体上画两个命令按钮,名称分别为 Command1、Command2、标题分别为“启用”、“禁用”,一个名称为 Textl 的 Text 控件。请编写适当的事件过程,使得程序在运行时,单击“启用”按钮,Text1 会变为有效,而当单击“禁用”命令按钮 Textl 变为无效。程序中不得使用任何变量,程序运行时的窗体界面如图 153、154 所示。(分数:2.00)_正确答案:(正确答案:(1)列表框控件用于显示可供单一或多个选择的列表项,给列表框添加列表项既可以在设计阶段通过其 List 属性设置加入(注意每输入完一项后按“Ctrl+Enter”组合键
7、换行再输入下一项),也可在程序运行时通过代码“列表框名AddItem“项目”加入,清除窗体内容可通过 Cls 方法来实现。 根据题意,新建“标准 EXE”工程,将一个 List 控件添加到窗体中,其名称为 Listl,在属性窗 VI 的list 属性中添加“heml”、“Item2”和“Item3”,每输入一个后按“Ctrl+Enter”组合键换行输入下一个元素,当输入完成后,按回车键,则元素添加完成,双击 Forml 的空白处,进入代码编写窗口,编写如下代码: Private Sub Form_DblClick() Dim i As Integer For i=LstlListCount-1
8、 To 0 Step-1 先删除索引大的项,防止 i 溢出 ListlRemoveItem i移除索引指定项 Next i End Sub 单击 按钮运行程序,并按要求保存。 (2)命令按钮(CommandButton)常用来建立实现某种命令,通过命令按钮的Caption 属性设置其标题;控件是否有效由其 Enabled 属性来设置,值为 True 表示有效,值为 False 表示无效;单击命令按钮将触发其 Click 事件。 要实现程序运行时单击某个按钮使文本框变为无效,只需在编写该按钮的 Click 事件过程中修改文本框的 Enabled 属性值即可。 根据题意,新建“标准 EXE”工程,
9、将一个文本框控件和两个命令按钮添加到窗体中,文本框的名称为 Textl,命令按钮的名称分别为Commandl 和 Command2,Caption 属性分别为“启用”和“禁用”。双击 Commandl 进入代码窗口,编写如下代码: Private Sub Commandl_Click() TextlEnabled=True 启用 Textl End Sub Private Sub Command2_Click() TextlEnabled=False 禁用 Textl End Sub 单击 )解析:二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1
10、)在考生文件夹下有工程 sj3vbp 及窗体文件 sj3frm,该窗体和程序是不完整的。在窗体上画一个名称为 Combo1 的组合框,画两个名称分别为 Labell 和 Label2、Caption 属性分别为“选项”和空白的标签。程序运行后,当在组合框中输入一个新项后按回车键(ASCII 码为 13)时,由自动添加到组合框列表中,并在 Label2 中给出提示“已添加成功”。程序运行效果如图 603 所示。 注意:请在有“?”的地方填入正确内容,然后删除“?”及代码前的所有注释符(即“”号),但不能修改其他部分。存盘时不得改变文件名和文件夹。 (2)在考生文件夹下有工程 sj4vbp 及窗体
11、文件 sj4frm,该程序是不完整的。在窗体上有一个文本框(内容)与两个命令按钮,名称分别为 Textl、Commandl 与 Command2。其中Commandl 的标题为“生成数据”;Command2 的标题为“显示奇数”。要求程序运行时,单击“生成数据”按钮,则自动生成 80 个 0800 之间的随机整数,并在文本框中显示;单击“显示奇数”,则将这 80 个数据中的奇数显示到文本框中。程序运行时的窗体界面如图 604 所示。 (分数:2.00)_正确答案:(正确答案:(1)组合框(ComboBox)将文本框与列表框的特性组合在一起,既可在组合框的文本框部分输入信息,也可在列表框部分选择
12、项目;组合框的列表项既可以在设计阶段通过其 List 属性设置加入(注意每输入完一项后按 Ctrl+Enter 键换行再输人下一项),也可在程序运行时通过语句“组合框名Addhem项目”加入;程序运行时可通过 List(Index)属性返回或设置指定索引号的列表项,设置列表项的语法为“组合框名List(Index)=字符串”;属性 Listlndex 用于返回当前选择的项目的索引号。根据题意,将一个 ComboBox 控件和两个标签添加到窗体中,ComboBox 的名称为 Combol、Style 属性为0,标签的名称分别为 Labell 和 Label2、Caption 属性分别为选项和空。
13、双击 Combol 进入代码编写窗口,在 Combol_KeyDown 事件中补充以下代码: Private Sub Combol_KeyDown(KeyCode As Integer,Shift As Integer) If KeyCode=13 Then13 为回车键的 ASCII 码值 Comb01 Addltem Comb01Text Label2 Caption =“已添加成功“ 在 Label2 上显示添加成功 End If End Sub 单击 按钮运行程序,并按要求保存。 (2)本题主要考查 Rnd()函数和求余运算符 Mod 的使用。Rnd()函数用于产生一0,1的随机数。M
14、od 运算符常用来判断一个数能否被另一个数整除。 程序补充后的代码如下: Dim a(80)As Integer Dim rel As String Private Sub Commandl_Click() Dim i As Integer rel=“ For i=1 To 80 a(i)= Rnd() *(800-0) rel=rel+CStr(a(i)+“ Next i Textl Text =rel End Sub Private Sub Command2 Click() rel=“ For i=1 To 80 If a(i)Mod 2=1 Then rel=rel+CStr(a(i)+
15、“ End If Next i Textl Text =rel End Sub 单击 )解析:三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.在考生文件夹下提供了一个通用过程,可供考生直接调用。请在窗体上绘制一个名称为 Textl 的文本框,绘制一个名称为 C1、标题为“计算”的命令按钮和两个名称分别为 0p1 和 Op2、标题分别为“求200300 之间能被 7 整除的数之和”和“求 200300 之间能被 3 整除的数之和”的单选按钮,如图 445 所示。 (分数:2.00)_正确答案:(正确答案:本题主要考查循环程序设计思想的使用。程序中提供的事件过程用来求 200300之间能被 n 整除的数之和,这里 n 是传递给 Function 过程的参数,该 Function 过程返回所求得的和。 文本框用 Text 属性来接收用户的输入。按钮的标题通过 Caption 属性来设置,单击按钮触发的是 Click事件。为了检测单选按钮是否被选中,可以通过检测其 Value 属性来实现,当 Value 属性为 True 时,表示该单选按钮被选中,否则未被选中。在按钮的 Click 事件过程中通过条件语句来调用 Function 过程,实现程序要求的功能。 建立控件并设置控件属性。程序中用到的控件及其属性见下表: )解析: