2017年春江蘇省計算機二級VB考試真題1 |
1. 集成電路根據所包含的電子元件數目可以分為多種類型,下列縮寫表示的集成電路中,集成度最高的是______ 。 A. LSI B. MSI C. ULSI D. VLSI C 解析:集成度(單個集成電路所含電子元件的數目)小于100的小規模集成電路(SSI),集成度在100--3000的中規模集成電路(MSI),集成度在3000--10萬的大規模集成電路(LSI),集成度在10萬到100萬的超大規模集成電路(VLSI),集成度超過100萬的極大規模集成電路(ULSI) 。 1 2. 在下列電子文檔格式中,由Adodb Systems公司開發的,幾乎所有操作系統都支持的,并且可免費使用的是______ A. HTML B. DOCX C. XML D. PDF D 解析:HTML用于網頁描述語言,DOCX是word的保存格式,XML是一種用于標記電子文件使其具有結構性的標記語言,PDF文件格式將文字、字型、排版格式、聲音和圖像等信息封裝在一個文件中。 5 3. 在下列有關無線通信和有線通信的敘述中,錯誤的是_________ A. 與有線屏蔽雙絞線相比,無屏蔽雙絞線成本高,傳輸距離遠 B. 中波主要沿地面傳播,繞射能力強,適用于廣播和海上通信 C. 短波具有較強的電離層反射能力,適用于環球通信 D. 微波頻帶很寬,但繞射能力較差,只能作為視距或超視距中繼通信 A 解析:與有線屏蔽雙絞線相比,無屏蔽雙絞線成本低,傳輸距離短,一般在局域網中使用。 4 4. 視頻行業通常按照數字+視頻畫面分辨率的高低,將視頻分為標準清晰度,高清晰度,全高清和超高清幾種。對于全高清視頻來說,目前是指數字視頻畫面分辨率為_________ A. 3460×2160 B. 1280×720 C. 720×480 D. 1920×1080 D 解析:高清是在廣播電視領域首先被提出的,最早是由美國電影電視工程師協會(SMPTE)等權威機構制定相關標準。將“高清”定義為720p、1080i與1080p三種標準形式,而1080P又有另外一種稱呼--全高清(Full High Definition)。關于高清標準,國際上公認的有兩條: 視頻垂直分辨率超過720p或1080i; 視頻寬縱比為16:9。480×320或640×480屬于標清,1024×720p或1920×1080i (隔行掃描) 屬于高清,1920×1080p屬于全高清,3840×2160,7680×4320屬于超(高)清。 5 5. 通俗的說,算法是解決問題的方法和步驟,它是程序的核心,下列有關算法的敘述中,錯誤的是______ A. 如果對于某個問題無法給出算法,則不可能編寫出程序,計算機也無法處理該問題 B. 算法設計方法有多種,例如枚舉法,迭代法、遞歸法等 C. 從算法需要占用的計算機資源角度分析其優劣時,重點要考慮時間代價和空間代價 D. 任何算法均必須有一個或多個輸入,也必須僅有一個輸出(包括參量狀態的變化) D 解析:算法的四大特性是確定性,能行性,有窮性,輸出,必須有輸出,可以沒有輸入。 3 6. 無符號整數是計算機中最常使用的一種數據類型,其長度(位數)決定了可以表示的正整數的范圍。假設無符號整數的長度是8位,那么它可以表示的正整數的最大值(十進制)是______。 A. 127 B. 128 C. 255 D. 256 C 解析:無符號是指最高位不再表示符號位,而是數值位,8位最大無符號二進制數是11111111,轉換為十進制是255。 1 7. 總線最重要的性能是它的傳輸速率,也稱為"帶寬",在一個32位的總線系統中,若時鐘頻率為200MHz,總線數據周期為1個時鐘周期傳輸1次,那么該總線的數據傳輸速率為_________ A. 400M/s B. 800M/s C. 1600M/s D. 200M/s B 解析:計算數據傳輸速率的公式: 2 8. 因特網中的IP地址可以分為A類、B類、C類、D類等。在下列4個IP地址中,屬于A類地址的是______。 A. 28. 129. 200. 19 B. 128. 129. 200. 19 C. 188. 129. 200. 19 D. 222. 129. 200. 19 A 解析:在IPv4地址中,共有4個數字,如果第1個數字<=127屬于A類地址,如果第1個數字大于等于128且小于192的屬于B類地址,如果第1個數字>=192且小于224的屬于C類地址;選項B與C是B類IP地址,選項D是C類IP地址。 4 9. 下列有關PC機主板的芯片組,、BIOS和CMOS存儲器的敘述中,錯誤的是______ A. 從傳統的芯片組來看,芯片組一般分為南橋芯片和北橋芯片,前者是存儲控制中心,后者是I/O控制中心 B. 芯片組的性能參數包括適用的CPU類型,適用的存儲器類型和可支持的最大容量、支持的I/O接口類型與數目等等 C. BIOS是存儲在主板上閃速存儲器中的一組機器語言程序,它是PC機軟件中最基礎的部分,沒有它機器就無法啟動 D. CMOS存儲器存放著與計算機系統相關的一些配置信息,用戶不可能更改其中存儲的信息 D 解析:CMOS存儲器存放著與計算機系統相關的一些配置信息,用戶可以通過CMOS設置程序更改其中存儲的信息 。 2 10. 下列有關程序與軟件的敘述中,錯誤的是______ A. 所有的程序都是采用機器語言編寫的,用于描述如何完成某一確定的任務 B. 人們通常將程序及其相關的數據和文檔統稱為軟件,其中程序是軟件的主體 C. 軟件是智力活動的成果,與書籍等一樣受到知識產權(版權)保護 D. 目前許多軟件產品是免費的,用戶可以從有關網站下載和使用 A 解析:程序的編寫現在一般都采用高級語言,因為編寫方便。 3 11. 下面關于控制屬性的說法中,錯誤的是__________ A. 控件的Left和Top屬性的值確定了該控件在窗體中的位置 B. 控件的Height和Width屬性的值確定了該控件的大小 C. 控件的Enabled屬性的缺省(默認)值為True D. 控件的Caption屬性的值指定了該控件的名稱 D 解析:控件的Name屬性的值指定了該控件的名稱, 控件的Caption屬性的值指定了該控件的標題。 3 12. 下列有關數組的敘述中,正確的是________ A. 用賦值語句給數組元素賦值后,才可以引用它 B. 若程序中不包含Option Base 語句,則Dim a(0) As Integer定義了只有一個元素的數組a C. 在窗體模塊通用聲明處不可以用Public語句定義數組,所以VB沒有全局數組 D. 定長字符串類型的數組不可以作為過程的形參 B 解析:A選項錯誤,只要定義數組后,就可以引用數組里面的元素;C選項錯誤,在模塊聲明處可以用Public語句定義數組;D選項錯誤,定長字符串類型的數組可以作為過程的形參,變長字符串類型的數組不可以作為過程的形參 。(注: Dim a() As string*10屬于定長聲明, Dim a() As String屬于變長聲明) 6 13. 下列有關通用過程的說法,錯誤的是__________ A. 過程調用時,實參與形參的結合有傳地址和傳值兩種方式 B. 在過程中對傳址形參的任何操作就是對相應實參的操作,實參的值隨形參的改變而改變 C. 過程調用時與傳值形參結合的實參的數據類型必須與形參一致 D. 過程調用時與傳值形參結合的實參的數據類型可以與形參不一致,但要相容 C 解析:過程調用時與傳值形參結合的實參的數據類型可以與形參不一致,因為是值傳遞不是地址傳遞,所以相容就可以了,如整型的值可以值傳遞給長整型 。 7 14. 設整型變量n=3456,下面表達式結果不為6453的是_________。 A. n\10^3+(n Mod 10)*10^3+(n\10 Mod 100)*10 B. n\10^3+(n Mod 10)*10^3+(n Mod 1000)-n Mod 10 C. n\10^3+(n Mod 10)*10^3+CInt((n Mod 1000)/10)*10 D. n\10^3+(n Mod 10)*103+Fix((n Mod 1000)/0)*10 C 解析: 運算符中^的優先級最高,題目中先執行10^3=1000, 因為Cint表示將值四舍五入后轉換為整型,導致CInt((n Mod 1000)/10)的結果是46了,導致最后結果是6463,具體見題目視頻詳細講解 。 3 數學表達式 A. (12*x+5*y-Sqr(Abs(d^3-m^2)))/Exp(x)/Sin(x) B. (12*x+5*y-Sqr(Abs(d^3-m^2)))/Exp(x)*Sin(x) C. 12*x+5*y-Sqr(Abs(d^3-m^2))/Exp(x)/Sin(x) D. (12*x+5*y-Sqr(Abs(d^3-m^2)))/e^(x)/Sin(x) A 解析: B選項錯誤, B選項的意思除以Exp(x)后,乘以Sin(x),與題意不符;C選項缺少了括號,因為VB中先乘除,后加減,所以導致不符合題意,D選項中應該用Exp表示e值。 4 運行下面程序,單擊命令按鈕Command1,則窗體上顯示的第一行是_______________, 第二行是_______________ . Option Explicit Private Sub Command1_Click() Dim i As Single, n As Single , k As Integer k=-1 For i=-0.5 To -6.5 Step -1.5 n=i-0.5 k=k+1 if Int(i)=Fix(i) Then i=i+n Else i=i-k End if Next i print i print n print k End Sub -14@-6.5 解析: 解析:因文字解析不如視頻清晰,具體見本題目的詳細視頻講解 。 6 執行下面程序,單擊命令按鈕Command1,則窗體上顯示的f的值是_______________,t的值是_______________ 。 Option Explicit Private Sub Command1_Click() Dim n As Long, f As Long Dim s As Long ,t As Long n=962815743 Call Rec(n,f,s,t) print f; "*" ; s; "="; t End Sub Private Sub Rec(n as Long, f As Long, s As Long, t As Long) Dim k As Long t = n Mod 10^4 k=n \ 10 ^4 s=k Mod 10^3 f= k\10 ^3 if f*s<> t Then n=(n Mod 10^8) *10+n\10^8 Call Rec(n,f,s,t) End If End Sub 28@4396 解析: 因文字解析不如視頻清晰,具體見本題目的詳細視頻講解 。 7 執行下面程序,單擊命令按鈕Command1,則窗體上顯示的第一行是_______________, 第二行是_______________,最后一行是_______________ 。 Option Explicit Private Sub Command1_Click() Dim k As Integer, m As Integer Dim n As Integer n=7394 k=Len(Cstr(n))\2 Do m=m*10^k+fun(n,k) Loop Until n=0 Print m End Sub Private Function fun(n As Integer, k As Integer) As Integer Dim a As Integer a= n Mod 10^k fun=(a Mod 10) *10 +a\10 n=n\10^k Print fun End Function 49@37@4937 解析: 因文字解析不如視頻清晰,具體見本題目的詳細視頻講解 。 7 運行下面程序,單擊命令按鈕Command1,則A(1,3)的值是_______________ ,A(2,1)的值是_______________ ,A(3,3)的值是_______________ 。 Option Explicit Option Base 1 Private Sub Command1_Click Dim A(3,3) As Integer Dim i As Integer, j As Integer Call Creat(A) For i=1 To 3 For j=1 To 3 Picture1.Print A(i,j); Next j Picture1.Print Next i End Sub Private Sub Creat(A() As Integer) Dim n As Integer, i As Integer, j As Integer For i=3 To 1 Step -1 For j=4-i To 1 Step -1 n=n+1 A(j,j+i-1)=n Next j Next i For i=3 To 2 Step -1 For j=1 To 2 A(i,j)=A(j,i) Next j Next i End Sub 1@3@4 解析: 因文字解析不如視頻清晰,具體見本題目的詳細視頻講解 。 7 1(完善程序): 【要求】 1)打開T盤中“P1.vbp”文件,完善程序后,直接保存所有文件。 【題目】 下面程序的功能是找出300以內的友誼數。若兩個正整數滿足σ(m)/m=σ(n)/n,則m和n是友誼數。其中σ(n)函數表示正整數n的所有因子之和。例如σ(6)/6,即(1+2+3+6)/6=2,σ(28)/28,即(1+2+4+7+14+28)/28=2,因此6和28是友誼數。 Option Explicit Private Sub Command1_Click() Dim fz(6 To 300) As Long '數組fz用于存儲下標對應數值的因子和 Dim i As Integer, j As Integer, sum As Integer, st() As String For i = 6 To 300 (1) For j = 1 To i If i Mod j = 0 Then sum = (2) End If Next j fz(i) = sum Next i Call Verify(fz, st) For i = 1 To UBound(st) List1.AddItem "(" & st(i) & ")" Next i End Sub Private Sub Verify(fz() As Long, s() As String) Dim U As Integer, i As Integer, j As Integer, L As Integer, st As String Dim k As Integer (3) L = LBound(fz) For i = L To U - 1 st = CStr(i) For j = i + 1 To U If fz(i) * j = fz(j) * i Then '判斷σ(m)/m = σ(n)/n st = st & "," & j End If Next j If st <> CStr(i) Then k = k + 1 (4) s(k) = st End If Next i End Sub 答案: (1) sum=0 (2) sum+j (3) u=ubound(fz) (4) Redim Preserve s(k) 解析: 因文字解析不如視頻清晰,具體見本題目的詳細視頻講解 。 sum=0@sum+j@u=ubound(fz)@Redim Preserve s(k) 2(改錯題): 【要求】 1)打開T盤中“P2.vbp”文件,改正程序中的錯誤后,直接保存所有文件; 2)改錯時,不得增加或刪除語句,但可適當調整語句位置。 【題目】 下面程序的功能是找出10~4000以內的既是可左截短素數,又是可右截短素數的數?勺蠼囟趟財凳侵溉魪淖罡呶黄,由左側依序刪除數字,其結果都是素數的數。例如9137,由左側依序刪除數字,得到的9137,137,37及7均為素數,因此是可左截短素數?捎医囟趟財凳侵溉魪淖畹臀黄,由右側依序刪除數字,其結果都是素數的數。例如7393,由右側依序刪除數字,得到的7393,739,73及7均為素數,因此是可右截短素數。 Option Explicit Private Sub Command1_Click() Dim i As Integer, k As Integer, L As Integer Dim LD As Integer, R As Integer, js As Integer For i = 10 To 4000 LD = Len(i) For L = LD To 1 k = i Mod 10 ^ L If Not Prime(k) Then Exit For Next L For R = 0 To LD - 1 k = i \ 10 ^ R If Not Prime(k) Then Exit For Next R If L < 1 And R < LD - 1 Then Text1.Text = Text1.Text & i & " " js = js + 1 If js Mod 5 = 0 Then Text1.Text = Text1.Text & vbCrLf End If Next i End Sub Private Function Prime(n As Integer) As Boolean Dim k As Integer For k = 2 To Sqr(n) If n Mod k = 0 Then Exit For Next k If n > 1 Then Prime = True End Function 答案: (1) LD = Len(i) 修改為 LD = Len(Cstr(i)) (2) For L = LD To 1 修改為 For L = LD To 1 step -1 (3) If L < 1 And R < LD - 1 Then 修改為 If L < 1 And R > LD - 1 Then (4) If n > 1 Then Prime = True 修改為 If n > 1 And k>sqr(n) Then Prime = True 解析: 因文字解析不如視頻清晰,具體見本題目的詳細視頻講解 。 LD = Len(Cstr(i))@ For L = LD To 1 step -1@ If L < 1 And R > LD - 1 Then@ If n > 1 And k>sqr(n) Then Prime = True 3(編程題): 【要求】 1)打開T盤中“P3.vbp”文件,按參考界面形式編輯窗體界面,根據題目要求編寫和調試程序后,直接保存所有文件; 2)程序代碼書寫應呈鋸齒形,否則適當扣分。 【題目】 編寫程序,在10~89210范圍內找出符合下列條件的整數:該整數可分割為兩個數,這兩個數之和的平方又等于這個整數。例如:2025可拆分為20和25,20+25=45,45^2=2025。 【編程要求】 1)程序參考界面如圖所示,編程時不得增加或減少界面對象或改變對象的種類,窗體及界面元素大小適中,且均可見; 2)運行程序,單擊“運行”命令按鈕,將符合條件的正整數顯示在文本框中,并將符合條件的整數分割及處理過程按參考界面格式顯示在列表框中;單擊“清除”按鈕,將文本框和列表框清空,焦點置于“運行”按鈕上;單擊“結束”按鈕,結束程序的運行; 3)程序中應定義一個通用過程,用于將正整數分割為兩個數字。 Option Explicit Private Sub Command1_Click() Dim i As Long, j As Integer Dim n As String, a As Integer, b As Integer For i = 10 To 89210 n = CStr(i) For j = 1 To Len(n) - 1 Call fenjie(n, j, a, b) If (a + b) ^ 2 = i Then Text1.Text = Text1.Text & i & " " List1.AddItem (i & ":" & a & "+" & b & "=" & a + b & "->" & a + b & "^2" & "=" & (a + b) ^ 2) End If Next j Next i End Sub Private Sub fenjie(n As String, i As Integer, a As Integer, b As Integer) Dim num As Integer num = Len(n) a = Left(n, i) b = Right(n, num - i) End Sub Private Sub Command2_Click() Text1.Text = "" List1.Clear Command1.SetFocus End Sub Private Sub Command3_Click() End End Sub |