1、VB机试模拟试卷 76及答案与解析 一、基本操作题( 30分) 1 (1)在名称为 Forml的窗体中建立一个标题为 “显示结果 ”、名称为 Commandl的命令按钮,要求程序运行后,如果单击 “显示结果 ”按钮,则执行语句 Forml Print“显示结果 ”;如果单击窗体,则执行语句 Form1 Cls,如图 321所示。 注意:保存时必须存放在考生文件夹下,窗体文件名为 s11 frm,工程文件名为 sj1 vbp。 (2)在名称为 Forml的窗体上建立一个垂直滚动条,名称为 VSl,其最大值为 50,最小值为 0。要求程序 运行后,每次移动滚动块时,都执行语句 Form1 Prin
2、t VSl Value,如图 322所示 (程序中不能使用任何变量 )。注意:保存时必须存放在考生文件夹下,窗体文件名为 sj2 frm,工程文件名为sj2 vbp。 二、简单应用题( 40分) 2 (1)在考生文件夹下有工程文件 sj3 vbp及窗体文件 sj3 frm,该程序是不完整的。在名称为 Forml的窗体上有 3个 Text控件及 5个命令按钮,功能为:开始启动工程时,界面上除 “读取数据 ”及 “关闭 ”按钮有效之外,其他按钮均不可用 (灰色显示 );单击 “读取 数据 ”按钮之后,利用 InputBox让用户连续且必须输入 8个数。若录人为非数字符号,则给出提示 “输人数据无效
3、,请重新输入: ”;输入完毕后,“读取数据 ”变灰,其他变为可用状态;按相应的按钮可分别求出所输入数据的升序排列及平均值,并在右侧对应的文本框中显示 (注意用 A(8)存放最大数, A(1)存放最小数 );单击 “清空 ”按钮将所有文本框清空。如图 10一 3所示。 注意:请在有“?”的地方填入正确内容,然后删除 “?”及代码前的所有注释符 (即 “”号 ),但不能修改其他部分。存盘时不得改变文件名和文件夹。 (2)在考生文件 夹下有工程文件sj4 vbp及窗体文件 sj4 frm,该程序是不完整的。在名称为 Forml,窗体上有 3个 Label控件、 2个 Text控件和 2个命令按钮。该
4、程序的主要功能是求从 1到 Textl中用户输入的任意自然数 n的累加和。刚启动工程时,可以在输入框内输入任意自然数 (n值太大时,运算时间将很长,建议不超过 4位 )。当输入为非数值时,累加结果为 0;单击 “开始 ”可以在, I?ext2中显示累加和,同时 “开始 ”变为 “完成 ”并变灰;单击 “关闭 ”按钮结束程序的运行。如图 104所示注意:请在有 “?”的地方填入正确内容, 然后删除 “?”及代码前的所有注释符 (即 “”号 ),但不能修改其他部分。存盘时不得改变文件名和文件夹。 三、综合应用题( 30分) 3 在考生文件夹下有一个工程文件 sj5 vbp,其窗体上有一个文本框,名
5、称为Textl,可以多行显示;还有 3个命令按钮,名称分别为 Command1、 Command2和Command3,标题分别为 “打开文件 ”、 “大写 ”和 “保存 ”。程序运行时的窗体界面如图 245所示。 命令按钮的功能是:单击 “打开文件 ”按钮,弹出打开文件对话框,默认打开文件的类型为 “文本文件 ”。选择考生文件夹下 的in5 txt文件后,该文件中的内容显示 Textl中;单击 “大写 ”按钮,程序将把 Text1中的所有小写英文字母转换成大写;单击 “保存 ”按钮,把 Text1中的内容存入考生文件夹下的 out5 txt文件中。在窗体中已经给出了部分程序。 注意:考生不得修
6、改已有的程序和控件的属性,必须对考生文件夹下的 in5 txt文件进行转换,并把转换结果通过 “存盘 ”按钮存入考生文件夹下的 out5 txt文件中,否则会影响成绩。 VB机试模拟试卷 76答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1)清除窗体上 原来的显示的值可以用 Cls方法来实现。根据题意,新建 “标准 EXE”工程,在 Forml窗体上放人一个命令按钮,并将其名称设为Commandl、 Caption属性为 “显示结果 ”。然后双击 Forml中的命令按钮进入代码窗口,编写如下代码: Private Sub Commandl_Click() Forml Print“
7、显示结果 “ End Sub Private Sub Form_Click() Forml Cls End Sub 单击 按钮运行程序,并按要求保存。 (2)滚动条表示的最大值由 Max属性设置,最小 值由 Min属性设置,滚动条的当前值由 Value属性设置;当滚动框的位置改变时,触发 Change事件。 根据题意,新建 “标准 EXE”工程,在窗体上放人一个垂直滚动条控件,将其名称设为VSl,并将其 Max属性为 50、 Min属性为 0。双击 VSl控件,进入代码窗口,编写如下代码: Private Sub VSl Change() Forml Print VSl Value End S
8、ub 单击 按钮运行程序,并按要求保存。 二、简单应用题( 40分) 2 【正确答案】 (1)用数组 str(8)来接收 InputBox输入的 8个数, InPutB。 x的格式为: InputBOX(提示 ,标题 ,默认 , x坐标位置 , Y坐标位置 ); Enabled属性可设置控件是否可用,当该值为 True时可用,为 False时不可用 (灰色 ); Val()函数将字符转换成数值。 根据题意,将 5个命令按钮和 3个文本框控件添加到窗体中,命令按钮的名称分别为 Commandl、 command2.Command3、 Command4和Command5, Caption属性分别为
9、 “读取数据 ”、 “升序显示 ”、 “平均值 ”、 “清空 ”和“关闭 ”,文本框的名称分别为 Textl、 Text2和 Text3, Text属性都为空。双击Cornmandl进入代码窗口,补充后的代码如下: Dim a(8)As Long Dim str(8)As String Private Sub Commandl_Click() Dim strl AS String Dim str2 As String Dim str3 As String Dim i AS Integer str3=“ For i=i To 8 str2=i strl=“输入第 “ strl=strl+str2
10、 strl=str1+“个数 “ str(i)=InputBox(strl) lf str(i)=“Then如果按 “取消则重新初始化 ”对话框 Form_Load End If Whiie Asc(str(i)Asc(“9“)Or Asc(str(i) 按钮运行程序,并按要求保存。 (2)要计算累加和通常利用 for循环来完成。文本框巾的内容 (包括数字 )默认都是当做字符串来处理的,如果要参与数据运算则需先用 Val()函数将其转化为数字。 根据题意,将 3个 标签、 2个命令按钮和 2个文本框控件添加到窗体中标签的 Caption属性分别为 “要求:程序能得到结果 total,total
11、=1+2+3+n” 、 “输入 n(0 按钮运行程序,并按要求保存。 三、综合应用题( 30分) 3 【正确答案】 本题主要考查通用对话框使用、顺序文件的打开和 Ucase()函数的使用。 通用对话框 (CommonDialog)提供打开文件、保存文件、设置打印选项、选择颜色和字体、显示帮助等操作的一组标准对话框,该控件运行时不可见。其Action属性用于设置被打开对话的类型, Filter(过滤器 )属性用于指定在对话框的文件列表中显示文件的类型。例如,过滤器为 * txt表示显示所有的文本文件。语法为 “对象名 Filter=“描述 |文件扩展名 ”。 首先要根据 ASCII码来判断是否为
12、小写字母,然后再用 Ucase函数将小写字母转换为大写字母,补充后的具体代码如下: Dim str AS String Private Sub Commandl_Click() Dim tmp As String str=“ Commonl Filter=“文本文件 (* txt)|* txt“ Commonl ShowOpen If Commonl FileName “Then Open Commonl FileName For Input As#1 如果文件存在则进行读取 While EOF(1)=False判断是否读取完成 Input#1, trap str=str+tmp将读取的字符串放入 str Wend End If Close#1 Textl Text=str在 Textl中显示读取的字符串 End Sub Private Sub Command2_Click() Textl Text=UCase(Textl Text) End Sub Private Sub Command3_Click() Open“App Path& out5 txt“For Output As#1 Print#1, Textl Text将修改后的字符串写入文件中 Close#1 End Sub单击 按钮运行程序,并按要求保存。