1、VB机试模拟试卷 67及答案与解析 一、基本操作题( 30分) 1 (1)在名为 Forml的窗体上绘制两个标签 (名称分别为 Labell和 Label2,标题分别为 “长 ”和 “宽 ”)、两个文本框 (名称分别为 Text1和 Text2, Text属性均为空白 )和一个命令按钮 (名称为 Commandl,标题为 “输入 ”)。编写命令按钮的 Click事件过程,使程序运行后,若单击命令按钮,则先后显示两个 “输入 ”对话框,在两个 “输入 ”对话框中分别输入长和宽,并分别在两个文本框中显示出来,运行后的窗体如图411所示。 注意:程序中不 得使用任何变量;文件必须存放在考生文件夹中,
2、工程文件名为 s j1 vbp,窗体文件名为 sjl frm。 (2)在名为 Form1的窗体上绘制一个标签 (名称为 Labell,标题为 “输入 ”)、一个文本框 (名称为 Textl, Text:属性为空白 )和一个命令按钮 (名称为 Commandl,标题为 “显示 ”)。请编写命令按钮的 Click事件过程,使程序运行后,在文本框中输入内容,然后单击命令按钮,则标签和文本框消失,并在窗体上显示文本框中的内容。运行后的窗体如图 412和图 4l一 3所示。注意:要求程序中不得使用任何变量; 文件必须存放在考生文件夹中,工程文件名为 sj2 Vbp,窗体文件名为 sj2 frm。 二、简
3、单应用题( 40分) 2 (1)在窗体上建立一个名称为 Textl的文本框,然后建立两个主菜单,标题分别为“操作系统 ”和 “帮助 ”,名称分别为 vbOS和 vbHelp,其中 “操作系统 ”菜单包括“Windows、 “unix”和 “AppleMacOS”三个子菜单,名称分别为 vbOSl、 vbOS2和vbOS3。要求程序运行后,在 “操作系统 ”的下拉菜单中选择 “WindoWS”,则在文本框内显示 “个人用户 ”;如果选择 “Unix”,则在文本框内显示 “服务器 ”;如果选择“AppleMacOS”则在文本框内显示 “苹果电脑 ”,如图 283所示。 注意:保存时必须存放在考生文
4、件夹下,窗体文件名为 sj3 frm,工程文件名为 sj3 vbp。 (2)在考生文件夹中有文件 sj4 vbp及其窗体文件 sj4 frm,该程序是不完整的,请在有“?”的地方填入正确内容,然后删除 “?”及代码前的所有注释符 (即 “”号 ),但不能修改其他部分。存盘时不得改变文件夹和文件名。 本题描述如下: 窗体上有一个名称为 Textl的文本框;两个复选框,名称分别为 Checkl和 Check2,标题分别为“C+”和 “。 Basic。要求程序运行后,如果 Checkl和 Check2都不选,则单击窗体后在文本框中什么都不显示;如果只选中 (2heckl,则单击窗体后在文本框中显示“
5、我掌握 C+”;如果只选中 Check2,则单击窗体后在文本框中显示 “我掌握Basic”;如果同时选中 Checkl和 Check2,则单击窗体后在文本框中显示 “我掌握C+和 Basic。程序运行后,若选择 Check2,则单击窗体后显示界面,如图284所示。三、综合应用题( 30分) 3 在名称为 Form1的窗体上画一个文本框,名称为 Text1, MultiLine属性为 True,ScrollBars属性为 2;两个命令按钮名称分别为 Cmdl和 Cmd2,标题分别为 “读人数据 ”和 “排序并保存 ”,如图 46所示。程序运行后,如果单击 “读人数据 ”按钮,则读入 in txt
6、文件中的 100个整数,放入一个数组中 (数组下界为 1):如果单击“排序并保存 ”按钮,则对这 100个整数按从小到大进行排序,并把排序后的全部数据在文本框 Text1中显示出来,然后存入考生文件夹中的文件 result txt中 (在程序中的标准模块 prog bas过程可以把指定个数的数组元素存入 result txt文件中 )。注意:文件必须存放在考生文件夹下,窗体文件名为sj5 frm工程文件名称为 sj5 vbp,排序结果存入 result txt文件,否则没有成绩。 VB机试模拟试卷 67答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1)根据题意,新建 “标准 EX
7、E”工程,在窗体上添加两个标签,名称分别为 Labell和 Label2、 Caption属性分别为 “长 ”和 “宽 ”,两个文本框,名称分别为 Textl和 Text2、 Text属性为空,一 个命令按钮,名称为 Commandl, Caption属性为 “输入 ”。设计完成后,双击 Commandl进入代码窗口,编写如下代码: Option Explicit Private Sub Commandl_Click() Textl Text=InputBox(“请输入长 “) Text2 Text=InputBox(“请输入宽 “) End Sub 单击 按钮运行程序,并按要求保存。 (2)
8、根据题意,新建 “标准 EXE”工程,在窗体上添加一个标签,其名称为I abell,标题为 “输入 ”,一个文本框,其名称为 Textl、 Text属性为空,一个命令按钮,其名称为 Commandl、标题为 “显示 ”。窗体设计完成后,双击 Commandl命令按钮,编写如下代码: Private Sub Commandl Click() Labell Visible=False 隐藏Labell Textl Visible=False 隐藏 Textl Print Textl 将 Textl上的内容显示在窗体上 End Sub 单击 按钮运行程序,并按要求保存。 二、简单应用题( 40分)
9、2 【正确答案】 (1)在 Visual Basic中,菜单也被看做控件,具有属性和事件。菜单的建立在菜单编辑器中完成,菜单的级数通过内缩符号来表示,第一级菜单没有内缩符号,第二级菜单的内缩符号为 1。 根据题意,新建 “标准 EXE”工程,按“Ctrl+E”组合键打开菜单编辑器,在其中添加如下菜单项: 单击 “确定 ”按钮,完成菜单编辑。再将一个文本框控件添加到窗体中,将其名称设为 Textl。代码如下: Private Sub vbOSl_Click(Index As Integer) Windows选项 Textl Text=“个人用户 “ End Sub Private Sub vbO
10、S2_Click(Index As Integer) Unix选项 Textl Text=“服务器 “ End Sub Private Sub vbOS3_Click(Index As Integer) AppleMacOS选项 Textl Text=“苹果电脑 “ End Sub 单击 按钮运行程序,并按要求保存。 (2)复选框用来表示状态,在程序运行期间可以改变其状态。复选框标题由 Caption属性来设置,复选框的 Value属性 用来表示复选框的状态,其取值有: 0表示复选框未被选中; 1表示复选框被选中; 2表示复选框被禁止使用 (灰色 )。 根据题意,将一个文本框控件和两个复选按钮
11、添加到窗体中,文本框控件的名称设为 Textl,复选按钮的名称分别设为 Checkl和 Check2、 Caption属性分别设为 “C+”和 “Basic”。由于是单击窗体触发事件,因此,双击窗体进入代码窗口,补充后的代码如下: Private Sub form_click() Textl Text=“ If Checkl Value And Not Check2 Value Then Textl Text=“我掌握 C+“ If Checkl Value=0 And Check2 Value Then Textl Text=“我掌握 Basic“ If Checkl Value And C
12、heck2 Value=1 Then Textl Text=“我掌握 C+和 Basic“ End Sub 单击 按钮运行程序,并按要求保存。 三、综合应用题( 30分) 3 【正确答案】 除了基本的操作外,本题涉及到的知识点主要有循环和数组的使用两个方面。先在窗体上建立控件,再设置控 件属性,然后研读提供的代码,正确分析并完成程序。文本框显示的内容通过 Text属性设置;按钮的标题通过 Caption属性设置,单击命令按钮触发 Click事件;在本题中涉及到文件的操作,读人文件并以顺序的方式打开,用 “Input#”语句读取数据,另外需要注意的是对文件操作结束后,一定要关闭文件。 文本框显示
13、的内容通过 Text属性设置, Multiline属性决定文本框是否可多行显示。若需要多行显示 ,则必须将 Multiline属性设置为 True,同时将 Scrollbars属性设置为 2。 建立界面并设置控件属性。按钮 的标题通过Caption属性设置,单击命令按钮触发 Click事件。程序中用到的控件及属性设置见下表: 打开工程资源管理器,在其空白处右键添加模块 prog bas(此文件已在考生文件夹里 ),模块代码如下: Option ExplicitSub putdata(a()As Integer, n As Integer)Dim sFile As StringsFile=“ r
14、esult txt“Open App Path&sFile For Output As#1For i=1 To nPrint#l, a(i); Next iClose#1End Sub 打开工程资源管理器,右击窗体,选择查看代码项,在弹出的代码窗口输入代码如下:窗体代码 Option ExplicitDim i(1 To 100)As IntegerPrivate Sub Crodl Click()Dim j As IntegerOpen App Path&“& “in txt“For Input As#lFor i=1 To 100Input#l,i(j)Textl Text=Textl T
15、ext&i(j)& Space(5)Next iClose#lEnd SubPrivate Sub Crod2 Click()Dim j As IntegerDim k As IntegerDim l AS IntegerDim temp As IntegerFor k=l TO 99For 1=k+1 To 100If i(k)i(1)Then temp=i(k): i(k)=i(1): i(1)=tempNext iNext kTextl Text=“For i=1 To 100Textl Text=Textl Text&i(j)&Space(5)Next jEnd Sub 调试并运行程序。 按题目要求存盘。