江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
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

 

彩票30选5开奖结果