![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
2005春江蘇省計算機等級考試二級VB上機5 |
江蘇省高等學校非計算機專業(yè)學生 計算機基礎知識和應用能力等級考試上機試卷(2005春) 二級Visual Basic語言 (試卷代號 VB05) (本試卷完成時間 70分鐘) 【考試須知】 1. 改錯題的界面不作要求,主要用來調試程序,若題目中有參考界面,則僅作參考; 2. 考試結束后,文件必須存放在指定位置,否則適當扣分;考試盤中若無指定文件,則不予評分; 3. 程序代碼書寫應呈鋸齒形。 一、改錯題(14分) 【題目】下面程序功能是:已知三角形三個頂點的坐標,通過距離公式求出三邊長度,再求出三角形的面積。 Option Explicit Private Sub Command1_Click() Dim xy(3,2) As Single,i As Integer Dim st As String,n As Integer,n1 As Integer,s As String Text1="(28.5,36.7),(12.3,10.9),(45.5,25.4)" st=Text1 //此處插入圖片 Do i=i+1 n=InStr(st,")") s=Mid(st,2,n-1) n1=InStr(s,",") xy(i,1)=Left(s,n1-1) xy(i,2)=Mid(s,n1+1,n-n1-n2) If n<=Len(st) Then st=Right(st,Len(st)-n) Else Exit Do End If Loop Text2=area(xy) End Sub Private Function area(xy() As Single) As Single Dim d(3) As Single,i As Integer,j As Integer,k As Integer,s As Single For i=1 To UBound(xy,1) -1 For j=i+1 To UBound(xy,2) k=k+1 d(k)=Sqr((xy(i,1)-xy(j,1))^2+(xy(i,2)-xy(j,2))^2) s=s+d(k) Next j Next i s=s/2 area=Sqr(s*(s-d(1))*(s-d(2))*(s-d(3))) End Function 【要求】 1. 新建工程,輸入上述代碼,改正程序中的錯誤; 2. 改錯時,不得增加或刪除語句,但可適當調整語句位置; 3. 將窗體文件和工程文件分別命名為F1和P1,并保存到軟盤A的根目錄下。 二、編程題(26分) 【題目】輸入數(shù)據(jù)位數(shù)K(3~5),編程找出所有由1至9這九個數(shù)字組成的K位數(shù),且滿足從低位到高位的數(shù)字依次增大,任意相鄰 兩位數(shù)字之差都大于1。 【編程要求】 1.程序參考界面如圖所示,編程時不得增加或減少界面對象或改變對象的種類,窗體及界面元素大小適中,且均可見; 2.在文本框1中輸入數(shù)據(jù)位數(shù)K,單擊“開始”按鈕,找出所有滿足上述條件的K位數(shù),并以每行5個數(shù)的形式顯示在多行文本框2中; 3.程序中應至少定義一個通用過程,用于判斷某個K位數(shù)是否滿足給定條件。 【要求】 將窗體文件和工程文件分別命名為F2和P2,并保存到軟盤A的目錄下。
|