VB机试模拟试卷113 (题后含答案及解析)
题型有:1. 基本操作题 2. 简单应用题 3. 综合应用题
基本操作题(30分)
1. (1)在名称为Forml的窗体上画两个文本框和两个单选按钮。文本框的名称分别为Textl和Text2,初始时内容为Text1和Text2。单选按钮的名称分别为Optionl、Option2,标题分别为“文本框Textl可用”和“文本框Text2可用”。编写适当的事件过程,使得程序运行时,初始状态单选按钮都未被选中,如果单击Optionl按钮,则文本框Text1可用,Text2不可用;如果单击Option2按钮。则文本框Text 2可用,Text 1不可用。程序中不得使用任何变量。程序运行时的窗体界面如图26—1所示。    注意:考生完成程序编写后,将工程文件与窗体文件保存到考生文件夹下,文件名分别为sjl.vbp与sjl.frm。    (2)在名称为Forml的窗体上画一条直线,名称为Linel。同时,在窗体上画一个水平滚动条,名称为HScrolll。编写适当的事件过程,程序运行后,根据水平滚动条的长度改变Linel的长度。不得使用任何变量。程序运行时的窗体界面如图26—2所示。    注意:存盘时必须存放在考生文件夹下,工程文件名为sj2.vbp,窗体文件名为sj2.frm。
正确答案:(1)根据题意,新建“标准EXE”工程,将两个Text控件和两个Option控件添加到窗体上,Text的名称为Textl、Text2、Text属性分别为“Textl”和“Text2”,Option的名称分别为Optionl、Option2、Caption属性分别为“文本框Textl可用”和“文本框Text2可用”,其中Optionl的Value属性为False,Text2的Enable属性为False。双击Option进入代码窗口,编写如下代码:    Private Sub Optionl_Click(  )    Textl.Enabled=True选中Optionl,则Textl可用    Text2.Enabled=FalseText2不可用    End Sub    Private Sub Option2_Click(  )    Textl.Enabled=False    Text2.Enabled=True    End Sub    单击按钮运行程序,并按要求保存。    (2)根据题意,新建“标准EXE”工程,将一个HScrollBar控件添加到窗体上,其名称为HScrolll,Max属性为2000,Min属性为400,然后再用Line控件画一条直线,X2--X1的值为400,BmderWidth属性为4。双击HScrolll,进入代码窗口,编写如下代码:    Private Sub HScrolll_Change(  )    Linel.X2=Linel.X1+HScrolll.Value通过HScrolll来改变Line的长度    End Sub    单击按钮运行程序,并按要求保存。 
简单应用题(40分)
2.  (1)在考生目录下有一个工程文件sj3.vbp,窗体中有一个命令按钮,标题为“开始”,名
称为Commandl;有一个图片框,名称为Picl,还有一个计时器,名称为Timer1。并给出了两个事件过程,但并不完整,要求:    设置计时器的属性,使其每隔3秒调用Timerl事件过程一次,改变Picl的背景(红、绿、蓝3)。    去掉程序中的注释符“”,把程序中的“?”改为正确的内容,使得在运行时单击“开始”按钮,则Picl每隔3秒改变一次背景,由红变绿,由绿变蓝,再由蓝变红,如图23—3所示。    注意:不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。    (2)在窗体上绘制一个命令按钮,名称为Commandl,标题分别为“计算”,一个名称为Textl的文本框。请编写适当的事件过程,在Textl中输出30以内满足勾股定理的整数组合。注:勾股定理中3个数的关系是:a2+b2=c2。例如3、4、5就是一个整数组合,即32+42=52。如图23—4所示。    注意:编写程序,去掉程序中的注释符“”,把程序中的“?”改为正确的内容,不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。
正确答案:(1)本题主要考查Timer控件的属性设置和图片框控件的属性设置。计时器的Interval属性用于设置每次触发计时器的Timer事件的时间间隔,单位为毫秒,它可以在属性窗口中设置,也可以通过代码设置。图片框控件既可用于显示图片,也可用于在上面绘图,由于本题只要求改变颜,所以只需控制其背景颜属性即可。根据题意,补充后的代码如
下:    Dim a As Integer    Private Sub Commandl_Click(  )    Timerl.Interval=1000开始后,Timer的间隔时间为1秒    End Sub    Private Sub Form_Load(  )    a=0初始化计数    Picl.BackColor=RtB(255,0,O)    End Sub    Private Sub Timerl_Timer(  )    a=(a+1)Mod 9  以9为周期    If aBackColor=RGB(255,0,O)  背景为红    ElseIf a>=3 And aBackColor=RGB(O,255,0)  背景为绿    Else其他情况    Picl.BackColor=RGB(0,0,255)背景为蓝    End If    End Sub    单击按钮运行程序,并按要求保存。    (2)本题只要明白勾股定理的含义就不难了,即a+b=c。程序中利用3重循环对30以内的数进行遍历,每发现一组符合条件的数,就以逗号间隔显示在文本框中。窗体界面题中已设计好,只需补充相应的代码,补充后的代码如下:    Private Sub Commandl_Click(  )    Dim i As Integer    Dim j As Integer    Dim k As Integer    Dim str As String    str=““    For i=1 To 30  第1个数用For循环从1遍历到30    For j=i To 30第2个数用For循环从i遍历到30    For k=i To 30第3个数用For循环从i遍历到30    If i+j=k Then满足勾股定理    str=str+CStr(i)++CStr(j)+vb开始按钮代码”+CStr(k)+vbCrLf将获得的3个数通过字符串形式记录    End If    Next k    Next j    Next i    Textl.Text=str在Textl中显示结果    End Sub    单击按钮运行程序,并按要求保存。 
综合应用题(30分)
3. 在考生文件夹下有一个工程文件sj5.vbp,在该工程中为考生提供了一个通用过程,考生可以直接调用。请在窗体上画一个名称为Textl的文本框;画一个名称为Commandl、标题为“计算显示”的命令按钮;再画两个单选按钮,名称分别为Optionl和Option2、标题分别为“求100到250之间能被5整除的数的个数”和“求300到400之间能被6整除的数的个数”,如图62—5所示。    请编写适当的事件过程,使得在运行时,选中一个单选按钮,再单击“计算显示”按钮,就可以按照单选按钮后的文字要求计算,并把计算结果放入文本框中,最后把已经修改的工程文件和窗体文件以原来的文件名存盘。    注意:考生不得修改窗体文件中已经存在的程序,退出程序时必须通过单击窗体右上角的关闭按钮来完成。在结束程序运行之前,必须至少要进行一种计算,否则不得分。
正确答案:根据题意,将一个文本框控件,两个单选按钮控件和一个命令按钮添加到窗体中,文本框的名称为Textl,单选按钮的名称:分别为Optionl和Option2,Caption分别为“求100到250之间能被5整除的数的个数”和“求300到400之间能被6整除的数的个数”,命令按钮的名称为Commandl,Caption属性为“计算显示”,设置完成后,双击Commandl进入代码窗
口,补充后的具体代码如下:    Private Sub Commandl_Click(  )    Dim rain As Integer下限    Dim max As Integer上限    Dim i As Integer循环计数    Dim mum As Integer个数    Dim tmp As Integer除数    If Optionl.Value=True Then  选中Optionl时    min=100    max=250    tmp=5    Else选中Option2时    rain=300    max=400    tmp=3    End If    num=0    For i=min To max利用循环来逐个判断    If i Mod tmp=0 Then    num=num+1  如果能被除数整除,则个数加1    End If  Next i  Textl.Text=hum在Textl文本框中显示出来  OpenApp.Path&\out5.txtFor Output As#1  Print#1,Textl.Text  Close#1End Sub单击按钮运行程序,并按要求保存。