国家二级VB机试(简单应用题)模拟试卷6 (题后含答案及解析)
题型有:1. 
1. (1)在考生文件夹下有一个工程文件sjt3.vbp。程序的功能是通过键盘向文本框中输入正整数。在“除数”框架中选择一个单选按钮,然后单击“处理数据”按钮,将大于文本框中的正整数且能够被所选除数整除的5个数添加到列表框List1中,如图3—80所示。在窗体文件中已经给出了全部控件,但程序不完整。要求:请去掉程序中的注释符,把程序中的“?”改为正确的内容,使其实现上述功能,但不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。(2)在考生文件夹下有一个工程文件sjt4.vbp。程序运行后,单击“开始”按钮,图片自上而下移动,同时滚动条的滑块随之移动,每0.5秒移动一次。当图片顶端移动到距窗体的下边界的距离少于200时,再回到窗体顶部,重新向下移动,如图3—81所示。在窗体文件中已经给出了全部控件,但程序不完整。要求:请去掉程序中的注释符,把程序中的“?”改为正确的内容,使其实现上述功能,但不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。
正确答案:第1小题步骤1:打开考生文件下的本题工程文件sjt3.vbp,在代码编辑窗口,去
掉程序中的注释符“”,将问号“?”改为正确的内容。参考代码:If Option1.Item(i)=True Theny=val(Option1(i).Caption)Do While i<=5List1.AddItem x步骤2:按要求将文件保存至考生文件夹中。第2小题步骤1:打开考生文件夹下的工程文件sjt4.vbp。步骤2:进入代码编辑窗口,去掉程序中的注释符“”,将问号“?”改为正确的内容。参考代码:Timer1.Interva1=500VScroll1.Value=Picture1.TopPicture1.Top=0步骤3:按要求将文件保存至考生文件夹中。vb开始按钮代码
解析:第1小题:判断整数A能被整数B整除的条件表达式为:A Mod B=0。本题源程序在“计算数据”的单击事件过程中,通过For循环逐一判断单选按钮数组中的每个元素是否选中,用变量y记录选中单选按钮所标识的数字,并调用过程“calc”计算满足条件的正整数。在过程“calc”中,通过Do循环依次判断大干文本框中数的正整数是否能被变量y整除,将能被整除的前5个数添加到列表框List1中。第2小题:本题源程序利用计时器的Timer事件来控制图片的移动,因此单击“开始”按钮启动计时器,而单击“停止”按钮就是要停止计时器。在计时器的Timer事件过程中,通过每次使图片框的Top属性值增量200实现移动,并让垂直滚动条滑块的位置随图片框的Top属性值变化。当图片顶端移动到距窗体的下边界的距离少于200时(即VScroll1.Value+200>=Form1.Height.200)时,则重新从窗体顶端开始移动,即Picture
1.Top=0。由于题目要求不能在设计阶段修改控件属性,要想在单击“开始”按钮时能启动计时器,就需在窗体加载事件过程中设置计时器的Interval属性,即Timer1.Interva1=500。 
2. (1)在考生文件夹下有一个工程文件sjt3.vbp。程序运行后,单击“读入数据”按钮,可将考生文件夹下in3.txt文件中的所有英文单词读入,并在Text1文本框中显示;单击“插入列表框”按钮,则按顺序将每个单词作为一项添加到List1列表框中(如图所示)。    在irr3.txt文件中,每个单词之间用一个空格字符隔开,最后一个单词的后面没有空格。已经给出了所有控件和程序,但程序不完整。    要求:请去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,但不能修改程序中的其他部分和控件属性。最后用原来的文件名保存工程文件和窗体文件。    (2)在考生文件夹下有一个工程文件sjt4.vbp,窗体上已经添加所有控件,如图所示。在程序运行时,如果单击“开始”按钮,则每隔0.1秒窗体上的汽车图标向右移动一次(初始状态下不移动);如果单击“停止”按钮,则停止移动。    请完成以下工作:    ①设置适当控件的适当属性,使得每0.1秒汽车图标向右移动一次,而初始状态下不移动。    ②请去掉程序中的注释符,把程序中的?改为正确的内容。    ③为两个命令按钮编写适当的事件过程,最后以原文件名存盘。    注意:不得修改已经给出的程序。编写事件的过程中不能使用变量,每个事件过程中只能有一条语句。
正确答案:(1)【操作步骤】    步骤1:打开本题工程文件。    步骤2:打开代码编辑窗口,去掉程序中的注释符“”,将问号改为正确的内容。    参考答案    Private Sub Command1_Click(  )    Dim st $,ch $    Open App.Path &\in3.txtFor In    put As #1 打开文件    Do While Not EOF(1) 文件指针是否到达文件末尾    Input #1,ch 达到文件末尾返回true。否则返回false    st=st & ch 将读出的数据加到原有数据末尾    Loop    Close # 关闭文件    Text1=st 将内容显示在文本框中    End Sub    Private Sub Command2_Click(  )    Dim st $,word $,c $    St=Text1    n=Len(st)    For k=1 To n    c=Mid(st,k,1) 从st中依次取出1个字符进行比较    If c <> Then    Word=word & C    Else    List1.AddItem Word    word = 将word清空,为下一次作准备    End If    Next    List1.AddItem word    End Sub    步骤3:调试并运行程序,关闭程序后按题目要求存盘。    (2)【操作步骤】    步骤1:打开本题工程文件,设置计时器Interval的属性为100,将Enabled属性设置为False。    步骤2:打开代码编辑窗口,在指定位置编写如下代码。    参考答案    Private Sub Timer1 Timer(  )    P1.Left=P1.Left+20    End Sub    需要考生编写的内容    Private Sub C1_Click(  )    Timer1.Enabled=True    End Sub    Private Sub C2_Click(  )    Timer1.Enabled=False    End.Sub    步骤3:调试并运行程序,关闭程序后按题目要求存盘。 
3. (1)在考生文件夹下有一个工程文件sjt3.vbp,在Form1的窗体中有一个文本框、一个计时器和两个命令按钮。程序的功能是在运行时,单击“开始计数”按钮,就开始计数(如图所示),每隔1秒,文本框中的数加1;单击“停止计数”按钮,则停止计数。要求:修改适当的控件的属性,并去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后将修改后的文件以原来的文件名存盘。    (2)已知出租车行驶不超过4公里时一律收费10元。超过4公里时分段处理,具体处理方式为:15公里以内每公里加收1.2元,15公里以上每公里收1.8元。    在考生文件夹下有一个工程文件sjt4.vbp。程序的功能是:单击“输入”按钮,将弹出一个输入对话框,接收出租车行驶的里程数;单击“计算”按钮,则可根据输入的里程数计算应付的出租车费,并将计算结果在名称为Text1的文本框内显示。    在窗体文件中已经给出了全部控件(如图所示),但程序不完整,要求去掉程序中的注释符,把程序中的?改为正确的内容。    注意:不得修改已经存在的内容和控件属性,最后将修改后的文件按原文件名存盘。
正确答案:(1)【操作步骤】    步骤1:打开本题工程文件,设置计时器Interval属性为1000,Enabled属性设置为False。    步骤2:打开代码编辑窗口,去掉程序中的注释符“”,将问号改为正确的内容。    参考答案    Private Sub C1_Click(Index As Integer)    Select Case Inde
x 通过控件下标确定单击哪一个按钮    Case 1    Timer1.Enabled=Fal se    Case 0 控制下标从0开始,此处应为0    Timer1.Enabled=True    End Select    End Sub    Private Sub Timer1 Timer(  )    Text1.Text=Text1.Text +1Text1中的内容加1显示    End Sub    步骤3:调试并运行程序,关闭程序后按题目要求存盘。    (2)【操作步骤】    步骤1:打开本题工程文件。    步骤2:打开代码编辑窗口,去掉程序中的注释符“”,将问号改为正确的内容。    参考答案    Dim s As Integer    Private Sub Command1_Click(  )    s=Val(InputBox(输入里程数(单位:公里)))s用于存储里程数    End Sub    Private Sub Command2_Click(  )    Tf s>0 Then    Select Case s 对s进行判断    Case Is<=4    f=10 根据题意s<=4时f=10    Case Is<=15    f=10+(s-4)*1.2    同理    Case Is>15    f=10+11 * 1.2+(s-15) * 1.8 同理    End Select    Text1.Text=f 在Text1中显示结果    Else    MsgBox 请单击输入按钮输入里程数!    End If    End Sub    步骤3:调试并运行程序,关闭程序后按题目要求存盘。 
4. (1)在考生文件夹下有一个工程文件sjt3.vbp。窗体上有名称为Timer1的定时器,以及名称为Line1和Line2的两条水平直线。请用名称为Shape1的形状控件,在两条直线之间画一个宽和高都相等的形状,其显示形式为圆,并设置适当属性使其满足以下要求:①圆的顶端距
窗体Form1顶端的距离为360;②圆的颜为红(红对应的值为&H000000FF&或&HFF&),如图3—124所示。程序运行时,Shape1将在Line1和Line2之间运动。当Shape1的顶端到达Line1时,会自动改变方向而向下运动;当Shape1的底部到达Line2时,会改变方向而向上运动。文件中给出的程序不完整,请去掉程序中的注释符,把程序中的?改为正确内容,使其实现上述功能。注意:不能修改程序的其他部分和已给出控件的属性。最后将修改后的文件按原文件名存盘。(2)在考生文件夹下有一个工程文件sjt4.vbp,包含了所有控件和部分程序,如图3—125所示。程序功能如下:①单击“读数据”按钮,可将考生文件夹下in4.dat文件中的100个整数读到数组a中;②单击”计算”按钮,则根据从名称为Combo1的组合框中选中的项目,对数组a中的数据计算平均值,并将计算结果四舍五入取整后显示在文本框Text1中。“读数据”按钮的Click事件过程已经给出,请为“计算”按钮编写适当的事件过程实现上述功能。注意:不得修改已经存在的控件和程序,在结束程序运行之前,必须进行一次计算,且必须用窗体右上角的关闭按钮结束程序,否则无成绩。最后,程序按原文件名存盘。
正确答案:第1小题步骤1:打开考生文件下的本题工程文件sjt3.vbp,在窗体上两条水平直线间画一个形状控件,并如表4—74设置其属性。步骤2:在代码编辑窗口,去掉程序中的注
释符“”,将问号“?”改为正确的内容。参考代码:Timer1.Enabled=TrueIf]]Shape1.Top)<=Lin1.Y1 ThenIf Shape1.Top+Shape1.Height>=Lin2.Y1Then步骤3:按要求将文件保存至考生文件夹中。第2小题步骤1:打开考生文件夹中的本题工程文件sjt4.vbp,在代码编辑窗口,编写“计算”按钮的单击事件过程以及三个自定义过程。参考代码:Private Sub Command2_Click(  )Select Case Combo1.ListIndexCase0Text1=even(  )Case1Text1=odd(  )Case2Text1=all(  )End SelectEnd SubFunction even(  )Dim s As Single,n As Integers=0For k=1To100If a(k)/2=Fix(a(k)/2)Thens=s+a(k)n=n+1End IfNexts=s/neven=CInt(s)End FunctionFunction odd(  )Dim s As Single.n As Integers=0For k=1To100If a(k)/2<>Fix(a(k)/2)Thens=s+a(k)n=n+1End IfNexts=s/nodd=CInt(s)End FunctionFunction all(  )Dim s As Single,n As Integers=0For k=1To100s=s+a(k)Nexts=s/100all=CInt(s)End Function步骤2:按<F5>键运行程序,先单击“读数据”按钮,然后选择组合框中的一项再单击“计算”按钮,最后单击窗体右上角的关闭按钮结束程序。步骤3:按要求将文件保存至考生文件夹中。