資源簡介 高中信息技術綜合庫——算法軟件操作一、高中信息技術綜合庫——算法軟件操作1.閱讀下面一段程序,運行后可能會出現什么結果( ?。?br/>Private Sub Command1_ Click ()Dim i As IntegerFor i=1 To 10If Not i Mod 2=0 or i Mod 5=0 ThenPrint iNext iEnd SubA.出現錯誤:塊If沒有End ifB.在窗體中輸出2、4、5、6、8、10C.出現錯誤:Next沒有ForD.在窗體中輸出1、3、5、7、9、102.李強調試“求三角形面積”VB程序時,顯示“s=d×g÷2”出錯,如下所示,其出錯的原因是( )Private Sub Command1_Click()Dim d As Single, g As Single, s As Single ‘定義程序中使用的變量d = Val(Text1. Text) ‘在Text1中輸入三角形的底g = Val(Text2. Text) ‘在Text2中輸入三角形的高s = d×g÷2 ‘計算三角形面積Text3. Text = s ‘在Text3中顯示面積值End SubA.變量沒有定義 B.語法錯誤C.運算符錯誤 D.關鍵字錯誤3.現有VB程序“矩形面積和.vbp”,可計算100個矩形序列的面積和,計算公式為s=1 * 2+2 * 3+…+100 * 101,該程序運行時,單擊“計算”按鈕,即顯示結果。但該程序代碼有3處錯誤,請修改。Private SubCommand1_Click()Dim i AS IntegerDim As LongFor i = 1 To 100s = s + i *(i+1)Nest iText1. Caption= sEnd Sub(1)修改“Dim As Long”行中的錯誤;(2)修改“Nest i”行中的錯誤;(3)修改“Text1. Caption=s”行中的錯誤;4.在下圖所示的VB“代碼窗口”中,“對象”“過程”列表分別是( ?。?br/>A.①② B.①③ C.③④ D.②③5.以下程序中的循環體執行的次數是( )For A=1 To 200 Step 4S=S+A:Next APrint SA.48 B.49 C.50 D.516.張文同學使用VB編寫了一個程序用來求半徑為r(通過Text1輸入)的圓面積(π取值3.14),該程序如下。請幫助他修改程序中的錯誤。Private Sub Command1_ Click( )Dim pi As SingleConst pi=3. 14Text2.Text=2 pi*Text1.TextText3.Text=pi*Text2.Text*Text2.TextEnd Sub①刪除程序中多余的語句; ②修改語句“Text2.Text=2 pi*Text1.Text”行中的錯誤; ③修改語句“Text3.Text=pi*Text2.Text*Text2.Text”行中的錯誤; ④使用常用工具欄中的“保存工程”按鈕保存文件。7.小張同學在學習了選修教材《算法與程序設計》后,準備小試牛刀一下,就編了“判斷一個數能否被7整除”的小程序,其中有三處錯誤,請幫助他修改。Private Sub Command1_ Click()Dim i As IntegerDim As Stringi= Text1.TextIf i/7=0 Then '判斷文本框中輸入的數是否是7的倍數j=i &“是7的倍數,能被7整除!” '是7的倍數,輸出能被7整除!Elsej=i&"不是7的倍數,不能被7整除!" '不是7的倍數,就輸出不是7的倍數,不能被7整除!!EndIfLabel3.Caption=jEnd Sub(1)修改語句“Dim As String”行中的錯誤;(2)修改語句“If i/7=0 Then”行中的錯誤;(3)修改語句“End”行中的錯誤。8.張羽用VB編寫了一個程序,保存在計算機中根據圖標判斷,下面4個文件中,其中為張羽編寫的工程文件是( ?。?br/>A. 算法的特征.htm B. 斐波那契數列問題.vbpC. Visua Basic精簡版.exe D. VB精編程技巧.wmv9.下圖是王明同學編寫的一段VB代碼,運行后A和B的值分別是( ?。?。Dim A, B As IntegerA=5B=6B=A+BA=A*BPrint A,BA.30 11 B.55 11 C.55 66 D.11 5510.在 Visual basic中,要將字符串變量a和b的值連接并將結果在文本框Text1中輸出,下列代碼合適的是( ?。?br/>A.Str(a+b)=Text1. Text B.Text. Text=a+bC.a+b= Text1. Text D.Text1. Text=a+b11.下面程序執行結束,文本框Text1中顯示( ?。?br/>Private Sub Form_Click()a = "123": b = "456"c = Val(a) + Val(b)Text1.Text=str(c\100)End SubA.123 B.3 C.5 D.57912.(2018高二上·諸暨期中)某編碼由4個信息位和3個校驗位組成,通過對編碼信息進行驗算,能夠檢測并糾正一位錯誤代碼。該7位編碼中b1~b4為信息位,p1~p3為校驗位,位置如下:編碼中位 1 2 3 4 5 6 7對位信息 p1 p2 b1 p3 b2 b3 b4校驗的方式如下,求校驗值g1、g2、g3:g1 = p1 Xor b1 Xor b2 Xor b4g2 = p2 Xor b1 Xor b3 Xor b4g3 = p3 Xor b2 Xor b3 Xor b4其中Xor 為異或運算,規則是:0 Xor 0 =0,0 Xor 1 =1,1 Xor 0 =1,1 Xor 1 =0,p1 Xor b1 是將p1、b1 轉換為二進制后按位進行異或運算,如7 Xor 12 的結果為11。⑴若計算得到的校驗值g1、g2、g3均為0,說明校驗正確,數據無錯誤。例如:若7位編碼為1101001,計算校驗值g1、g2、g3值均為0,驗證正確。⑵若校驗值g1、g2、g3不全為0,說明數據有錯,出錯位置為g3g2g1(二進制數表示),糾錯的方法是對錯誤的位進行取反,即“0”變“1”,“1”變“0”。例如:若7位編碼為1111001,計算校驗值g1=1、g2=1、g3=0,不全為0,說明數據有錯,錯誤位置在011(二進制數)位,即第3位,原位置上“1”應為“0”,正確編碼為1101001。小明為此編寫了VB程序,程序運行時,在文本框Text1中輸入編碼值,單擊“校驗”按鈕Command1后,在文本框Text2中輸出運行結果,如圖所示。實現上述功能的VB程序如下,請回答下列問題:(1)若按上述規則的7位編碼為1001000,其中一位有錯,則正確的編碼應為 。(2)請在劃線處填入合適的代碼。Function check(s As String) As IntegerDim i As Integer g1 As Integer, g2 As Integer, g3 As IntegerDim c(1 To 7) As IntegerFor i = 1 To 7c(i) = Val(Mid(s, i, 1))Next ig1 = c(1) Xor c(3) Xor c(5) Xor c(7)g2 = c(2) Xor c(3) Xor c(6) Xor c(7)g3 = c(4) Xor c(5) Xor c(6) Xor c(7)If g1 + g2 + g3 = 0 Then check = 0 Else check = End FunctionPrivate Sub Command1_Click()Dim i As Integer, m As Integer, Outs As Stringm = If m = 0 ThenText2.Text = "驗證正確,數據無錯誤"ElseFor i = 1 To 7If i = m ThenOuts = Outs + Chr( Asc(Mid(Text1.Text, i, 1)) Xor )ElseOuts = Outs + Mid(Text1.Text, i, 1)End IfNext iText2.Text = "第" + Str(m) + "位上數據有錯誤,正確編碼應為:" + OutsEnd IfEnd Sub答案解析部分1.【答案】C【知識點】程序的調試及運行;分支結構語句及程序實現;循環結構語句及程序實現2.【答案】C【知識點】程序的調試及運行;運算符、基本運算與表達式【解析】【解答】VB中,乘號是*,除號是/。題中的乘除好用的是數學表達式中的符號。故答案選C。【分析】本題考查的是VB程序的調試及基本運算符。VB中必須使用VB認可的規范的符號。3.【答案】(1)改成“Dim s As Long”(2)改成“Next i”;(3)改成“Text1. Text=s”;【知識點】程序的調試及運行;循環結構語句及程序實現4.【答案】A【知識點】程序設計工具及編程環境【解析】【解答】①是對象列表, ②是過程列表,③是運算符,④是滾動條。故答案選A。【分析】本題考查的是對VB代碼窗口的認識。5.【答案】C【知識點】循環結構語句及程序實現【解析】【解答】根據語句A=1 To 200 Step 4可知,循環體執行了200/4=50次。故答案選C。【分析】本題考查的是循環結構。for語句通過遍歷序列中的元素實現循環,并通過序列的元素數量來控制循環次數,即循環過程中,序列中的每個元素都會依次被賦值給變量,并分別執行一次循環體。6.【答案】將語句“Dim pi As single”刪除;“Text2.Text= 2*pi*Text1.Text”;改成“Text3.Text=pi*Text1.Text*Text1.Text”【知識點】程序的調試及運行7.【答案】(1)改成“Dim j As String”(2)改成“If Text1. Text mod 7=0 Then”(3)改成“End If”【知識點】程序的調試及運行8.【答案】B【知識點】窗體文件、工程文件及其擴展名【解析】【解答】VB工程文件的擴展名是vbp。故答案選B。【分析】本題考查的是文件擴展名。htm是網頁擴展名,exe是可執行程序,wmv是視頻文件。9.【答案】B【知識點】順序結構及程序實現【解析】【解答】初始值:A=5,B=6。執行B=A+B=11,A=A*B=55。所以輸出A、B的結果為55、11。故答案選B。【分析】本題考查的是順序結構程序的運行。順序結構:事物的發展通常按照一定的順序進行。10.【答案】D【知識點】常量、變量及變量的賦值11.【答案】C【知識點】程序的調試及運行;常量、變量及變量的賦值【解析】【解答】a=“456”是將字符串型數據“456”賦值給a,b=“456”將字符串型數據“456”賦值給b,c=val(a)+val(b)是分別把a和b的值轉換為數值型,然后相加,此時c=579,Text1.Text=str(c\100)是將c整除100后,轉換為字符類型賦值給Text1.Text,因此,文本框 Text1 中顯示5。故答案選C。【分析】本題主要考查VB程序的運行。12.【答案】(1)1001100(2)g3 * 4 + g2 * 2 + g1;check(Text1.Text);1【知識點】程序的調試及運行;運算符、基本運算與表達式;常量、變量及變量的賦值【解析】【解答】(1)根據上述規則,分別求校驗值g1、g2、g3:g1=1 Xor 0 Xor 0 Xor 0=1,g2=0 Xor 0 Xor 0 Xor 0=0,g3=1 Xor 0 Xor 0 Xor 0=1,校驗值g1、g2、g3不全為0,說明數據有錯,出錯位置為101,即第3位,將第3位取反后的編碼為1001100。故答案為:1001100。(2)1處語句是計算數據出錯的位置,g3的權值是2 ,g2的權值是2 ,g3的權值是2 ,所以check=g3 * 4 + g2 * 2 + g1;2處語句是調用自定義函數check,該函數的參數是Text1中輸入的文本,所以該處語句是check(Text1.Text);3處語句是通過異或運算將出錯位置的二進制數進行取反,當某二進制數異或1時,恰好將該數取反,所以該處應為1。故答案為:g3 * 4 + g2 * 2 + g1 ;check(Text1.Text);1。【分析】本題考查算法與程序設計的綜合應用能力,分析問題解決問題的能力和根據題意填寫程序代碼的應用能力。1 / 1高中信息技術綜合庫——算法軟件操作一、高中信息技術綜合庫——算法軟件操作1.閱讀下面一段程序,運行后可能會出現什么結果( ?。?br/>Private Sub Command1_ Click ()Dim i As IntegerFor i=1 To 10If Not i Mod 2=0 or i Mod 5=0 ThenPrint iNext iEnd SubA.出現錯誤:塊If沒有End ifB.在窗體中輸出2、4、5、6、8、10C.出現錯誤:Next沒有ForD.在窗體中輸出1、3、5、7、9、10【答案】C【知識點】程序的調試及運行;分支結構語句及程序實現;循環結構語句及程序實現2.李強調試“求三角形面積”VB程序時,顯示“s=d×g÷2”出錯,如下所示,其出錯的原因是( ?。?br/>Private Sub Command1_Click()Dim d As Single, g As Single, s As Single ‘定義程序中使用的變量d = Val(Text1. Text) ‘在Text1中輸入三角形的底g = Val(Text2. Text) ‘在Text2中輸入三角形的高s = d×g÷2 ‘計算三角形面積Text3. Text = s ‘在Text3中顯示面積值End SubA.變量沒有定義 B.語法錯誤C.運算符錯誤 D.關鍵字錯誤【答案】C【知識點】程序的調試及運行;運算符、基本運算與表達式【解析】【解答】VB中,乘號是*,除號是/。題中的乘除好用的是數學表達式中的符號。故答案選C。【分析】本題考查的是VB程序的調試及基本運算符。VB中必須使用VB認可的規范的符號。3.現有VB程序“矩形面積和.vbp”,可計算100個矩形序列的面積和,計算公式為s=1 * 2+2 * 3+…+100 * 101,該程序運行時,單擊“計算”按鈕,即顯示結果。但該程序代碼有3處錯誤,請修改。Private SubCommand1_Click()Dim i AS IntegerDim As LongFor i = 1 To 100s = s + i *(i+1)Nest iText1. Caption= sEnd Sub(1)修改“Dim As Long”行中的錯誤;(2)修改“Nest i”行中的錯誤;(3)修改“Text1. Caption=s”行中的錯誤;【答案】(1)改成“Dim s As Long”(2)改成“Next i”;(3)改成“Text1. Text=s”;【知識點】程序的調試及運行;循環結構語句及程序實現4.在下圖所示的VB“代碼窗口”中,“對象”“過程”列表分別是( ?。?br/>A.①② B.①③ C.③④ D.②③【答案】A【知識點】程序設計工具及編程環境【解析】【解答】①是對象列表, ②是過程列表,③是運算符,④是滾動條。故答案選A。【分析】本題考查的是對VB代碼窗口的認識。5.以下程序中的循環體執行的次數是( ?。?br/>For A=1 To 200 Step 4S=S+A:Next APrint SA.48 B.49 C.50 D.51【答案】C【知識點】循環結構語句及程序實現【解析】【解答】根據語句A=1 To 200 Step 4可知,循環體執行了200/4=50次。故答案選C。【分析】本題考查的是循環結構。for語句通過遍歷序列中的元素實現循環,并通過序列的元素數量來控制循環次數,即循環過程中,序列中的每個元素都會依次被賦值給變量,并分別執行一次循環體。6.張文同學使用VB編寫了一個程序用來求半徑為r(通過Text1輸入)的圓面積(π取值3.14),該程序如下。請幫助他修改程序中的錯誤。Private Sub Command1_ Click( )Dim pi As SingleConst pi=3. 14Text2.Text=2 pi*Text1.TextText3.Text=pi*Text2.Text*Text2.TextEnd Sub①刪除程序中多余的語句; ②修改語句“Text2.Text=2 pi*Text1.Text”行中的錯誤; ③修改語句“Text3.Text=pi*Text2.Text*Text2.Text”行中的錯誤; ④使用常用工具欄中的“保存工程”按鈕保存文件。【答案】將語句“Dim pi As single”刪除;“Text2.Text= 2*pi*Text1.Text”;改成“Text3.Text=pi*Text1.Text*Text1.Text”【知識點】程序的調試及運行7.小張同學在學習了選修教材《算法與程序設計》后,準備小試牛刀一下,就編了“判斷一個數能否被7整除”的小程序,其中有三處錯誤,請幫助他修改。Private Sub Command1_ Click()Dim i As IntegerDim As Stringi= Text1.TextIf i/7=0 Then '判斷文本框中輸入的數是否是7的倍數j=i &“是7的倍數,能被7整除!” '是7的倍數,輸出能被7整除!Elsej=i&"不是7的倍數,不能被7整除!" '不是7的倍數,就輸出不是7的倍數,不能被7整除!!EndIfLabel3.Caption=jEnd Sub(1)修改語句“Dim As String”行中的錯誤;(2)修改語句“If i/7=0 Then”行中的錯誤;(3)修改語句“End”行中的錯誤。【答案】(1)改成“Dim j As String”(2)改成“If Text1. Text mod 7=0 Then”(3)改成“End If”【知識點】程序的調試及運行8.張羽用VB編寫了一個程序,保存在計算機中根據圖標判斷,下面4個文件中,其中為張羽編寫的工程文件是( )。A. 算法的特征.htm B. 斐波那契數列問題.vbpC. Visua Basic精簡版.exe D. VB精編程技巧.wmv【答案】B【知識點】窗體文件、工程文件及其擴展名【解析】【解答】VB工程文件的擴展名是vbp。故答案選B。【分析】本題考查的是文件擴展名。htm是網頁擴展名,exe是可執行程序,wmv是視頻文件。9.下圖是王明同學編寫的一段VB代碼,運行后A和B的值分別是( ?。?。Dim A, B As IntegerA=5B=6B=A+BA=A*BPrint A,BA.30 11 B.55 11 C.55 66 D.11 55【答案】B【知識點】順序結構及程序實現【解析】【解答】初始值:A=5,B=6。執行B=A+B=11,A=A*B=55。所以輸出A、B的結果為55、11。故答案選B。【分析】本題考查的是順序結構程序的運行。順序結構:事物的發展通常按照一定的順序進行。10.在 Visual basic中,要將字符串變量a和b的值連接并將結果在文本框Text1中輸出,下列代碼合適的是( ?。?。A.Str(a+b)=Text1. Text B.Text. Text=a+bC.a+b= Text1. Text D.Text1. Text=a+b【答案】D【知識點】常量、變量及變量的賦值11.下面程序執行結束,文本框Text1中顯示( )Private Sub Form_Click()a = "123": b = "456"c = Val(a) + Val(b)Text1.Text=str(c\100)End SubA.123 B.3 C.5 D.579【答案】C【知識點】程序的調試及運行;常量、變量及變量的賦值【解析】【解答】a=“456”是將字符串型數據“456”賦值給a,b=“456”將字符串型數據“456”賦值給b,c=val(a)+val(b)是分別把a和b的值轉換為數值型,然后相加,此時c=579,Text1.Text=str(c\100)是將c整除100后,轉換為字符類型賦值給Text1.Text,因此,文本框 Text1 中顯示5。故答案選C。【分析】本題主要考查VB程序的運行。12.(2018高二上·諸暨期中)某編碼由4個信息位和3個校驗位組成,通過對編碼信息進行驗算,能夠檢測并糾正一位錯誤代碼。該7位編碼中b1~b4為信息位,p1~p3為校驗位,位置如下:編碼中位 1 2 3 4 5 6 7對位信息 p1 p2 b1 p3 b2 b3 b4校驗的方式如下,求校驗值g1、g2、g3:g1 = p1 Xor b1 Xor b2 Xor b4g2 = p2 Xor b1 Xor b3 Xor b4g3 = p3 Xor b2 Xor b3 Xor b4其中Xor 為異或運算,規則是:0 Xor 0 =0,0 Xor 1 =1,1 Xor 0 =1,1 Xor 1 =0,p1 Xor b1 是將p1、b1 轉換為二進制后按位進行異或運算,如7 Xor 12 的結果為11。⑴若計算得到的校驗值g1、g2、g3均為0,說明校驗正確,數據無錯誤。例如:若7位編碼為1101001,計算校驗值g1、g2、g3值均為0,驗證正確。⑵若校驗值g1、g2、g3不全為0,說明數據有錯,出錯位置為g3g2g1(二進制數表示),糾錯的方法是對錯誤的位進行取反,即“0”變“1”,“1”變“0”。例如:若7位編碼為1111001,計算校驗值g1=1、g2=1、g3=0,不全為0,說明數據有錯,錯誤位置在011(二進制數)位,即第3位,原位置上“1”應為“0”,正確編碼為1101001。小明為此編寫了VB程序,程序運行時,在文本框Text1中輸入編碼值,單擊“校驗”按鈕Command1后,在文本框Text2中輸出運行結果,如圖所示。實現上述功能的VB程序如下,請回答下列問題:(1)若按上述規則的7位編碼為1001000,其中一位有錯,則正確的編碼應為 。(2)請在劃線處填入合適的代碼。Function check(s As String) As IntegerDim i As Integer g1 As Integer, g2 As Integer, g3 As IntegerDim c(1 To 7) As IntegerFor i = 1 To 7c(i) = Val(Mid(s, i, 1))Next ig1 = c(1) Xor c(3) Xor c(5) Xor c(7)g2 = c(2) Xor c(3) Xor c(6) Xor c(7)g3 = c(4) Xor c(5) Xor c(6) Xor c(7)If g1 + g2 + g3 = 0 Then check = 0 Else check = End FunctionPrivate Sub Command1_Click()Dim i As Integer, m As Integer, Outs As Stringm = If m = 0 ThenText2.Text = "驗證正確,數據無錯誤"ElseFor i = 1 To 7If i = m ThenOuts = Outs + Chr( Asc(Mid(Text1.Text, i, 1)) Xor )ElseOuts = Outs + Mid(Text1.Text, i, 1)End IfNext iText2.Text = "第" + Str(m) + "位上數據有錯誤,正確編碼應為:" + OutsEnd IfEnd Sub【答案】(1)1001100(2)g3 * 4 + g2 * 2 + g1;check(Text1.Text);1【知識點】程序的調試及運行;運算符、基本運算與表達式;常量、變量及變量的賦值【解析】【解答】(1)根據上述規則,分別求校驗值g1、g2、g3:g1=1 Xor 0 Xor 0 Xor 0=1,g2=0 Xor 0 Xor 0 Xor 0=0,g3=1 Xor 0 Xor 0 Xor 0=1,校驗值g1、g2、g3不全為0,說明數據有錯,出錯位置為101,即第3位,將第3位取反后的編碼為1001100。故答案為:1001100。(2)1處語句是計算數據出錯的位置,g3的權值是2 ,g2的權值是2 ,g3的權值是2 ,所以check=g3 * 4 + g2 * 2 + g1;2處語句是調用自定義函數check,該函數的參數是Text1中輸入的文本,所以該處語句是check(Text1.Text);3處語句是通過異或運算將出錯位置的二進制數進行取反,當某二進制數異或1時,恰好將該數取反,所以該處應為1。故答案為:g3 * 4 + g2 * 2 + g1 ;check(Text1.Text);1。【分析】本題考查算法與程序設計的綜合應用能力,分析問題解決問題的能力和根據題意填寫程序代碼的應用能力。1 / 1 展開更多...... 收起↑ 資源列表 高中信息技術綜合庫——算法軟件操作(學生版).docx 高中信息技術綜合庫——算法軟件操作(教師版).docx 縮略圖、資源來源于二一教育資源庫