2016年3月江蘇省計算機等級VB真考試卷 |
江蘇省高等學校計算機等級考試 二級Visual Basic 考試 (本試卷完成時間 120 分鐘) 1、 單選題 微電子技術是以集成電路為核心的電子技術。在下列有關集成電路(IC)的敘述中,錯誤的是_________。 A. 現代集成電路使用的半導體材料大多數是硅(Si) B. 目前PC、平板電腦、手機等所用的集成電路絕大多數為大規;虺笠幠 C. 目前PC、平板電腦、手機等所用的CPU大多數為國產IC芯片 D. Moore定律指出,集成電路的集成度平均18-24個月翻一番 C 解析: 目前PC、平板電腦、手機等所用的CPU大多數為國外CPU芯片 1 2、 聲音在數字化時常用的取樣頻率為8kHz、量化位數為8bits。若聲道數位2,則每分鐘的數字聲音數據量在未壓縮時大約是_______________。 A.64KB B.128KB C.1MB D.2MB C 解析:8khz表示8000b/s,計算公式是:8000*8*2*60=960*8000b=960*1000B=960KB,最接近的是1MB。(注:因為1個字節=8個比特,即1B=8b,所以8000b=1000B) 5 3. 目前漢字信息的編碼標準有多個.在下列的敘述中,錯誤的是_________。 A.Windows 7不支持Unicode編碼 B.BIG5是一個繁體漢字字符集 C.GBK收錄了20000多個漢字 D.GB2312-80共收錄了6000多個漢字 A 解析:Windows操作系統廣泛支持Unicode編碼 5 4. 在下列有關數的進制系統的敘述中,不正確的是__。 A.所有信息在計算機中的表示均采用二進制編碼. B.以任何一種進制表示的數,均可精確地用其它進制來表示. C.二進制數的邏輯運算有三種基本類型,分別為"與"、"或"和"非". D.WindowsXP/7操作系統提供的"計算器"軟件可以實現幾種進制數之間的轉換. B 解析:十進制整數可以精確的轉換為另一個進制,如果是小數部分,轉換時可能無法精確轉換。 2 5. 下列關于CPU及指令系統的敘述中,錯誤的是_____________。 A.CPU中的ALU可能有多個,有的負責完成整數運算、有的負責完成浮點數運算 B.目前CPU芯片不僅包含邏輯CPU,往往還包含有高速緩存、存儲控制器等其他一些部件 C.不同指令的操作要求不同,但被處理的操作數類型、個數和來源通常一樣 D.CPU所執行的全部指令稱為CPU的指令系統,通常指令系統中有數以百計的不同指令 C 解析: 不同指令的操作要求不同,被處理的操作數類型、個數和來源也不同。 2 6、美國Adobe公司的Acrobat軟件,使用________文件格式將文字、字型、排版格式、聲音和圖像等信息封裝在一個文件中,既適合網絡傳輸,也適合電子出版,得到了廣泛的應用。 A.TXT B.DOC C.HTML D.PDF B 解析: PDF文件格式將文字、字型、排版格式、聲音和圖像等信息封裝在一個文件中 5 7、將一個部門中的多臺計算機組建成局域網可以實現資源共享。在下列有關局域網的敘述中,錯誤的是_________________。 A.局域網必須采用TCP/IP協議進行通信 B.局域網一般采用專用的通信線路 C.局域網可以采用的工作模式主要有對等模式和客戶/服務模式 D.構建以太(局域)網時,需使用集線器或交換機等網絡設備,一般不需要路由器 A 解析:局域網分為以太網,FDDI網和令牌網等,不同的局域網類型采用不同的網卡與不同協議通信,現在主流的局域網是以太網。如無線局域網采用IEEE802.11協議。 4 8. 在下列有關算法的敘述中,錯誤的是_____________。 A.通俗地說,算法就是解決問題的方法和步驟 B.算法總是在執行了有限步的操作后終止 C.程序是算法的實現,程序與算法是一一對應的 D.算法解決的往往是一類問題而不是一個特定的問題 C 解析:程序是算法的具體實現,算法是抽象的,程序是具體的,兩者無法做到一一對應。 3 9、下列有關PC機外部設備的敘述中,錯誤的是_________。 A.掃描儀的工作過程主要基于光電轉換原理,分辨率是其重要性能指標之一 B.制作3~5英寸的照片(圖片),數碼相機的CCD像素必須在600萬以上 C.集成顯卡(指集成在主板上的顯卡)的顯示控制器主要集成在芯片組中 D.存折和票據的打印,目前主要是采用針式打印機 B 解析: 制作3~5英寸的照片(圖片),數碼相機的CCD像素在200到300萬就可以滿足要求。 2 10、不同格式的圖像文件,其數據編碼方式有所不同,通常對應于不同的應用。在下列幾組圖像文件格式中,制作網頁時用得最多的是______________。 A.GIF與JPEG B.GIF與BMP C.JEPG與BMP D.GIF與TIF A 解析:網頁上一般使用GIF與JPEG兩種圖片格式 5
一、選擇題(共10 分,每題2 分) 1. 下列控件中,無法用于顯示程序運行結果的是 ___1 ___ 。 A.TextBox B.ListBox C.PictureBox D.Timer 2. 下列有關轉換函數的說法中,正確的是 ___2 ___ 。 A.Int 和CInt 函數的區別僅在于返回結果的數據類型不同 B.Int 和Fix 函數將非整數數據轉換成整數,轉換后的結果類型是Long C.在處理正數時,Int 函數和Fix 函數的返回結果是相同的 D.在處理負數時,Int 函數和Fix 函數的返回結果是相同的 3. 數學式 A.Log(x) / Log(10) - Cos(30 * 3.14159 / 180) + Abs(x ^ 2 + Sqr(y)) + Exp(x) B.Log(x) / Log(10) - Cos (30) + Abs(x ^ 2 + Sqr(y)) + e ^ x C.Log(x) - Cos(30 * 3.14159 / 180) + Abs(x ^ 2 + Sqr(y)) + Exp(x) D.Log(x) - Cos(30) + Abs(x ^ 2 + Sqr(y)) + e ^ x 4. 下列有關數組的說法中,錯誤的是___ 4 ___ 。 A.若模塊中有“Option Base 1”語句,則該模塊中的數組的維下界都為1 B.定長字符串類型的數組也可以作為過程的形式參數 C.只能在標準模塊中用Public 語句定義全局數組 D.若A 是固定大小數組,執行語句Erase A 后,數組A 的所有元素被初始化 5. 下列關于過程參數的敘述中,正確的是 ___5 ___ 。 A.符號常數名可以出現在定義過程的形式參數表中 B.過程調用時,與用ByRef 說明的形參結合的實在參數不可以是常數或表達式 C.在自定義過程中,用ByVal 說明的形參值發生改變,不會影響與之結合的實參的值 D.VB 對過程的形式參數的類型沒有任何限制 二、填空題(共20 分,每空2 分) 1. 執行下面程序,單擊命令按鈕Command1,則窗體上顯示的第一行內容是 ___ (1) ___ , 第二行內容是 ___ (2) ___ 。 Option Explicit Private Sub Command1_Click() Dim i As Integer, j As Single, k As Integer j = 11 For i = 2 To 10 Step 2.5 j = j - 2.5 If j = Int(j) Then i = i + j Mod 10 Else i = i + 1 End If k = i + j Next i Print i Print k End Sub 2. 執行下面程序,單擊命令按鈕 執行下面程序,單擊命令按鈕 Command1,則數組元素 ,則數組元素 ,則數組元素 A(1, 2)的值是 ___ (3) ___ 、A(2, 1)的值是 ___ (4) ___ 、A(3, 3)的值是 ___ (5) ___ 。 Option Explicit Option Base 1 Private Sub Command1_Click() Dim A(3, 3) As Integer, K As Integer Dim i As Integer, j As Integer i = 2 j = 1 A(i, j) = 39 For K = 38 To 31 Step -1 If i - 1 = 0 And j - 1 > 0 Then i = 3: j = j - 1 ElseIf i - 1 > 0 And j - 1 = 0 Then i = i - 1: j = 3 ElseIf i - 1 = 0 And j - 1 = 0 Then i = 1: j = 2 ElseIf A(i - 1, j - 1) <> 0 Then j = j + 1 Else i = i - 1: j = j - 1 End If A(i, j) = K Next K For i = 1 To 3 For j = 1 To 3 Text1.Text = Text1.Text & A(i, j) & " " Next j Text1.Text = Text1.Text & vbCrLf Next i End Sub 3. 執行下面程序,單擊命令按鈕 執行下面程序,單擊命令按鈕 Command1,則 窗體上顯示的第一行內容是 ___(6)___ , 最后一行內容是 ___(7)___ 。 Option Explicit Private Sub Command1_Click() Dim a As Integer, b As Integer, k As Integer For a = 2 To 3 b = a + 1 k = Fun(Fun(a, b), b) Print k Next a Print b End Sub Private Function Fun(a As Integer, b As Integer) As Integer b = a + b a = a + b Fun = a + b End Function 4. 執行 下面程序,單擊 命令 按鈕 Command1,則 多行 文本框 Text1中顯示 的第一行 內容 是___(8)___ ,第二行 內容是 ___(9)___ ,第三行 內容是 ___(10)___ 。 Option Explicit Private Sub Command1_Click() Dim s1 As String, s2 As String, data1 As String, data2 As String Dim i As Integer data1 = "1011 1010 1110" data2 = "1010 1101 1010" For i = 1 To Len(data1) Step 5 s1 = Mid(data1, i, 4) s2 = Mid(data2, i, 4) Text1.Text = Text1.Text & Subtract(s1, s2) & vbCrLf Next i End Sub Private Function Subtract(s1 As String, s2 As String) As String Dim i As Integer, k As Integer, L As Integer Dim j As Integer, s As String L = Len(s1) For i = 1 To L If Mid(s1, i, 1) = "0" And Mid(s2, i, 1) = "0" Then Subtract = Subtract & "0" Else Subtract = Subtract & "1" End If Next i End Function 三、操作題(共 50分) 1. 完善程序。 (共 12分) 【要求】 1) 打開”考生文件夾”中”P1.vbp”文件,完善程序后,直接保存所有文件 。 【題目】 本程序的功能是 找出 4~500之間的史密夫數。所謂史密夫數是指該數的各位數字和等于其質因子分解中所有質因子的各位數字和。 例如 在十進制下, 202就是一個史密夫數, 因為 2 + 0 + 2 = 4,202的質因子分解為 2 × 101,2 + 1 + 0 + 1 = 4。 Option Explicit Option Base 1 Private Sub Command1_Click() Dim i As Integer, he As Integer Dim n As Integer, pf() As Integer For n = 4 To 500 Call Pfactor(n, pf) If UBound(pf) > 1 Then ______(1)______ For i = 1 To UBound(pf) he = he + Sum(pf(i)) Next i If Sum(n) = he Then List1.AddItem n End If End If Next n End Sub Private Sub Pfactor(ByVal n As Integer, f() As Integer) '質因子分解 Dim k As Integer, P As Integer k = 2 Do Do While ______(2)______ P = P + 1 ReDim Preserve f(P) f(P) = k n = n \ k Loop ______(3)______ Loop Until n = 1 End Sub Private Function Sum(ByVal n As Integer) As Integer Dim S As String, L As Integer, k As Integer, i As Integer S = CStr(n) ______(4)______ For i = 1 To L k = Val(Mid(S, i, 1)) Sum = Sum + k Next i End Function 2. 改錯題(共 16分) 【要求】 1) 打開”考生文件夾”中”P2.vbp”文件 ,改正程序中的錯誤后,直接保存所有文件 ; 2) 改錯時,不得增加或刪除語句但可適當調整位置。 【題目】 本程序的功能是 在給定的數字串中( 在給定的數字串中(121709473)找出所有的素數子串。 Option Explicit Private Sub Command1_Click() Dim n As Integer, St As String, L As Integer, Flg As Boolean Dim i As Integer, j As Integer, C As String, s As String n = Val(Text1.Text) St = CStr(n) L = Len(n) For i = 1 To L Flg = False For j = 1 To L - i + 1 C = Mid(St, j, i) If Left(C, 1) <> "0" And Prime(Val(C)) Then s = s & C & " " Flg = True End If Next j If Flg Then s = s & vbCrLf Next i Text2.Text = s End Sub Private Function Prime(M As Long) As Boolean Dim i As Long For i = 2 To Int(Sqr(M)) If M Mod i = 0 Then Exit For Next i Prime = True End Function 3. 編程題( 22分) 【要求】 1) 打開 “考生文件夾”中“P3.vbp”文件 ,按參考界面形式編輯窗體,根據題目要求編寫和調試程序后,直接保存所有文件; 2) 程序代碼書寫應呈鋸齒形,否則適當扣分。 【題目】 編寫程序,生成由兩位隨機整數組成的數組,刪除數組中數值相同的數組元素。 【編程要求】 1) 程序參考界面如圖所示,編程時不得增加或減少對象改變的窗體種類,窗體及界面元素大小適中,且均可見; 2) 運行程序, 單擊 “生成 ”按鈕, 在 InputBox對話框中輸入需要生成的數組元素個數 ,并生成由兩位隨機整數組成的數組顯示在文本框 1中;單擊“刪除重復數” 按鈕將數組中出現的重復數刪除后顯示在文本框 2中; 單擊 “清除 ”按鈕,將所有文本框清空,焦點置于 “生成 ”按鈕上; 3) 程序中至少應定義一個通用過程,用于將數組中的重復數刪除 。 參考答案 一、選擇題(共 10分,每題 2分) 1.D 2.C 3.A 4.A 5.C 二、填空題( 共 20分, 每空 2分) 1.13 2.17 3.33 4.39 5.36 6.46 7.17 8.1011 9.1111 10.1110 三、操作題(共 50分) 1. 完善程序 (共 12分) (1) he = 0 (2) n Mod k = 0 (3) k = k + 1 (4) L = Len(S) 2. 改錯題(共 16分) Option Explicit Private Sub Command1_Click() Dim n As Long, St As String, L As Integer, Flg As Boolean Dim i As Integer, j As Integer, C As String, s As String n = Val(Text1.Text) St = CStr(n) L = Len(St) For i = 1 To L Flg = False For j = 1 To L - i + 1 C = Mid(St, j, i) If Left(C, 1) <> "0" And Prime(Val(C)) Then s = s & C & " " Flg = True End If Next j If Flg Then s = s & vbCrLf Next i Text2.Text = s End Sub Private Function Prime(M As Long) As Boolean Dim i As Long For i = 2 To Int(Sqr(M)) If M Mod i = 0 Then Exit Function Next i If M > 1 Then Prime = True End Function 3. 編程題( 22分) Option Explicit Option Base 1 Dim a() As Integer, n As Integer Private Sub Command1_Click() Dim i As Integer n = InputBox("輸入 n=", , 10) ReDim a(n) For i = 1 To n a(i) = Int(Rnd * 90) + 10 Text1.Text = Text1.Text & Str(a(i)) Next i End Sub Private Sub Command2_Click() Dim i As Integer Call dele(a) For i = 1 To UBound(a) Text2.Text = Text2.Text & Str(a(i)) Next i End Sub Private Sub dele(a() As Integer) Dim i As Integer, j As Integer, k As Integer i = 1 Do j = i + 1 Do If a(i) = a(j) Then For k = j To UBound(a) - 1 a(k) = a(k + 1) Next k ReDim Preserve a(UBound(a) - 1) Else j = j + 1 End If Loop Until j > UBound(a) i = i + 1 Loop Until i >= UBound(a) End Sub Private Sub Command3_Click() Text1.Text = "" Text2.Text = "" Command1.SetFocus End Sub |