1、VB机试模拟试卷 107及答案与解析 一、基本操作题( 30分) 1 请根据以下各小题的要求设计 Visual Basic应用程序 (包括界面和代码 )。 (1)在名称为 Forml的窗体上创建两个名称分别为 Optionl和 Option2,标签分别为 “教授 ”和“研究员 ”的单选按钮,再建立一个名称为 Labell的标签,实现如下功能:当选中“教授 ”时,标签上显示 “博士学位以上 ”,如果选中 “研究员 ”,则标签上显示 “硕士学位以上 ”,结果如图 71所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sj1 vbp,窗体文 件名为 sj1 frm。 (2)在名称为 Form
2、1的窗体上画两个名称分别为 Text1和 Text2、内容都为空的文本框,再画一个命令按钮,其名称为Command1、标题为 “判断 ”。编写适当的事件过程,要求程序运行后,如果在Text1中输入一个数,单击命令按钮 Command1,判断输入的是否为偶数,如图72所示。要求:不得使用任何变量。注意:存盘时必须存放在考生文件夹下,工程文件名为 sj2 vbp,窗体文件名为 sj2 frm。 二、简单应用题( 40分) 2 (1)在考生文件夹下有工程文件 sj3 vbp及 窗体文件 sj3 frm,该程序是不完整的。在窗体上有一个标签数组,名称为 Labell,该数组有 4个控件元素,标题分别是
3、 “文本编辑 ”“程序运行 ”“移动窗体 ”和 “双向箭头 ”。运行界面如图 633所示。在程序运行后,将鼠标移动到各控件元素上,则鼠标的形状将变成各控件元素的标题所代表的鼠标形状,离开控件元素,则又变成正常情况下的箭头形状。 注意:请在有 “?”的地方填入正确内容,然后删除 “?”及代码前的所有注释符 (即 “”号 ),但不能修改其他部分。存盘时不得改变文件名和文件夹。 (2)在考生文件夹下有工程文件 sj4 vbp,窗体文件 sj4 frm,该程序是不完整的。在窗体上有一个名为 Textl的文本框,有两个命令按钮,名称分别是 Commandl和 Command2、标题分别是“读人数据 ”和
4、 “计算保存 ”,如图 634所示。要求程序运行后,单击 Commandl按钮,将文本文件 in4 txt中的所有数字读到数组 a中,并在文本框内显示出来。随后 Commandl按钮变为无效。然后单击 Command2按钮,求出数组 a中的各元素的立方并赋值回相应的元素,例如, a(1)=2,则新 a(1)=a(1)*a(1)*a(1)=8。把计算后的数组 的值全部写入考生文件夹下的文本文件 out4 txt中,并在文本框中显示出来,最后 Command2按钮也变为无效。注意:请在有 “?”的地方填入正确内容,然后删除 “?”及代码前的所有注释符 (即 “”号 ),但不能修改其他部分。修改后的
5、工程及窗体文件,均以原名保存在考生文件夹下。 三、综合应用题( 30分) 3 在考生文件夹下有一个工程文件 sj5 Vbp,在 Forml的窗体中画一个标签, 3个命令按钮和一个计时器。要求程序运行时,单击 “开始计数 ”按钮,就开始计数,每隔 1秒,标签中的数加 _1单击 “暂停计数 ”按钮 ,则停止计数;单击 “停止计数 ”按钮,则标签中的计数变为 0。程序运行时的窗体界面如图 125所示。注意:修改适当的控件属性,并去掉程序中的注释符 “”,把程序中的 “?”改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件以原来的文件名存盘。 VB机试模拟试卷 107答案
6、与解析 一、基本操作题( 30分) 1 【正确答案】 (1)根据题意,新建 “标准 EXE”工程,在窗体上添加一个 Label控件和两个 Option控件,设置 Labell的名称为 Labell、 Caption属性为空, Option的名称分别为 Optionl和 Option2、 Caption属性分别为 “教授 ”和 “研究员 ”。设计完成后,进入代码窗口编写如下代码: Private Sub Form_Load() Optionl Value=True 初始化,使运行时 Optionl为选择状态 Labell Caption=“博士学位以上 “ 在 Labell中显示 “博士学位以上
7、 “ End Sub Private Sub Optionl_Click() Labell Caption=“博士学位以上 “ End Sub Private SubOption2_Click() Label1 Caption=“硕士学位以上 “ End Sub 单击 按钮运行程序,并按要求保存。 (2)根据题意新建 “标准 EXE”工程,在窗体上添加两个 Text控件和一个 Command控件 Text的名称分别为 Text1和Text2、 Text属性均为空, Command的名称为 Command1、 Caption属性为 “判断 ”。双击 Commandl命令按钮,编写如下代码: Pr
8、ivate Sub Commandl_Click() If Val(Text1 Text)Mod 2=0 Then Text2 Text=“是偶数 “ Else Text2 Text=“不是偶数 “ End If End Sub 单击 按钮运行程序,并按要求保存。 二、简单应用题( 40分) 2 【正确答案】 (1)本题主要考查控件数组的创建及属性设置。控件数组是由一组相同类型的控件组成,建立控件数组时 ,系统给每个元素赋一个唯一的索引号(Index)。鼠标的形状由其 MousePointer属性设置,该属性值为 3时对应文本编辑时的鼠标形状、为 11时对应程序运行时的鼠标形状、为 5时对应移
9、动窗体时的鼠标形状、为 7时对应双向箭头的鼠标形状。根据题意,在窗体中添加一个含有 4个控件数组的标签控件,将其 Caption属性分别设置为 “文本编辑 ”、 “程序运行 ”、 “移动窗体 ”和 “双向箭头 ”,并编写如下代码: Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Forml MousePointer=0 End Sub Private Sub Labell_MouseMove(Index As Integer, Button As Integer,
10、 Shift As Integer, X As Single, Y As Single) Select Case Index Case 0 Forml MousePointer=3 Case 1 Forml MousePointer=11 Case 2 Forml MousePointer=5 Case 3 Forml MousePointer=7 End Select End Sub 单击 按钮运行程序,并按要求保存。 (2)根据题意,将一个文本框控件和两个命令按钮添加到窗体中,文本框的名称为 Textl,命令按钮的名称分别为 Commandl和 Command2, Caption属性分别为
11、“读人数据 ”和 “计算保存 ”,由于不知道读取数据的个数,所以要用到动态数组,动态数组的用法如下: Dim a()as Long ReDim a(n)as Long 具体代码如下: Dim temp As Long Dim num As Integer Dim a()As Long Dim i As Integer Dim str As String Dim trap As String Private Sub Commandl_Click() num=0 str=“ Open“App Path&in4 txt“For Input As#l打开文件 While EOF(1)=FalseEOF
12、判断是否读到文件末尾 Input#1, temp如果没读到文件末尾则继续读取 num=num+l 计数加 1,以确定要分配的数组个数 Wend Close#1 ReDim a(num)As Long Open“App Pathl&in4 txt“For Input As#2打开文件 For i=1 To num利用 For循环读取数据 Input#2,a(i)读取数据 tmp=a(i) 将数值赋给字符串 str=str+tmp+“ 写入字符串,显示在 Textl里面 Next i Close#2 Textl Text=str将 Text里显示字符串 End Sub Private Sub Co
13、mmand2_Click() str=“ For i=1 To num 利用 for循环进行计算 a(i)=a(i)*a(i)*a(i) 计算立方 Next i Open“App Path& out4 txt“For Append As#3打开文件 For i=1 To num利用循环写入文件 Print#3, a(i) tmp=a(i) str=str+trap+“ Next i Close#3 Textl.Text=str End Sub 单击 按钮运行程序,并按要求保存。 三、综合应用题( 30分) 3 【正确答案】 根据题意,将一个标签,一个计时控件和 3个命令按钮添加到窗体中,标签的
14、名称为 Labell, Caption属性为 0, Timer的名称为 Timer1,命令按钮的属性分别为 Command1、 Command2和 Command3, Caption属性分别为 “开始计数 ”“暂停计数 ”和 “停止计数 ”。双击 Commandl进入代码窗口,编写如下代码:Private Sub Commandl Click()Timer1 Interva1=1000 按开始按键,将把 Timerl的间隔设为 1秒 End SubPrivate Sub Command2 Click()Timer1 Interva1=0按停止按键,将把 Timerl的间隔设为 0End SubPrivate Sub Command3_Click()Timerl Interval=0 按停止按键,将把 Timerl的间隔设为 0Labell Caption=“0“将 Labell初始化为0End SubPrivate Sub Timerl_Timer()Labell Caption=Val(Labell Caption)+1 每过一个周期, Label1的数字加 1End Sub单击 按钮运行程序,并按要求保存。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1