2011春江蘇省計算機二級VB上機真題2 |
2011年(春)江蘇省高校計算機等級VB上機試卷(02) (本試卷完成時間為70分鐘) 【考試須知】 1.改錯題的界面不作要求,主要用來調試程序,若題目中有參考界面,則僅作參考。 2.考試結束后,文件必須存放在指定位置,否則適當扣分;考試盤中若無指定文件,則不予評分。 3.程序代碼應縮行書寫(呈鋸齒形)。 一、改錯題(14分) 【題目】 本程序的功能是:找出使用公式m^2-m+41(m=1~100)生成的一個數據序列中的所有 非素數,分別輸出這些非素數的全部真因子。所謂數n的真因子是指除1和n之外的因子。 程序界面參見下圖。 Option Explicit Private Sub Command1_Click() Dim m As Integer,p As Long Dim st1 As String st1="" For m=1 To 100 p=m*m-m+41 If Not prime(p) Then Call fac(p,st1) List1.AddItem "第" & m & "項" & p & ":" & st1 End If Next m End Sub Private Function prime(n As Long) As Boolean Dim k As Integer For k=2 To Sqr(n) If n Mod k=0 Then Exit For Next k prime=True End Function Private Sub fac(n As L0ng,st As String) Dim i As Integer For i=2 To n\2 If n Mod i=0 Then st=st & i & "," End If Next i st=Right(st,Len(st)一1) End Sub 【要求】 1.新建工程,輸入上述代碼,改正程序中的錯誤。 2.改錯時,不得增加或刪除語句,但可適當調整語句位置。 3.將窗體文件和工程文件分別命名為F1和P1,并保存到T盤的根目錄下。 二、編程題(26分) 【題目】 編寫程序,在一個數組中找出比第一個數組元素的值大的所有數組元素中值最小的元素。如果第一個數組元素值本身為最大數,則輸出"無"。 【編程要求】 1.程序界面參見下圖,編程時不得增加或減少界面對象或改變對象的種類,窗體及界面元素大小適中,且均可見。 2.運行程序,按"處理"按鈕,則生成由10個兩位隨機數組成的數組并顯示在文本框Text1中,找出比第一個數組元素a(1)大的最小元素輸出在文本框Text2中,若沒有比a(1)大的數組元素,則在Text2中輸出"無";按"清除"按鈕,將所有文本框清空,焦點置于"處理"按鈕上;按"結束"按鈕,結束程序運行。 3.程序中應定義一個通用過程,用于求一維數組中比a(1)大的最小元素。 【算法提示】 先找出所有比數組原第一個元素大的元素存入一新數組,再找出其中的最小元素即可。 【要求】 將窗體文件和工程文件分別命名為F2和P2,并保存到T盤的根目錄下。 |