2015年9月全国计算机二级VB操作题真题1

102

一、基本操作题

(1)在名称为Form1、标题为“球类项目”、且没有最大化和最小化按钮的窗体上画1个名

称为Combo1的组台框。组合框中的文本内容为空,表项内容有”乒乓球“、”羽毛球”和“网球”三项。运行后的窗体如图所示。   

  注意:存盘时必须存放在考生文件夹下,工程文件名为sjt1.vbp,窗体文件名为sjt1.frm

    (2)在名称为Form1、标题为”转换”的窗体上,画1个名称为Shape1、边框宽度为3的形状。再画2个标题分别为“椭圆”和”圆“的命令按钮。如下图所示。

要求:编写适当的事件过程,使得单击“椭圆”按钮时, Shape1的形状变换为椭圆;单击“圆“按钮时,shape1的形状变换为圆。程序中不得使用变量,每个事件过程中只能写一条语句

注意:存盘时必须存放在考生文件夹下,工程文件名为sjt2.vbp,窗体文件名为sjt2.frm.

 

 

二、简单应用题

   (1)在考生文件夹下有一个工程文件sjt3.vbp。窗体Form1上有2个标题分别是”读数

据“和“查找“的命令按钮。请画1个名称为Text1、初始值为空的文本框,该文本框允许显示多行内容,且有垂直滚动条,如图所示。程序功能如下:

    ①在考生文件夹下的in3.dat文件中存有100个正整数。单击”读数据”按钮,则将文件in3.dat中的数据读入数组a中。

    ②单击“查找”按钮,则查找数组a中所有为7的倍数的数据,并将这些数据顺次显示在Text1文本框内(数据之间用空格隔开)。”读数据“按钮的click事件过程已经结出,请编写程序完成”查找”按钮的click事件过程,实现上述功能。

    注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行之前,必须使

用”查找“接钮完成查找过程,且必须用窗体右上角的关闭按扭结束程序,否则无成绩。最后将程序接原文件名存盘。

 

Option Base 1

Dim a(100) As Integer

Private Sub Command1_Click()

    Dim k As Integer

    Open App.Path & "\in3.dat" For Input As #1

    For k = 1 To 100

        Input #1, a(k)

    Next k

    Close #1

End Sub

 

Private Sub Command2_Click()

  '考生编写

 

End Sub

 

Private Sub Form_Unload(Cancel As Integer)

    Open App.Path & "\out3.dat" For Output As #1

    Print #1, Text1.Text

    Close #1

End Sub

 

    (2)考生文件夹下有一个工程文件sjt4.vbp。在窗体Form1上有2个名称为Command1Command2、标题分别为“重输“和”查找”的命令按钮。程序功能为:单击“重输”按钮,则清空Text1中的内容,等待用户输入由空格隔开的若干个英文单词;单击“查找“按钮,则找出Text1中最长的单词,并将其显示在Text2中。某一次的运行效果如图所示。请将”查找“按钮的Click事件过程中的注释符去掉,把?改为正确内容,以实现上述程序功能。

  注意:考生不得修改窗体文件中已经存在的控件和程序,最后将程序按原文件名存盘。

 

 

Private Sub Command1_Click()

   Text1.Text = ""

   Text2.Text = ""

   Text1.SetFocus

End Sub

 

Private Sub Command2_Click()

   Dim x As String, word As String, word_max As String

   Dim num As Integer, xmax As Integer

   x = Trim(Text1.Text)

   xmax = 0

   Do While Len(x) > 0

      num = InStr(x, Space(1))

      If num = 0 Then

      '   word = ?

         x = ""

      Else

      '   word = Left(x,  ? )

         x = Mid(x, num + 1)

      End If

      If Len(word) >= xmax Then

         xmax = Len(word)

      '   word_max =  ?

      End If

   ' ?

   'Text2.Text = ?

End Sub

 

三、综合应用题

考生文件夹下有一个工程文件sjt5.vbp。在窗体Form1上有2个标题分别是“产生数

据“和”重新排列”的命令按钮,有2个标题为“原始数据“和“排列数据“的标签。程序功能如下:

    ①单击“产生数据”按钮,则随机产生20个一位整数,存入数组a中,并同时显示在Text1中。

    ②单击“重新排列“按钮,则重新排列数组a中的元素使等值的元素相邻存放,并且保持它们在数组a中首次出现的相对次序;最后将排列结果显示在Text2中。某一次运行结果如图所示。

  请将“重新排列”按钮的click事件过程中的注释符去掉,把?改为正确内容,以实现上述程序功能。

  注意:考生不得修改窗体文件中已经存在的控件和程序,最后程序按原文件名存盘。

 

Option Base 1

Dim a(20) As Integer

Private Sub Command1_Click()

   Randomize (1)

   Text1.Text = ""

   For i = 1 To 20

      a(i) = Int(Rnd * 10)

      Text1.Text = Text1.Text + Str(a(i))

   Next

End Sub

 

Private Sub Command2_Click()

'    i = ?

    Do While i < 20

        For j = i + 1 To 20

            If a(i) = a(j) Then

                x = a(j)

                i = i + 1

                For k = j To i + 1 Step -1   '本循环把下标为ij-1的元素向后移一个位置

'                    a(k) = ?

                Next k

'                a(i) = ?

            End If

        Next j

        i = i + 1

    Loop

    Text2.Text = ""

'    For i = 1 To ?

       Text2.Text = Text2.Text + Str(a(i))

    Next i

End Sub