![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
江蘇省2005秋vb上機(4) |
江蘇省高等學校非計算機專業(yè)學生 計算機基礎知識和應用能力登記考試上機試卷(2005秋) 二級Visual Basic語言(試卷代號VB04) (本試卷完成時間70分鐘) [考試須知] 1. 改錯題的界面不做要求,主要用來調試程序,若題目中有參考界面,則僅做參考; 2. 考試結束后,文件必須放在指定位置,否則適當扣分,考試盤中若無指定文件,則不予評分; 3. 程序代碼書寫應呈鋸齒形。 一.改錯題(14分) [題目]下面程序的功能是,找出1~300之間的三個相臨整數N ,N+1和N+2,且每個整數均為兩個素數的乘積。本題程序界面如圖1。 Option Explict Private Sub Command1-click() Dim p() as Integer ,I As Integer,N(3) As Integer Call Prime (P,150) For I=1 to 300 If Compare (P,I)Then List 1.Additem I &”,”&I+1&”,” & I+2 End if Next I End sub Private Sub Prime (p () As Integer ,N As Integer ) Dim I As Integer ,K As Integer ,Idx As Integer For I =2 to N For K=2 to sqr(I) If I Mod K = 0 Then Exit For Next k If k >sqr(I) Then Idx=Idx +1 ReDim p(Idx) P(Idx)=I End if Next I End sub Private Function Compare (p()As Integer)As Boolean Dim I As Integer ,J As Integer ,k As Integer ,Flg As Boolean For k = 1 to 3 I=1 Do While I < =Ubound (p) For J=1 to Ubound (p) If A =P(I)*p(J) Then Exit Do Next J I=I+1 Loop If J>UBound(p) Then Exit For A=A+1 Next k Compare =True End Function [要求] 1. 新建工程,輸入上述代碼,改正程序中的錯誤; 2. 改錯時,不得增加或者刪除語句,但可適當調整語句位置; 3. 將窗體文件和工程文件分別命名為F1和P1,并保存到軟盤A的跟目錄下。 二.編程題(26分) [題目]編寫程序求給定正整數的所有因子及所有因子的倒數之和。 [編程要求] 1. 程序參考界面如圖2所示,編程時不得增加或減少界面對象或改變對象的種類,窗體及界面元素大小適中,且均可見; 2. 運行程序,在文本框1中輸入測試數據,單擊“運行”按紐,求出其所有因子及所有因子的倒數和,按圖示格式輸出到多行文本框2中(結果要進行約分); 3. 單擊“清除”按紐,則將兩個文本框清空,焦點置于文本狂1上; 4. 程序中必須包含一個求其正整數所有因子倒數之和的通用過程。 [要求] 將窗體文件和工程文件分別命名為F2和P2,并保存到軟盤A的跟目錄下。
圖 1 圖 2 |