資源簡介 浙江省臺州市黃巖第二高級中學2019-2020學年高二下學期信息技術返校考試試卷一、選擇題(本大題共12小題,每小題2分,共24分。每小題列出四個備選項中只有一個符合題目要求的,不選,多選錯選均不得分)1.(2020高二下·臺州開學考)在VisualBasic中,能表示整數x是完全平方數(如=3*3,9是完全平方數)的表達式是( ?。?br/>A.x^2=x*x B.sqr(x)=x\2C.int(sqr(x))^2=x D.(x\2)^2=x32.(2020高二下·臺州開學考)下列程序執行后文本框Text1顯示的內容是( ?。?br/>x= "abcdcba": ans = 0For i= 1 To Len(x) \2.If Mid(x, i, 1) = Mid(x, Len(x)-i+ 1, 1) Then ans = ans+ 1Next iText1.Text = Str(ans)A.1 B.2 C.3 D.43.(2020高二下·臺州開學考)有如下程序:Private Sub Command1_Click()Dim a(5) as IntegerDim n as Integer, i as Integern=Val(Text1.Text)i=0a(1)=1: a(2)=1For i=3 To na(i)=a(i-1)+a(i-2)Next iLabel1.Caption=a(i)End Sub若在Text1中輸入5,則點擊按鈕后的運行結果為( ?。?br/>A.Label11中輸出5 B.Label1中輸出10C.報“下標越界”錯誤 D.Label11中無內容4.(2020高二下·臺州開學考)有如下VB程序段:Fori=1 To 3For j=6 To i+1 Step-1If a(j) > a(j-1) Thenk=a(j): a(j)=a(j-1): a(j-1)=kEnd IfNext js=s+“"”+str(a(i))Next iText1. Text=str(s)數組元素從a(1)到a(6)的數據依次為“3、7、25、8、9”,經過該程序“加工”后,文本框Text1中顯示的是( ?。?br/>A.2 3 5 B.9 8 7 C.3 7 2 D.7 3 25.(2020高二下·臺州開學考)某算法的部分流程圖如下圖所示,執行這部分流程后,輸出c,s的值分別是( )A.8,10 B.10,14 C.12,6 D.12,246.(2020高二下·臺州開學考)有如下VisualBasic自定義函數:Function f(x As Integer) As Singlef=Abs(x)End Function該函數返回值的數據類型是( ?。?br/>A.整數型 B.日期型C.邏輯型 D.單精度實數型7.(2020高二下·臺州開學考)下列VB表達式中,不是字符串的是( ?。?br/>A.Chr((Rnd*26)+65) B.Len("中國2019")C.Mid("r12b",2,2) D.(n+1) Mod 5&68.有VB編寫的程序如下:Dim a(0 To 9) As Integer, t as Longt=Val(Text1.Text)Do While t<>0a(t Mod 10) = 1t = t \ 10LoopFor i = 0 To 9x = x + a(i)Next iText1中輸入10242048,則程序執行后x的值為( ?。?br/>A.1 B.2 C.5 D.109.(2020高二下·臺州開學考)下列程序執行后文本框Text1顯示的內容是( ?。?br/>Dimx As String, y As String, ans As Integerx="12": y="100"if x> Then ans=Val(x) Else ans=val(y)Text1.Text Str(ans)A.12200 B.12112 C.124 D.2121010.(2020高二下·臺州開學考)某排序算法的VB程序段如下:For i=1 To 4k=iFor j=5 To i+1 Step-1If a(j)Next jIf k<> i Thentmp=a(k) : a(k)=a(i) : a(i)=tmpf(i)=TrueEnd IfNext i當數組元素a(1)到a(5)的值依次為“8,2,1,21,3”數組f的初值均為 False,執行該程序段,f數組中元素值為True的個數有( ?。?br/>A.1個 B.2個 C.3個 D.4個11.有一段VB程序,代碼如下:For i=1 To 3For j=8 To i+1 Step-1If a(j) < a(i) Thent=a(j): a(j)=a(i): a(i)=tEnd IfNext jNext i數組元素a(1)到a(8)的值依次為“35, 18, 14, 20, 30, 15, 28, 26”,運行該程序段后,a(5)到a(8)的值依次是( )A.30,26,28,35 B.14,15,18,20 C.26,15,18,14 D.26,28,30,3512.(2020高二下·臺州開學考)某對分查找算法的VB程序段如下:t="": i=0: j=9: key=62: f=FalseDo While i <=j And Not fm=Fix((i+j)/2)t=t+Str(m)If a(m)= key Thenf=TrueElseIf a(m)>key Theni=m+1t=t+"→"Elsej=m-1t=t+"←"End IfLoop數組元素a(0)到a(9)的值依次為“99,94,90,87,78,70,63,56,45,36”執行該程序段的值是( ?。?br/>A."4→7←5→" B."4→7←5→6→"C."4→7←5→6" D."4→7←-5"二、非選擇(本大題共3小題,4+11+11)13.(2020高二下·臺州開學考)編寫VB程序實現如下功能程序運行時產生n個數據并按升序排序顯示在列表框List1中,在文本框Text1中輸入一個正整數key,單擊“查找”按鈕 Command1,則在標簽Label2中顯示查找結果。程序界面如圖所示。實現上述功能的VB程序如下,但加框處代碼有錯誤,請改正。Const n=10Dim d(1 To n)As IntegerPrivate Sub Form Load()′隨機產生n整數并存儲在數組d中,并把數組d按升序排序′在列表框中顯示排序后的數據,代碼略End SubPrivate Sub Command1_Click()Dim key As Integer, p As Integerkey =Val(Text1.Text)‘①If p<>0 ThenLabel2. Caption="該數據在第"+Str(p)+"個位置"ElseLabel2. Caption="沒有找到! "End IfEnd SubFunction search(key As Integer) As Integeri=1: j=nDo While i<= jm=(i+j)\2If d(m)=key Thensearch =mExit FunctionElseIf keyj=m-1Elsei=m+1End IfLoop‘②End Function14.(2020高二下·臺州開學考)逆序數在一個排列中,如果一對數的前后位置與大小順序相反,即前面的數大于后面的數,那么它們就稱為一個逆序。一個排列中逆序的總數就稱為這個排列的逆序數。逆序數為偶數的排列稱為偶排列;逆序數為奇數的排列稱為奇排列。例如序列2431,逆序依次為(2,1),(4,3),(4,1),(3,1),因此該序列的逆序數為4,為偶排列。編寫VB程序,功能如下:程序運行時,在文本框Text1中輸入序列,單擊“計算”按鈕Command11,在文本框Text2中輸出逆序數,并在 Label3中輸出判斷結果(偶排列或者奇排列)。程序運行界面如圖所示。(1)如果序列為“5872469”,則逆序數為 。(2)實現上述功能的VB程序如下,完善填空。Function NiXuShu(s As String) As Integer '逆序數計算Dim i As Integer, j As Integer, c As Integer , n(1 To 100) As Integerc=0For i= 1 To Len(s)n(i) =Val(Mid(s, i, 1))For j=1 To i- 1if Thenc=c+ 1End IfNext jNext i End FunctionPrivate Sub Command1_ Click()Dim x As String, y As Integerx = Text1.Text Text2.Text = Str(y)If y Mod 2= 0 Then Label3.Caption = "偶排列" Else Label3.Caption = "奇排列"End Sub15.(2020高二下·臺州開學考)編寫“二進制加法”程序。程序運行時,在文本框Text1和文本框Text2分別輸入兩個二進制數,單擊按鈕 Command11后在文本框Text3上輸出兩個二進制相加后的結果。程序運行如圖所示。(1)觀察代碼觸發代碼執行的事件名是 。(2)為實現上述功能,請在劃線處填入合適的代碼。Private Sub Command1_Click()Dim b1 As String, b2 As String, ans As String, t As StringDim dist As Integer, jw As Integerb1=Text1.Text: b2 Text2.Text: ans="" If dist <0 Thent=b1: b1=b2: b2=t: dist=-distEnd IfFor i=1 To distb2="0"+b2Next ijw=0For i= Len(b1)To 1 Step-1x= Val(Mid(b1, i, 1))+ Val(Mid(b2, i, 1))+jw ans Str(x Mod 2)+ansNext iIf Then ans ="1"+ ansText3.Text=ansEnd Sub答案解析部分1.【答案】C【知識點】運算符、基本運算與表達式2.【答案】C【知識點】運算符、基本運算與表達式;常量、變量及變量的賦值3.【答案】C【知識點】程序的調試及運行;常量、變量及變量的賦值4.【答案】B【知識點】常見數據類型、數組;分支結構語句及程序實現;循環結構語句及程序實現5.【答案】B【知識點】常量、變量及變量的賦值;流程圖識讀6.【答案】D【知識點】常見數據類型、數組;過程與自定義函數7.【答案】B【知識點】運算符、基本運算與表達式8.【答案】C【知識點】常見數據類型、數組;常量、變量及變量的賦值【解析】【解答】本題先執行一個Do While循環,然后執行一個For循環,Do While循環的作用是把t從個位開始逐個取出來,作為數組a的位置,并且令這個位置的值為1,例如個位數是8,則a(8)=1,這里注意到如果這個位置出現多次,那么數組a中這個位置的值還是1,例如2出現了兩次,那么a(2)=1被執行了兩次。For循環就是把數組a中的值加起來存儲到x,由于數組a中只有0,1,2,4,8這幾個位置的值是1,所以x=5。故答案選C。【分析】本題考查的是VB中循環語句的執行及數組與表達式的計算。9.【答案】B【知識點】程序的調試及運行;常量、變量及變量的賦值10.【答案】C【知識點】常量、變量及變量的賦值;排序算法及程序實現11.【答案】A【知識點】排序算法及程序實現【解析】【解答】程序進行了三趟排序。第 i 趟排序,即從后往前逐個與 a(i)進行比較,如果比 a(i)小,數據交換。經過第一趟排序后數組 a 中的元素值依次為:14,18,15,20,30,26,28,35;第二趟排序后數組 a 中的元素值依次為:14,15,18,20,30,26,28,35;第三趟排序數據不變。所以a(5)到a(8)的值依次是30,26,28,35 。故答案選A。【分析】本題考查冒泡排序的程序實現。冒泡排序算法的運作過程為:從后往前比較相鄰的元素,如果前一個比后一個大,就交換它們兩個的位置。對每一個相鄰元素作同樣的工作,直至從結尾的最后一個到開始的第一個,此時最小的元素排在第一個,針對所有的元素重復以上的步驟,除了最后一個,持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。12.【答案】B【知識點】常量、變量及變量的賦值;查找算法及程序實現13.【答案】①p=search(key) ②search=0【知識點】常量、變量及變量的賦值;過程與自定義函數;排序算法及程序實現14.【答案】(1)9(2)n(j)>n(i);nixushu=c;y=nixushu(x)【知識點】常量、變量及變量的賦值;過程與自定義函數15.【答案】(1)Click(2)dist=len(b1)-len(b2);jw=x\2;jw=1【知識點】類、對象、屬性、方法、事件和事件處理的概念及應用;運算符、基本運算與表達式;常量、變量及變量的賦值1 / 1浙江省臺州市黃巖第二高級中學2019-2020學年高二下學期信息技術返??荚囋嚲?br/>一、選擇題(本大題共12小題,每小題2分,共24分。每小題列出四個備選項中只有一個符合題目要求的,不選,多選錯選均不得分)1.(2020高二下·臺州開學考)在VisualBasic中,能表示整數x是完全平方數(如=3*3,9是完全平方數)的表達式是( ?。?br/>A.x^2=x*x B.sqr(x)=x\2C.int(sqr(x))^2=x D.(x\2)^2=x3【答案】C【知識點】運算符、基本運算與表達式2.(2020高二下·臺州開學考)下列程序執行后文本框Text1顯示的內容是( ?。?br/>x= "abcdcba": ans = 0For i= 1 To Len(x) \2.If Mid(x, i, 1) = Mid(x, Len(x)-i+ 1, 1) Then ans = ans+ 1Next iText1.Text = Str(ans)A.1 B.2 C.3 D.4【答案】C【知識點】運算符、基本運算與表達式;常量、變量及變量的賦值3.(2020高二下·臺州開學考)有如下程序:Private Sub Command1_Click()Dim a(5) as IntegerDim n as Integer, i as Integern=Val(Text1.Text)i=0a(1)=1: a(2)=1For i=3 To na(i)=a(i-1)+a(i-2)Next iLabel1.Caption=a(i)End Sub若在Text1中輸入5,則點擊按鈕后的運行結果為( ?。?br/>A.Label11中輸出5 B.Label1中輸出10C.報“下標越界”錯誤 D.Label11中無內容【答案】C【知識點】程序的調試及運行;常量、變量及變量的賦值4.(2020高二下·臺州開學考)有如下VB程序段:Fori=1 To 3For j=6 To i+1 Step-1If a(j) > a(j-1) Thenk=a(j): a(j)=a(j-1): a(j-1)=kEnd IfNext js=s+“"”+str(a(i))Next iText1. Text=str(s)數組元素從a(1)到a(6)的數據依次為“3、7、25、8、9”,經過該程序“加工”后,文本框Text1中顯示的是( )A.2 3 5 B.9 8 7 C.3 7 2 D.7 3 2【答案】B【知識點】常見數據類型、數組;分支結構語句及程序實現;循環結構語句及程序實現5.(2020高二下·臺州開學考)某算法的部分流程圖如下圖所示,執行這部分流程后,輸出c,s的值分別是( ?。?br/>A.8,10 B.10,14 C.12,6 D.12,24【答案】B【知識點】常量、變量及變量的賦值;流程圖識讀6.(2020高二下·臺州開學考)有如下VisualBasic自定義函數:Function f(x As Integer) As Singlef=Abs(x)End Function該函數返回值的數據類型是( )A.整數型 B.日期型C.邏輯型 D.單精度實數型【答案】D【知識點】常見數據類型、數組;過程與自定義函數7.(2020高二下·臺州開學考)下列VB表達式中,不是字符串的是( )A.Chr((Rnd*26)+65) B.Len("中國2019")C.Mid("r12b",2,2) D.(n+1) Mod 5&6【答案】B【知識點】運算符、基本運算與表達式8.有VB編寫的程序如下:Dim a(0 To 9) As Integer, t as Longt=Val(Text1.Text)Do While t<>0a(t Mod 10) = 1t = t \ 10LoopFor i = 0 To 9x = x + a(i)Next iText1中輸入10242048,則程序執行后x的值為( )A.1 B.2 C.5 D.10【答案】C【知識點】常見數據類型、數組;常量、變量及變量的賦值【解析】【解答】本題先執行一個Do While循環,然后執行一個For循環,Do While循環的作用是把t從個位開始逐個取出來,作為數組a的位置,并且令這個位置的值為1,例如個位數是8,則a(8)=1,這里注意到如果這個位置出現多次,那么數組a中這個位置的值還是1,例如2出現了兩次,那么a(2)=1被執行了兩次。For循環就是把數組a中的值加起來存儲到x,由于數組a中只有0,1,2,4,8這幾個位置的值是1,所以x=5。故答案選C。【分析】本題考查的是VB中循環語句的執行及數組與表達式的計算。9.(2020高二下·臺州開學考)下列程序執行后文本框Text1顯示的內容是( )Dimx As String, y As String, ans As Integerx="12": y="100"if x> Then ans=Val(x) Else ans=val(y)Text1.Text Str(ans)A.12200 B.12112 C.124 D.21210【答案】B【知識點】程序的調試及運行;常量、變量及變量的賦值10.(2020高二下·臺州開學考)某排序算法的VB程序段如下:For i=1 To 4k=iFor j=5 To i+1 Step-1If a(j)Next jIf k<> i Thentmp=a(k) : a(k)=a(i) : a(i)=tmpf(i)=TrueEnd IfNext i當數組元素a(1)到a(5)的值依次為“8,2,1,21,3”數組f的初值均為 False,執行該程序段,f數組中元素值為True的個數有( ?。?br/>A.1個 B.2個 C.3個 D.4個【答案】C【知識點】常量、變量及變量的賦值;排序算法及程序實現11.有一段VB程序,代碼如下:For i=1 To 3For j=8 To i+1 Step-1If a(j) < a(i) Thent=a(j): a(j)=a(i): a(i)=tEnd IfNext jNext i數組元素a(1)到a(8)的值依次為“35, 18, 14, 20, 30, 15, 28, 26”,運行該程序段后,a(5)到a(8)的值依次是( ?。?br/>A.30,26,28,35 B.14,15,18,20 C.26,15,18,14 D.26,28,30,35【答案】A【知識點】排序算法及程序實現【解析】【解答】程序進行了三趟排序。第 i 趟排序,即從后往前逐個與 a(i)進行比較,如果比 a(i)小,數據交換。經過第一趟排序后數組 a 中的元素值依次為:14,18,15,20,30,26,28,35;第二趟排序后數組 a 中的元素值依次為:14,15,18,20,30,26,28,35;第三趟排序數據不變。所以a(5)到a(8)的值依次是30,26,28,35 。故答案選A。【分析】本題考查冒泡排序的程序實現。冒泡排序算法的運作過程為:從后往前比較相鄰的元素,如果前一個比后一個大,就交換它們兩個的位置。對每一個相鄰元素作同樣的工作,直至從結尾的最后一個到開始的第一個,此時最小的元素排在第一個,針對所有的元素重復以上的步驟,除了最后一個,持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。12.(2020高二下·臺州開學考)某對分查找算法的VB程序段如下:t="": i=0: j=9: key=62: f=FalseDo While i <=j And Not fm=Fix((i+j)/2)t=t+Str(m)If a(m)= key Thenf=TrueElseIf a(m)>key Theni=m+1t=t+"→"Elsej=m-1t=t+"←"End IfLoop數組元素a(0)到a(9)的值依次為“99,94,90,87,78,70,63,56,45,36”執行該程序段的值是( ?。?br/>A."4→7←5→" B."4→7←5→6→"C."4→7←5→6" D."4→7←-5"【答案】B【知識點】常量、變量及變量的賦值;查找算法及程序實現二、非選擇(本大題共3小題,4+11+11)13.(2020高二下·臺州開學考)編寫VB程序實現如下功能程序運行時產生n個數據并按升序排序顯示在列表框List1中,在文本框Text1中輸入一個正整數key,單擊“查找”按鈕 Command1,則在標簽Label2中顯示查找結果。程序界面如圖所示。實現上述功能的VB程序如下,但加框處代碼有錯誤,請改正。Const n=10Dim d(1 To n)As IntegerPrivate Sub Form Load()′隨機產生n整數并存儲在數組d中,并把數組d按升序排序′在列表框中顯示排序后的數據,代碼略End SubPrivate Sub Command1_Click()Dim key As Integer, p As Integerkey =Val(Text1.Text)‘①If p<>0 ThenLabel2. Caption="該數據在第"+Str(p)+"個位置"ElseLabel2. Caption="沒有找到! "End IfEnd SubFunction search(key As Integer) As Integeri=1: j=nDo While i<= jm=(i+j)\2If d(m)=key Thensearch =mExit FunctionElseIf keyj=m-1Elsei=m+1End IfLoop‘②End Function【答案】①p=search(key) ②search=0【知識點】常量、變量及變量的賦值;過程與自定義函數;排序算法及程序實現14.(2020高二下·臺州開學考)逆序數在一個排列中,如果一對數的前后位置與大小順序相反,即前面的數大于后面的數,那么它們就稱為一個逆序。一個排列中逆序的總數就稱為這個排列的逆序數。逆序數為偶數的排列稱為偶排列;逆序數為奇數的排列稱為奇排列。例如序列2431,逆序依次為(2,1),(4,3),(4,1),(3,1),因此該序列的逆序數為4,為偶排列。編寫VB程序,功能如下:程序運行時,在文本框Text1中輸入序列,單擊“計算”按鈕Command11,在文本框Text2中輸出逆序數,并在 Label3中輸出判斷結果(偶排列或者奇排列)。程序運行界面如圖所示。(1)如果序列為“5872469”,則逆序數為 。(2)實現上述功能的VB程序如下,完善填空。Function NiXuShu(s As String) As Integer '逆序數計算Dim i As Integer, j As Integer, c As Integer , n(1 To 100) As Integerc=0For i= 1 To Len(s)n(i) =Val(Mid(s, i, 1))For j=1 To i- 1if Thenc=c+ 1End IfNext jNext i End FunctionPrivate Sub Command1_ Click()Dim x As String, y As Integerx = Text1.Text Text2.Text = Str(y)If y Mod 2= 0 Then Label3.Caption = "偶排列" Else Label3.Caption = "奇排列"End Sub【答案】(1)9(2)n(j)>n(i);nixushu=c;y=nixushu(x)【知識點】常量、變量及變量的賦值;過程與自定義函數15.(2020高二下·臺州開學考)編寫“二進制加法”程序。程序運行時,在文本框Text1和文本框Text2分別輸入兩個二進制數,單擊按鈕 Command11后在文本框Text3上輸出兩個二進制相加后的結果。程序運行如圖所示。(1)觀察代碼觸發代碼執行的事件名是 。(2)為實現上述功能,請在劃線處填入合適的代碼。Private Sub Command1_Click()Dim b1 As String, b2 As String, ans As String, t As StringDim dist As Integer, jw As Integerb1=Text1.Text: b2 Text2.Text: ans="" If dist <0 Thent=b1: b1=b2: b2=t: dist=-distEnd IfFor i=1 To distb2="0"+b2Next ijw=0For i= Len(b1)To 1 Step-1x= Val(Mid(b1, i, 1))+ Val(Mid(b2, i, 1))+jw ans Str(x Mod 2)+ansNext iIf Then ans ="1"+ ansText3.Text=ansEnd Sub【答案】(1)Click(2)dist=len(b1)-len(b2);jw=x\2;jw=1【知識點】類、對象、屬性、方法、事件和事件處理的概念及應用;運算符、基本運算與表達式;常量、變量及變量的賦值1 / 1 展開更多...... 收起↑ 資源列表 浙江省臺州市黃巖第二高級中學2019-2020學年高二下學期信息技術返??荚囋嚲?學生版).docx 浙江省臺州市黃巖第二高級中學2019-2020學年高二下學期信息技術返??荚囋嚲?教師版).docx 縮略圖、資源來源于二一教育資源庫