亚洲国产福利在线一二三观看_精品国产伦一区二区三区欲臀_国产a∨视频精品视频护士_精品八戒人妻少妇av

江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
2012年春江蘇省計算機二級VB上機考試真題1

   2012年春江蘇省高校計算機等級考試

      二級Visual Basic上機試卷1

    (本試卷完成時間為70分鐘)

  考試說明:

  1.改錯題的界面不作要求,主要用來調試程序,若題目中有參考界面,則僅作參考。

  2.考試結束后,文件必須存放在指定位置,否則適當扣分;考試盤中若無指定文件,則不

予評分。

  3.程序代碼書寫應呈鋸齒形。  

  一、改錯題(14)

  【題目】

  本程序的功能是在六位正整數中查找超級自戀數。如果將一個六位正整數從高位到低

,每兩位分為一組,共分為三組,三組數據的立方的和正好等于其本身,則稱該六位正整數為

超級自戀數。

 

1   Option Explicit

2   Private Sub CmdFind_Click()

3      Dim k As Long,num()As Integer,fg As Boolean

4      Dim i As Integer,st As String

5      st=""

6      For k=100000 To 999999

7        fg=False

j        Call judge(k,num,fg)

9        If fg Then

10          For i=UBound(num) To 1 Step -1

11             st=st & num(i) & "^3+"

12          Next i   

13          List1.Additem Left(st,Len(st)-1) & "=" & k

14       End If

15     Next k

16  End Sub

17  Private Sub judge(n As Long,a()As Integer,fg As Boolean)

18     Dim k As Integer,nt As Long,sum As Long

19     nt=n

20     Do

21       k=k+1

22       ReDim a(k)

23       a(k)=n Mod 100

24       n=n\100

25     Loop Until n=0

26     For k=1 To UBound(a)

27        sum=sum+a(k)^3

28     Next k

29     If sum=nt Then fg=True

30  End Sub

 

【要求】

 1.新建工程,按參考界面形式創(chuàng)建窗體,再從T盤根目錄下的err.txt文件中將有錯誤的程序代碼復制到代碼編輯器窗口中或自行輸入上述代碼,改正程序中的錯誤。

 2.改錯時,不得增加或刪除語句,但可適當調整語句的位置。

 3.將窗體文件和工程文件分別命名為F1P1,并保存到T盤的根目錄下。

  二、編程題(26)

  【題目】

  編寫程序,找出給定范圍內所有滿足以下條件的整數:該整數的平方數的各位數字之和為素數。

   【編程要求】

    1.程序參考界面如圖所示,編程時不得增加或減少界面對象或改變對象的種類,窗體及界面元素大小適中,且均可見。

    2.運行程序,在文本框"A:"中輸入查找整數范圍的起始值,在文本框"B:"中輸入終止值后按"查找"按鈕,則將符合要求的整數按參考界面的格式輸出到列表框中;"清除"按鈕,將兩個文本框與列表框清空,焦點置于文本框"A:"上。

  3.程序中至少應定義一個通用過程,用于求一個整數各位數字之和或判斷一個整數是否是素數(注意:1不是素數)。

    【要求】

    將窗體文件和工程文件分別命名為F2P2,并保存到T盤的根目錄下。

    參考答案

  一、改錯題

  5  st=""    改為挪動至 For循環(huán)內 ,如fg=False之后

  17Private Sub judge(n As Long,a()As Integer,fg As Boolean)  改為ByVal n

  22  ReDim a(k)    改為Redim Preserve a(k)

二、編程題

    Option Explicit

    Private Sub CmdFind_Click()

      Dim a As Integer,b As Integer,ss As Long

      Dim n As Integer,st As String,k As Integer

      a=Text1: b=Text2

      For n=a To b

        ss=n*n

        st=""

        k=nsum(ss,st)

        If prime(k) Then  

         List1.AddItem n & "^2=" & ss & ":" & st & "=" & k   

        End If

      Next n

    End Sub  

    Private Function nsum(n As Long,st As String)  As Integer

      Dim p As String,q As String,i As Integer

      p=CStr(n)

      For i=1 To Len(P)

        q=Mid(p,i,1)

        nsum=nsum+Val(q)

        st=st & q & "+"

      Next i

      st=Left(st,Len(st)-1)

    End Function

    Private Function prime(n As Integer)As Boolean

      Dim i As Integer

      If n=1 Then Exit Function

      For i=2 To Sqr(n)

        If n Mod i=0 Then Exit Function

      Next i

      prime=True

    End Function

    Private Sub CmdClear_Click()

      Text1="" :  Text2=""

      List1.Clear

      Text1.SetFocus

    End Sub