2015年秋江蘇省計算機二級VB考試題目樣卷 |
2015秋江蘇省高等學校計算機等級考試 二級Visual Basic考試樣卷 (本試卷完成時間 120分鐘) 第一部分 計算機信息技術基礎知識 本套試卷的詳細講解請登錄http://school.njwww.net/kecheng/detail_897001查閱 一、選擇題(共20分,每題2分) 1.下列關于數字技術與微電子技術的敘述中,錯誤的是______ 。 A.數字技術的處理對象是"比特",一個觸發器可以存儲2個比特 B.在數據通信時,遠距離傳輸或者無線傳輸時需要用比特對載波進行 C.現代集成電路使用的半導體材料主要是硅 D.我國第2代居民身份證中使用了非接觸式IC芯片 2.下列關于臺式PC芯片組的敘述中,錯誤的是______ 。 A.芯片組是主板上最為重要的部件之一,存儲器控制、I/O控制等功能主要由芯片組實現 B.芯片組與CPU同步發展,有什么樣功能和速度的CPU,就需要使用什么樣的芯片組 C.芯片組決定了主板上能安裝的內存最大容量及可使用的內存條類型 D.同CPU一樣,用戶可以很方便、很簡單地更換主板上的芯片組 3.下列關于I/O設備的敘述中,錯誤的是______。 A.目前平板電腦、智能手機的觸摸屏大多為"多點觸摸屏",可同時感知屏幕上的多個觸控點 B.掃描儀可分為手持式、平板式和滾筒式等類型,目前普通家用/辦公用掃描儀大多為滾筒式 C.目前一些型號的數碼相機已具有拍攝視頻和進行錄音的功能 D.為了降低成本,目前許多PC采用集成顯卡,其顯示控制器被集成在芯片組中 4.下列關于PC外存儲器的敘述中,錯誤的是____。 A.目前PC采用的硬盤,其盤片的直徑通常為3.5英寸、2.5英寸或1.8英寸 B.U盤和存儲卡都是采用閃爍存儲器制作的,目前其容量大多為幾GB至幾十GB C.目前固態硬盤的存儲容量大多為數百GB,但其讀寫速度遠不如傳統硬盤(硬磁盤) D.藍光光盤是目前最先進的大容量光盤,單層盤片的存儲容量可達25GB 5.下列關于Windows操作系統功能的敘述中,錯誤的是______。 A.對于多任務處理,系統一般采用按時間片輪轉的策略進行處理器調度 B.系統采用了虛擬存儲技術進行存儲管理,其頁面調度算法為"最近最少使用"( LRU)算法 C.系統支持多種文件系統(如FAT32、NTFS、CDFS等)以管理不同的外存儲器 D.系統支持任何I/O設備的"即插即用"和"熱插拔" 6.下列關于程序設計語言的敘述中,錯誤的是____。 A.雖然機器語言不易記憶、機器語言程序難以閱讀和理解,但目前還有很多人使用其編寫程序 B.匯編語言與計算機的指令系統密切相關,不同類型的計算機,其匯編語言通常不同 C.VBScript語言是VB的子集,用其編寫的程序可以嵌入在HTML文檔中以擴充網頁的功能 D.Java語言是一種適用于網絡環境的程序設計語言,目前許多手機軟件就是用Java編寫的 7.下列關于通信技術的敘述中,錯誤的是______。 A.調制與解調技術主要用于模擬通信,在數字通信中不需要使用調制與解調技術 B.使用多路復用技術的主要目的是提高傳輸線路的利用率,降低通信成本 C.在數據通信中采用分組交換技術,可以動態分配信道資源,提高傳輸效率和質量 D.數據通信網絡大多采用分組交換技術,但不同類型網絡的數據包格式通常不同 8.Internet使用TCP/IP協議實現了全球范圍的計算機網絡的互連,連接在 Internet上的每一臺主機都有一個IP地址。目前使用的是IPv4標準(32位地 址),下一代互聯網將會采用IPv6標準,其IP地址為____。 A.48位 B.64位 C.96位 D.128位 9.下列關于字符編碼標準的敘述中,錯誤的是____。 A.在ASCII標準中,每個字符采用7位二進制編碼 B.在絕大多數情況下,GB2312字符集包含的1萬多個漢字足夠使用 C.Unicode字符集既包含簡體漢字,也包含繁體漢字 D.中文版Windows XP及其后的Windows系列操作系統均支持國標GB18030 10.由于采用的壓縮編碼方式及數據組織方式的不同,圖像文件形成了多種不同的文件格式。在下列四種圖像文件中,常用于網頁上發布并可具有動畫效果的是 。 A. BMP B.JPEG C.GIF D. TIF 參考答案: 1.A 3.B 2.D 4.C 5.D 6.A 7.A 8.D 9.B 10.C 第二部分 Visual Basic程序設計 一、選擇題(共10分,每題2分) 1.以下有關對象事件過程的說法中,錯誤的是____。 A.對象事件過程的參數由系統決定,用戶不得隨意添加或改變 B.窗體事件過程名中的對象名為窗體的名稱(Name屬性值) C.控件事件過程名中的對象名為控件的名稱(Name屬性值) D.對象事件過程可以通過Call語句調用執行 2.設字符串變量a已賦值"Visual Basic",以下表達式中運算結果等于2的是______。 A.InStr(a,"a") B. InStr(Left(a, 2) & Right(a,6),"a") C. InStr(Right(a,InStr(a,"a")),"a") D. InStr(Left(a,InStr(a,"a")),"a") 4.以下有關動態數組的說法中,錯誤的是______。 A.動態數組可用ReDim語句重新說明其維數和大小 B.不能用ReDim語句改變動態數組的數據類型 C.含有Preserve關鍵字的ReDim語句只能改變數組最后一維的維上界 D.主調過程中說明的動態數組只能在本過程中使用ReDim語句重新定義 5.以下有關自定義函數過程的說法中,錯誤的是______。 A.自定義函數名的數據類型與形參自變量的數據類型有關 B.未說明自定義函數名的數據類型時,返回函數值的類型為變體類型 C.自定義函數過程內不得再定義其他函數過程 D.自定義函數過程的形參中,可以包含數組參數 二、填空題(共20分,每空2分) 1.執行下面程序,單擊Command1按鈕后,列表框上顯示的第一個列表項內容是 ___(1)___ ,最后一個列表項內容是 ___(2)___ 。 Option Explicit Private Sub Command1_Click( ) Dim st As String, p As String * 1, i As Integer, js As Integer st = "12233" p = Mid( st, 1, 1) js = 1 i=1 Do i=i+1 If Mid( st, i, 1) = p Then js = js + I Else List1.AddItem p & " :" & js p = Mid(st, i, 1) js = 1 End If Loop While i < Len(st) List1.AddItem p & " :" & js End Sub 2.執行下面程序,在"輸入:"文本框Text1中輸入"12,3,5,18,9"后單擊"輸入數組"按鈕Command1,則數組元素a(2)的值是 ___(3)___ ,在單擊"數組處理"按鈕Command2后數組元素a(2)的值變為 ___(4)___ 。 Option Explicit Option Base 1 Dim a()As Integer 定義模塊級數組 Private Sub Command1_Click() 輸入數組 Dim i As Integer,st As String,j As Integer st = Text1.Text Do Until InStr(st, " ," ) = 0 i=Instr(st,",") j=j+1 ReDim Preserve a(j) a(j) = Val(Left( st, i - 1)) st = Right(st, Len(st) - i) Loop ReDim Preserve a(j + 1) a(j+1) = st End Sub Private Sub Command2_Click( ) '數組處理 Dim i As Integer, t As Integer, j As Integer For i= 2 To UBound(a) If a(i)> a(1) Then t=a(i) For j = i To 2 Step -1 a(j) = a(j - 1) Next j a(1)=t End If Next i For i =1 To UBound( a) Text2.Text = Text2.Text & Str(a(i)) Next i End Sub 3.執行下面程序,單擊命令按鈕Command1后,窗體顯示的第一行內容是___(5)___,第二行內容是___(6)___ ,第三行內容是___(7)___ 。 Option Explicit Dim K As Integer Private Sub Command1_Click( ) Dim A As Integ;er, B As Integer A = 11: B = 2 K = Fun((A), B) + Fun(A, A) Print K End Sub Private Function Fun( N As Integer, M As Integer) As Integer N = N\2 K = K+N If N Mod 2 < > 0 Then N=N+1 End If M=M+K Fun = M + N Print M, N End Function 4. 執行下面程序,單擊Command1按鈕,則在窗體上顯示的第一行內容是 ___(8)___ ,第二行內容是 ___(9)___ ,最后一行內容是 ___(10)___ 。 Option Explicit Private Sub Command1_Click( ) Dim a As Integer, b As String a = 27 Do b = fun(a) a = a\5 Loop Until a = 0 Print b End Sub Private Function fun(n As Integer) As String Static s As String s = CStr(n Mod 5) & s fun = s Print s End Function 三、操作題(共50分) 1.完善程序。(共12分) 【要求】 1)打開"T盤"中"P1.vbp"文件,按參考界面形式編輯窗體界面,完善程序后,直接保存所有文件。 【題目】 下面程序的功能是實現兩個分數相加。分數相加的一般步驟是先通分,分子相加,再約分。如果結果的分子大于分母,則將其化為帶分數。 Option Explicit Private Sub Command1_Click( ) '計算 Dim fz1 As Integer, fz2 As Integer, fm1 As Integer, fm2 As Integer Dim zs As Integer, js1 As String, js2 As String Dim g As Integer, fz As Integer, fm As Integer js1 = Text1. Text js2 = Text2. Text fz1 = Left(js1, InStr(js1, "/" ) - 1) fm1 = Right(js1, Len(js1) - InStr(js1, "/" )) fz2 = Left(js2, InStr(js2, "/" ) - 1) fm2 = Right( js2 , Len(js2 ) - InStr(js2 , "/")) fm = lcd(fm1, fm2) fz = fz1 * (fm\fm1) + fz2 * (fm\fm2) ___(1)___ fm=fm/g '約分 fz=fz/g '化帶分數 If ___(2)___ Then zs = zs + ( fz\fm) fz = fz Mod fm Text3. Text = zs End If Text4. Text = fz Text5. Text = fm End Sub Private Function lcd( a As Integer, b As Integer) As Integer Dim n As Integer n=a Do While n Mod b <> 0 ___(3)___ Loop lcd = n End Function Private Function gcd( ByVal a As Integer, ByVal b As Integer) As Integer Dim r As Integer Do r = a Mod b a=b b=r Loop Until r = 0 ___(4)___ End Function 2.改錯題(共16分) 【要求】 1)打開"T盤"中"P2.vbp"文件,按參考界面形式編輯窗體界面,改正程序中的錯誤后,直接保存所有文件; 2)改錯時,不得增加或刪除語句,但可適當調整語句位置。 【題目】本程序的功能是生成由n(n通過InputBox函數輸入)個3位升序數據組成的隨機數組。所謂升序數是指從高位到低位數字值依次增加的整數。 Option Explicit Option Base 1 Private Sub Command1_Click( ) Dim n As Integer, a() As Integer,k As Integer,p As Integer n= InputBox("輸入數據個數:","升序數數組",10) ReDim a(n) Do p= Int( Rnd()*900) If judge(p) Then k=k+1 a(k)=p Text1.Text = Text1.Text & Str(a(k)) If k Mod 5 = 0 Then Text1.Text = Text1.Text & vbCrLf End If Loop Until k > n End Sub Private Function judge ( n As Integer) As Boolean Dim i As Integer, a(3) As Integer For i = 3 To 1 Step -1 a(i) = n Mod 10 n = n\10 Next i For i = 1 To 2 If a(i) >= a(i + 1) Then Exit For Next i judge = True End Function 3.編程題(22分) 【要求】 (1)打開"T盤"中"P3.vbp"文件,根據題目要求編寫和調試程序后,直接保存所有文件。 (2)程序代碼書寫應呈鋸齒形,否則適當扣分。 【題目】編寫程序,找出給定范圍內所有不是素數的虧數。所謂虧數是指除 本身外其所有因子之和小于自身的正整數。例如106的因子為l、2、53,和為 56,故106是虧數。(注意:凡因子和為l的即為素數) 【編程要求】 (1)程序參考界面如圖所示,編程時不得增加或減少界面對象或改變對象 的種類,窗體及界面元素大小適中,且均可見。 (2)運行程序,在"a:"文本框中輸入數據范圍的起始值,在"b:"文本框中輸 入數據范圍的終止值后,單擊"查找"按鈕,若數據范圍內存在"虧數",則將它們 按附圖參考界面所示的格式輸出到列表框中,否則在列表框中輸出"指定范圍內 無虧數"的信息;按"清除"按鈕,將文本框與列表框清空,焦點置于"a:"文本框上。 (3)程序中至少應定義一個通用過程,用于求一個整數的因子和或判斷其 是否為"虧數"。 參考答案 一、選擇題(共10分,每題2分) 1.B 2.C 3.B 4.D 5.A 二、填空題(共20分,每空2分) 1.1:1 2.3:2 3.3 4.12 5.7 6 6.16 16 7.45 8.2 9.02 10. 102 三、操作題(共50分) 1.完善程序(共12分) (1)g=gcd(fz, fm)或g=gcd(fm, fz) (2)fz (3)n=n+a (4) gcd=a 2.改錯題(共16分) (1)p = Int( Rnd * 900)修改為 p = Int( Rnd * 900) + 100 (2)Until k > n 修改為:Loop Until k = n (3)Private Function judge ( n As Integer) As Boolean修改為: Private Function judge (byval n As Integer) As Boolean (4)If a(i) >= a(i + 1) Then Exit For 修改為 If a(i) >= a(i + 1) Then Exit Function 3.編程題(22分) Option Explicit Option Base 1 Private Sub CmdClear_Click( ) Text1. Text = " " : Text2.text="" List1. Clear Text1. setfocus End Sub Private Sub CmdFind_Click( ) Dim a As Integer, b As Integer, i As Integer Dim st As String, flg As Boolean, sum As Integer a = Val( Text1.Text) b = Val( Text2.Text) For i = a To b flg = False: st = "" : sum = 0 Call judge(i, flg, st, sum) If flg Then List1. AddItem i & " :" & st & "=" & sum End If Next i If List1.ListCount = 0 Then List1.Addltem "指定范圍內無虧數 ! " End Sub Private Sub judge(n As Integer, fg As Boolean, st As String, sum As Integer) Dim i As InteS;er For i = 1 To n - 1 If n Mod i = 0 Then sum = sum + i st=st & i & "+" End If Next i If sum < n And sum < > 1 Then fg = True st = Left(st, Len(st) - 1) End If End Sub |