資源簡介 專項測試一 程序設計基礎一、選擇題1.下列問題不能用算法描述的是( )A.求所有自然數之和B.將四位十進制數轉換為對應的二進制數C.將100個實數按升序排列D.求100個整數中的最大值和最小值解析 本題主要考查的是算法特征。選項A違背了算法的有窮性特征,因為自然數是無窮的,因此不能求出所有自然數之和,故答案為A。答案 A2.下列可作為VB變量名的是( )A.3D B.X_Y C.X+Y D.And解析 本題主要考查的是變量的命名。答案 B3.有10個數據23、15、51、36、78、47、39、9、88、96依次存放在數組a(1 to 10)中,使用如下程序段找出最大值:max=a(1)For i=2 to 10 Next i當方框內的語句執行完6次后(此時循環變量i的值為7),變量max的值是( )A.23 B.39 C.78 D.96解析 本題考查的是循環結構。該程序的功能是“打擂臺”法求最大值,方框內的程序剛好執行完6次,則表示在前7個數找出的最大值,即為78。答案 C4.有如下VB程序段:a=12b=54a=a+bb=a-ba=a-b該程序段執行后,變量a,b的值分別是( )A.12,54 B.54,12 C.12,12 D.54,54解析 本題主要考查的是賦值語句。本程序段的功能是交換變量a、b的值,因此答案為B。答案 B5.變量c中存儲著一個字符,能夠正確判斷出該字符為數字字符“0”~“9”的VB表達式是( )A.c>=“0” And c<=“9”B.c>=“0” Or c<=“9”C.Asc(c)>=0 And Asc(c)<=9D.Asc(c)>=0 Or Asc(c)<=9解析 本題主要考查的是VB表達式。答案 A6.字符串變量a、b的值分別為“12”、“34”,則表達式a+b的值是( )A.“12+34” B.“1234”C.46 D.“46”解析 本題主要考查的是字符串運算。兩個字符串的“+”運算,是指將兩個字符串進行拼接,因此答案為B。答案 B7.字符串變量s的值為“ZheJiangHangZhou”,下列VB表達式的值是“Hang”的是( )A.Mid(s,8,4) B.Mid(s,4,8)C.Mid(s,9,4) D.Mid(s,4,9)解析 本題主要考查的是Mid函數。函數Mid(s,i,j)的功能是取字符串s中從第i個字符開始的j個字符,因此答案為C。答案 C8.將數學表達式(x≠1,y≠1)寫成VB表達式是( )A.x-1/1/y-1 B. y-1/x-1C.(y-1)/(x-1) D.1/(x-1)/(y-1)解析 本題主要考查的是VB表達式。答案 C9.有如下VB程序段:x = 0For i = 0 To 20 Step 2 If i Mod 3 = 0 Then x = x + iNext i該程序段執行后,變量x的值是( )A.12 B.18 C.36 D.60解析 本題主要考查的是For循環。本題的功能是求20以內6的倍數之和,即x=6+12+18=36,因此答案為C。答案 C10.小明編寫了一個統計隨機數分布的VB程序,部分程序如下所示,在調試程序的時候出現如下圖所示的錯誤信息:n = 0m = 0For i = 1 To 100 If Rnd > 0.5 Then n = n + 1 Else m = m + 1Next i……小明仔細分析該程序段后,發現其中缺少的語句是( )A.For B.End If C.Next D.If解析 本題主要考查的是塊If結構。塊If結構,以If命令開始,以End If命令結束,因此答案為B。答案 B11.有如下VB程序段:Dim k As Integer,s As Integerk = 0: s = 0Do While k >= 10 k = k + 1 s = s + kLoop該程序段執行后,變量s的值是( )A.0 B.1 C.10 D.11解析 本題主要考查的是Do While循環。變量k的初值為0,不滿足循環條件“k >= 10”,因此不執行循環體語句,因此變量s的值仍為0,故答案為A。答案 A12.小明在設計VB程序時所使用單選框對象的屬性窗口如下圖所示,他想編寫該單選框單擊事件的處理過程,則該事件處理過程名是( )A.OptionButton_Click B.男_ClickC.Option1_Click D.單選框_Click解析 本題主要考查的是VB對象。事件處理過程名的一般形式為:對象名_事件名,從屬性窗口可知,該單選框的名稱為Option1,鼠標單擊事件名為Click,因此該事件處理過程名為Option1_Click,答案為C。答案 C13. 某算法的部分流程圖如下圖所示,執行這部分流程后,輸出b,s的值分別是( )A.72,138 B.72,210C.87,210 D.87,297解析 本題主要考查的是循環結構流程圖。當b>72時,循環結束并輸出,因此當b>87時,變量s的值為12+27+42+57+72=210,因此答案為C。答案 C14.有如下VB程序段: y = 0 1s = Len(Text1.Text) For i = 1 To 1sc = Mid(Text1.Text, i, 1)If c >= “0” And c <= “9” Then x = Val(c): a(x) = a(x) + 1 Next i For i = 0 To 9If a(i) > 0 Then y = y + 1 Next i Label1.Caption = Str(y)End SubA數組各元素的初值為0,程序運行時,在文本框Text1中輸入內容“pi=3.1415926535”,單擊按鈕Command1后,標簽Label1中顯示的內容是( )A.6 B.7 C.8 D.9解析 本題主要考查的是循環結構。本程序的功能是統計字符串包含的不同數字字符的個數,字符符“pi=3.1415926535”中共包含不同的數字字符有“1、2、3、4、5、6、9”,共7個,因此答案為B。答案 B二、非選擇題15.下列VB程序運行時,單擊命令按鈕Command1后,語句①被執行了________次,文本框Text1中顯示的內容是__________。 Private Sub Command1_Click() Dim a(1 To 5) As Integer.i As Integer a(1)=1 a(2)=1 For i=3 To 5 a(i)=2*a(i-1)+a(i-2) ′語句① Next i Text1.Text=Str(a(5))End Sub解析 本題主要考查的是循環結構。當i=3、4、5時執行循環,所以共3次。a(1)a(2)a(3)a(4)a(5)113717因此文本框Text1中輸出a(5)的值為17。答案 3 1716.下列VB程序運行時,單擊命令按鈕Command1后,文本框Text1中顯示的內容是________,文本框Text2中顯示的內容是________。Private Sub Command1_Click() Dim a(1 To 3) As Integer, k As Integer, t As Integer, s As Integer a(1) = 12: a(2) = 41: a(3) = 2 s = 0 For k = 2 To 3 If a(k) > a(1) Thent = a(1): a(1) = a(k): a(k) = ts = s + 1 End If Next k Text1.Text = Str(a(1)) Text2.Text = Str(s)End Sub解析 本題考查的是循環結構及數組的應用。本程序的功能是求數組a的最大值,并將最大值存放在數組元素a(1)中;變量s表示統計a數組中比a(1)(當前最大值)大的元素的個數。答案 41 117.編“求最大數最小數”程序,實現如下功能:在文本框Text1中輸入一個正整數n,單擊“分析”按鈕Command1后,程序將生成n個隨機整數,顯示在列表框List1中;并計算這n個隨機整數中的最大數、最小數及它們所在的位置,最后求出這n個數的平均值。程序運行界面如下圖所示。(1)要使程序運行時,清空文本框Text1中的內容,可在Form_Load事件過程添加語句__________(單選,填字母:A.Text1.Caption = “ ” / B.Text1.Text=“ ” / C. Text1.Font=“ ”)。(2)實現上述功能的VB程序如下,請在劃線處填入合適的代碼。Private Sub Command1_Click() Dim n As Integer, i As Integer, x As Integer, sum As Integer, avg As Single Dim max As Integer, min As Integer, maxi As Integer, mini As Integer n = Val(Text1.Text) x = Int(Rnd * 100) + 1 List1.AddItem Str(x) max = x : min = x maxi = 1: mini = 1 ______①______ For i = 2 To n x = Int(Rnd * 100) + 1 List1.AddItem Str(x) If x > max Then max = x: maxi = i If ______②______ Then min = x: mini = i sum = sum + x Next i ______③______ List2.AddItem “最大數為:” + Str(max) + “,所在位置為:” + Str(maxi) List2.AddItem “最小數為:” + Str(min) + “,所在位置為:” + Str(mini) List2.AddItem “平均值為:” + Str(avg)End Sub解析 本題主要考查的是VB的循環結構語句。本程序的功能是求n個隨機整數的最大值、最小值和平均值。(1)要清空文本框Text1中的內容,可用語句Text1.Text=“ ”;(2)產生這個隨機整數后,將它存放在sum中,因此①處語句為sum = x;②處條件表示求最小值時的情況,因此②處語句應為x答案 (1)B (2)①sum = x ②x < min ③avg = sum / n18.現要求編寫VB程序實現如下功能:在文本框Text1中輸入正整數n,單擊命令按鈕Command1后,在文本框Text2中會顯示一個有規律的數字串,形式為“1 2 3 … n-1 n n-1…3 2 1”。 例如n=6時,顯示的數字串為“1 2 3 4 5 6 5 4 3 2 1”。按此要求編寫的程序如下,但加框處代碼有錯,請改正。Private Sub Command1_Click() Dim n As Integer, i As Integer, s As String n = Val(Text1.Text) s = “ ” For i = 1 To ′(1)If i <= n Then s = s + Str(i) Else ′(2) Next i Text2.Text= s End Sub程序中加框(1)處應改正為_____________________________________________;加框(2)處應改正為_________________________________________________。解析 本題主要考查的是閱讀程序的能力。變量i表示共輸出的數字字符的個數,總數字字符個數為2*n-1,因此(1)處代碼修改為2*n-1;當i<=n時,表示輸出字符1~n,當i>n時,表示輸出后半段的數字字符,后半段的數字字符分別為2*n-1~1,因此代碼為2*n-i。答案 (1)2*n-1 (2)s = s + Str(2 * n - i)19.下列VB程序的功能是:程序運行時,在文本框Textin中輸入正整數n.單擊命令按鈕Command1后,統計1至n 的整數中包含數字2的整數個數,并在文本框Textout中輸出結果,若n=20,有2、12和20三個整數包含數字2,則文本框Textout中輸出“3”。實現上述功能的VB程序如下,請在劃線處填入合適的代碼。Private Sub Command1_Click() Dim i As Long, n As Long, t As Long Dim s As Long ′s用于統計1到n之間包含數字2的整數個數 Dim k As Boolean s = 0 n = Val(Textin.Text) For i = 1 To n k = False t = i Do While Not k And t > 0 ________①______ t = t 10 Loop If k Then ________②______Next i Textout.Text = Str(s)End Sub解析 本題的算法思想是:將正整數i進行數字分離,并對分離出的數字進行判斷是否為2,如果包含數字2,則進行計數。①處代碼表示取出整數t的個位,并判斷是否為2,如果是2,則修改變量k的值為True,因此①處代碼為If t Mod 10=2 Then k=True;條件If k表示當前的整數t包含數字2,因此進行計數,即②處代碼為s=s+1。答案?、買f t Mod 10=2 Then k=True②s=s+120.小明設計了一個驗證自由落體規律的實驗:小球從高處靜止狀態垂直下落,用照相機每隔0.1秒拍照1次,測得實驗數據如下:拍照時刻(秒)0.10.20.30.40.5下落距離測量值(米)0.0490.1950.440.7851.225現要求編寫一個VB程序實現如下功能:單擊命令按鈕Command1后,由公式h=gt2(其中g=9.8米/秒2)計算出第一拍照時刻的下落距離理論值,若所有理論值與同一時刻測量值之間的相對誤差都小于0.01,則認為小球在0.5秒內是作自由落體運動,此時在標簽Label1中顯示“驗證通過”,否則顯示“驗證不通過”。實現上述功能的VB程序如下,請在劃線處填入合適代碼。Private Sub Command1_Click()Dim h1(1 To 5) As Single ′h1用于存儲下落距離測量值Dim h As Single, i As Integer ′h用于存儲下落距離理論值Dim t As Single, g As Single, b As Booleanh1(1) = 0.049: h1(2) = 0.195: h1(3) = 0.44: h1(4) = 0.785: h1(5) = 1.225i = 1: b = True①____Do While i <= 5 And b t = i / 10 h = g * t * t / 2 If ____②____Then b = False i = i + 1LoopIf b Then Label1.Caption = “驗證通過” Else Label1.Caption = “驗證不通過”End IfEnd Sub解析 本題考查的是閱讀程序的能力。劃線①處表示給變量g賦值,根據題目可知,g=9.8,因此①處碼為g=9.8;若所有理論值與同一時刻測量值之間的相對誤差都小于0.01,則認為是作自由落體運動,理論值為h,測量值存儲在數組元素h(i)中,根據題中公式可知,②處代碼為Abs(h-h1(i))/h>=0.01。答案?、賕=9.8 ②Abs(h - h1(i)) / h >= 0.01專項測試一 程序設計基礎一、選擇題1.下列問題不能用算法描述的是( )A.求所有自然數之和B.將四位十進制數轉換為對應的二進制數C.將100個實數按升序排列D.求100個整數中的最大值和最小值2.下列可作為VB變量名的是( )A.3D B.X_Y C.X+Y D.And3.有10個數據23、15、51、36、78、47、39、9、88、96依次存放在數組a(1 to 10)中,使用如下程序段找出最大值:max=a(1)For i=2 to 10 Next i當方框內的語句執行完6次后(此時循環變量i的值為7),變量max的值是( )A.23 B.39 C.78 D.964.有如下VB程序段:a=12b=54a=a+bb=a-ba=a-b該程序段執行后,變量a,b的值分別是( )A.12,54 B.54,12 C.12,12 D.54,545.變量c中存儲著一個字符,能夠正確判斷出該字符為數字字符“0”~“9”的VB表達式是( )A.c>=“0” And c<=“9”B.c>=“0” Or c<=“9”C.Asc(c)>=0 And Asc(c)<=9D.Asc(c)>=0 Or Asc(c)<=96.字符串變量a、b的值分別為“12”、“34”,則表達式a+b的值是( )A.“12+34” B.“1234”C.46 D.“46”7.字符串變量s的值為“ZheJiangHangZhou”,下列VB表達式的值是“Hang”的是( )A.Mid(s,8,4) B.Mid(s,4,8)C.Mid(s,9,4) D.Mid(s,4,9)8.將數學表達式(x≠1,y≠1)寫成VB表達式是( )A.x-1/1/y-1 B. y-1/x-1C.(y-1)/(x-1) D.1/(x-1)/(y-1)9.有如下VB程序段:x = 0For i = 0 To 20 Step 2 If i Mod 3 = 0 Then x = x + iNext i該程序段執行后,變量x的值是( )A.12 B.18 C.36 D.6010.小明編寫了一個統計隨機數分布的VB程序,部分程序如下所示,在調試程序的時候出現如下圖所示的錯誤信息:n = 0m = 0For i = 1 To 100 If Rnd > 0.5 Then n = n + 1 Else m = m + 1Next i……小明仔細分析該程序段后,發現其中缺少的語句是( )A.For B.End If C.Next D.If11.有如下VB程序段:Dim k As Integer,s As Integerk = 0: s = 0Do While k >= 10 k = k + 1 s = s + kLoop該程序段執行后,變量s的值是( )A.0 B.1 C.10 D.1112.小明在設計VB程序時所使用單選框對象的屬性窗口如下圖所示,他想編寫該單選框單擊事件的處理過程,則該事件處理過程名是( )A.OptionButton_Click B.男_ClickC.Option1_Click D.單選框_Click13. 某算法的部分流程圖如下圖所示,執行這部分流程后,輸出b,s的值分別是( )A.72,138 B.72,210C.87,210 D.87,29714.有如下VB程序段: y = 0 1s = Len(Text1.Text) For i = 1 To 1sc = Mid(Text1.Text, i, 1)If c >= “0” And c <= “9” Then x = Val(c): a(x) = a(x) + 1 Next i For i = 0 To 9If a(i) > 0 Then y = y + 1 Next i Label1.Caption = Str(y)End SubA數組各元素的初值為0,程序運行時,在文本框Text1中輸入內容“pi=3.1415926535”,單擊按鈕Command1后,標簽Label1中顯示的內容是( )A.6 B.7 C.8 D.9二、非選擇題15.下列VB程序運行時,單擊命令按鈕Command1后,語句①被執行了________次,文本框Text1中顯示的內容是__________?!?br/> Private Sub Command1_Click() Dim a(1 To 5) As Integer.i As Integer a(1)=1 a(2)=1 For i=3 To 5 a(i)=2*a(i-1)+a(i-2) ′語句① Next i Text1.Text=Str(a(5))End Sub16.下列VB程序運行時,單擊命令按鈕Command1后,文本框Text1中顯示的內容是________,文本框Text2中顯示的內容是________。Private Sub Command1_Click() Dim a(1 To 3) As Integer, k As Integer, t As Integer, s As Integer a(1) = 12: a(2) = 41: a(3) = 2 s = 0 For k = 2 To 3 If a(k) > a(1) Thent = a(1): a(1) = a(k): a(k) = ts = s + 1 End If Next k Text1.Text = Str(a(1)) Text2.Text = Str(s)End Sub17.編“求最大數最小數”程序,實現如下功能:在文本框Text1中輸入一個正整數n,單擊“分析”按鈕Command1后,程序將生成n個隨機整數,顯示在列表框List1中;并計算這n個隨機整數中的最大數、最小數及它們所在的位置,最后求出這n個數的平均值。程序運行界面如下圖所示。(1)要使程序運行時,清空文本框Text1中的內容,可在Form_Load事件過程添加語句__________(單選,填字母:A.Text1.Caption = “ ” / B.Text1.Text=“ ” / C. Text1.Font=“ ”)。(2)實現上述功能的VB程序如下,請在劃線處填入合適的代碼。Private Sub Command1_Click() Dim n As Integer, i As Integer, x As Integer, sum As Integer, avg As Single Dim max As Integer, min As Integer, maxi As Integer, mini As Integer n = Val(Text1.Text) x = Int(Rnd * 100) + 1 List1.AddItem Str(x) max = x : min = x maxi = 1: mini = 1 ______①______ For i = 2 To n x = Int(Rnd * 100) + 1 List1.AddItem Str(x) If x > max Then max = x: maxi = i If ______②______ Then min = x: mini = i sum = sum + x Next i ______③______ List2.AddItem “最大數為:” + Str(max) + “,所在位置為:” + Str(maxi) List2.AddItem “最小數為:” + Str(min) + “,所在位置為:” + Str(mini) List2.AddItem “平均值為:” + Str(avg)End Sub18.現要求編寫VB程序實現如下功能:在文本框Text1中輸入正整數n,單擊命令按鈕Command1后,在文本框Text2中會顯示一個有規律的數字串,形式為“1 2 3 … n-1 n n-1…3 2 1”。 例如n=6時,顯示的數字串為“1 2 3 4 5 6 5 4 3 2 1”。按此要求編寫的程序如下,但加框處代碼有錯,請改正。Private Sub Command1_Click() Dim n As Integer, i As Integer, s As String n = Val(Text1.Text) s = “ ” For i = 1 To ′(1)If i <= n Then s = s + Str(i) Else ′(2) Next i Text2.Text= s End Sub程序中加框(1)處應改正為_____________________________________________;加框(2)處應改正為_________________________________________________。19.下列VB程序的功能是:程序運行時,在文本框Textin中輸入正整數n.單擊命令按鈕Command1后,統計1至n 的整數中包含數字2的整數個數,并在文本框Textout中輸出結果,若n=20,有2、12和20三個整數包含數字2,則文本框Textout中輸出“3”。實現上述功能的VB程序如下,請在劃線處填入合適的代碼。Private Sub Command1_Click() Dim i As Long, n As Long, t As Long Dim s As Long ′s用于統計1到n之間包含數字2的整數個數 Dim k As Boolean s = 0 n = Val(Textin.Text) For i = 1 To n k = False t = i Do While Not k And t > 0 ________①______ t = t 10 Loop If k Then ________②______Next i Textout.Text = Str(s)End Sub20.小明設計了一個驗證自由落體規律的實驗:小球從高處靜止狀態垂直下落,用照相機每隔0.1秒拍照1次,測得實驗數據如下:拍照時刻(秒)0.10.20.30.40.5下落距離測量值(米)0.0490.1950.440.7851.225現要求編寫一個VB程序實現如下功能:單擊命令按鈕Command1后,由公式h=gt2(其中g=9.8米/秒2)計算出第一拍照時刻的下落距離理論值,若所有理論值與同一時刻測量值之間的相對誤差都小于0.01,則認為小球在0.5秒內是作自由落體運動,此時在標簽Label1中顯示“驗證通過”,否則顯示“驗證不通過”。實現上述功能的VB程序如下,請在劃線處填入合適代碼。Private Sub Command1_Click()Dim h1(1 To 5) As Single ′h1用于存儲下落距離測量值Dim h As Single, i As Integer ′h用于存儲下落距離理論值Dim t As Single, g As Single, b As Booleanh1(1) = 0.049: h1(2) = 0.195: h1(3) = 0.44: h1(4) = 0.785: h1(5) = 1.225i = 1: b = True①____Do While i <= 5 And b t = i / 10 h = g * t * t / 2 If ____②____Then b = False i = i + 1LoopIf b Then Label1.Caption = “驗證通過” Else Label1.Caption = “驗證不通過”End IfEnd Sub 展開更多...... 收起↑ 資源列表 專項測試一 程序設計基礎.doc 專項測試一 程序設計基礎原卷版.doc 縮略圖、資源來源于二一教育資源庫