資源簡介 浙江省桐廬分水高級中學2019-2020學年高三上學期信息技術第一次月考試卷一、選擇題(本大題共12小題,每小題3分,共36分。每小題列出的四個備選項中只有一個是符合題目要求的。)1.(2019高三上·浙江月考)某書店在5所學校流動售書量(單位:本)分別是82、113、46、69、35。采用冒泡排序對其進行排序,若完成第一遍時的結果是35、82、113、46、69,則完成第二遍時的結果是( )A. 35、82、113、46、69 B. 35、46、82、69、113C. 35、46、82、113、69 D. 35、46、69、82、113【答案】C【知識點】排序算法及程序實現2.(2019高三上·浙江月考)將數據3、6、9、5、8、1進行一趟冒泡排序后得到的數據剛好是小楊的銀行卡密碼,那么小楊的銀行卡密碼可能是( )A. 136958 B. 369581 C. 135698 D. 316958【答案】A【知識點】排序算法及程序實現3.(2019高三上·浙江月考)某書店在5所學校流動售書量(單位:本)分別是82、113、46、69、35。采用選擇排序對其進行排序,若完成第一遍時的結果是82、113、46、69、35,則完成第二遍時的結果是( )A. 35、82、113、46、69 B. 113、82、46、69、35C. 35、46、82、113、69 D. 82、113、69、46、35【答案】D【知識點】排序算法及程序實現4.(2019高三上·浙江月考)超市面食區共有5種面食品種,其價格依次為6、4、5、2、3,若采用選擇排序算法對其進行從小到大排序,則第二遍的排序結果是( )A. 2、3、5、6、4 B. 2、4、5、6、3C. 2、3、6、4、5 D. 2、6、4、5、3【答案】A【知識點】排序算法及程序實現5.(2019高三上·浙江月考)冒泡排序在某一遍加工過程中沒有數據交換時,說明數據已經有序,優化程序段如下:i = 1: flag = TrueDo While i < = 4 And flag = Trueflag=FalseFor j = 6 To i + 1 Step -1If a(j) > a(j - 1) Thent = a(j): a(j)=a(j-1): a(j-1) = tflag = TrueEnd IfNext ji = i + 1Loop數組元素a(1)到a(6)的值依次為48,36,24,97,77,23,經過該程序段加工后,變量i的值是( )A.1 B.3 C.5 D.4【答案】D【知識點】常量、變量及變量的賦值;排序算法及程序實現6.(2019高三上·浙江月考)有如下VB程序段:For i=1 To 9For j=10 To i+2 Step-1If a(j)t=a(j): a(j)=a(j-2): a(j-2)=tEnd IfNext jNext i數組元素a(1)到a(10)的值依次為“3,17,2,14,15,6,7,18,9,4”,執行該程序段后,數組元素a(8)中的值為( )A. 3 B. 4 C. 15 D. 17【答案】D【知識點】常見數據類型、數組;常量、變量及變量的賦值7.(2019高三上·浙江月考)某VB 程序段如下:i = 1: s = ""Do While i <= 3k = i : j = i + 1Do While j <= 8If a(j) < a(k) Then k = jj = j + 1LoopIf i <> k Thent = a(i): a(i) = a(k): a(k) = tn = n + 1End Ifs = s + Str(a(i)) : i = i + 1LoopLabel1.Caption = Str(n) + ":" + s數組a(1)到a(8)依次為:16,19,8,20,4,12,6,15,程序運行后,標簽中顯示的值為( )A. 2:4 6 8 B. 2:8 6 4 C. 3:4 6 8 D. 3:8 6 4【答案】A【知識點】常見數據類型、數組;常量、變量及變量的賦值8.有如下VB程序段:s=“7218634594” : n=Len(s): c=0For i=1 To n-1a(i)=Val(Mid(s, i, 2))Next iFor i=1 To n-2 Step 2k=iFor j=i+2 To n-1 Step 2If a(j) < a(k) Then k=jNext jIf k <> i Thent=a(i): a(i)=a(k): a(k)=t: c=c+1End IfNext iText1.Text=Str(c)該程序段運行后,Text1中顯示的內容是( )A.1 B.2 C.3 D.4【答案】B【知識點】排序算法及程序實現【解析】【解答】分析本題程序段運行過程:首先獲取a數組的各元素為72,21,18,86,63,34,45,59,94,然后從外層For i=1 To n-2 Step 2看出,僅對奇數位上的數據排序。變量c統計排序過程中數據交換的次數。第一趟排序,數據“72”與“18”交換,第二趟排序,數據“72”與“45”交換。而后奇數位上的數據已有序。所以該程序段運行后,Text1中顯示的內容是2。故答案選B。【分析】本題考查選擇排序算法對數據加工的過程。選擇排序運作過程:在參加排序的數組的所有元素中找到最小(或最大)的元素,使它與第一個元素交換位置,然后在余下的元素中重復以上動作,直到所有元素排序完畢。9.(2019高三上·浙江月考)某對分査找算法的VB程序段如下:i = 1: j = 7: s = ""key = Int(Rnd * 100)Do While i <= jm = (i + j) \ 2If key = a(m) Thens = s + "M": Exit Do 'Exit Do 表示退出循環ElseIf key < a(m) Thenj = m - 1: s = s + "L"Elsei = m + 1: s = s + "R"End IfLoopText1.Text = s數組元素a(1)到a(9)的值依次為“24,35,38,41,45,69,78”。若該程序段執行后,文本框Text1中顯示的內容可能是( )A. RL B. LMR C. RLR D. LRLM【答案】C【知識點】常量、變量及變量的賦值;查找算法及程序實現10.(2019高三上·浙江月考)有如下VB程序段(數組a各元素的初始值均為0)。n = Len(Text1. Text)c = 1For i = 1 To ns = Mid(Text1. Text, i, 1)If s > = "0" And s < = "9" Thena(c)= a(c)* 10 + Val(s)ElseIf a(c)> 0 Then c = c+1End IfNext i在文本框Text中輸入“No1:X:123:Y:680:End”。執行該程序段后,數組a(2)的值為( )A. 1 B. 2 C. 3 D. 123【答案】D【知識點】常量、變量及變量的賦值;分支結構語句及程序實現;循環結構語句及程序實現11.有如下VB程序段:a(1)=1:a(2)=1b(1)=1:b(2)=2For i=3 To 5a(i)=a(i-1)+a(i-2)b(i)=b(i-1)+a(i)Next i執行該程序段后,數組元素b(5)的值為( )A.12 B.8 C.5 D.4【答案】A【知識點】常見數據類型、數組;常量、變量及變量的賦值【解析】【解答】根據程序可知:a(3)=a(2)+a(1)=1+1=2,b(3)=b(2)+a(3)=2+2=4;a(4)=a(3)+a(2)=2+1=3,b(4)=b(3)+a(4)=4+3=7;a(5)=a(4)+a(3)=3+2=5,b(5)=b(4)+a(5)=7+5=12。故答案選A。【分析】本題考查數組的運用。12.(2019高三上·浙江月考)某個VB應用程序中使用如下代碼讀取數據庫中的信息:Dim conn As New ADODB. ConnectionDim rs As New ADODB. RecordsetDim n as IntegerPrivate Sub Form_ Load()conn. ConnectionString ="Provider= Microsoft.Ace.OLEDB.12.0; data source ="+App. Path+"\data\data. accdb"conn. Opensql="select*from student"Set rs. ActiveConnection=connrs. Open sqln=0Do while Not rs. EOFList1.AddItem rs("name")n=n+1rs. MoveNextLoopEnd Sub運行上述程序,以下說法不正確的是( )A.當前讀取的數據庫文件是Data文件夾中的data.accdb文件B.數據庫中存在一個名為student的數據表C.List1列表框中將顯示指定的數據表中所有記錄name字段的值D.窗體加載完成后,讀取的數據表中總記錄數為n-1【答案】D【知識點】程序的調試及運行;程序訪問數據庫二、非選擇題(本大題共2小題,每小題7分,共14分。)13.(2019高三上·浙江月考)在探究冒泡排序過程中數據的“移動”情況,小明編寫了一個VB程序,功能如下:在列表框List1中顯示排序前數據(存儲在數組a中),在文本框Text11中輸入初始位置(即下標值),單擊“排序”按鈕Command1后,在標鑒Label4中顯示指定初始位置的數據在排序過程中的位置變化情況,排序后的數據顯示在列表框List2中。程序運行界面如圖所示。實現上述功能的VB程序如下:Dim a(1 To 8) As IntegerDim n As IntegerPrivate Sub Form_Load()'排序前的8個數據存儲在數組a中,并在列表框List1中顯示'代碼略End SubPrivate Sub Command1_Click()Dim i As Integer, j As Integer, k As IntegerDim pos As Integer '變量pos存儲指定數據的位置(即下標值)Dim s As String '變量s存儲pos變化情況s = Text1.Textpos = Val(Text1.Text)For i = 1 To n - 1For j = n To i + 1 Step -1If a(j) < a(j - 1) Thenk = a(j - 1)a(j)=a(j-1) '(2)改錯a(j) = k'如果pos位置的數據參與交換,則更新pos值,記錄pos變化情況If pos = j Thenpos = j - 1s = s + "→" + Str(pos)ElseIf Then '填寫代碼pos = js = s + "→" + Str(pos)End IfEnd IfNext jNext iLabel4.Caption = "位置變化情況:" + sFor i = 1 To nList2.AddItem Str(a(i))Next iEnd Sub(1)要使程序運行后,窗體Form1標題立即自動顯示為“冒泡排序程序探究”,可在 (單選,填字母:A . Form_Load / B . Form_Click / mand_Click)事件過程中添加語句Form1.Caption=“冒泡排序程序探究”。(2)程序代碼中,加框處代碼有誤,請寫出正確程序 (3)程序代碼中,ElseIf Then 語句處代碼缺失,請補充正確程序 。(4)根據程序,若在Text1中輸入的初始位置為3,則Label4中顯示的內容為 。【答案】(1)A(2)a(j-1)=a(j)(3)pos = j-1(4)位置變化情況:3→4→5【知識點】常量、變量及變量的賦值;排序算法及程序實現14.(2019高三上·浙江月考)小李基于選擇排序算法編寫了一個VB程序,功能如下:在文本框Text1中顯示排序前的數據,單擊“排序”按鈕Command1,在文本框Text2中顯示剔除重復數據后的升序排序結果。程序運行界面如下圖所示。算法的思路:第i趟排序從a(i)….a(bottom)中查找最小值并記錄其下標k,同時將后面的每個元素與a(i)比較是否重復,若發現重復數據,進行剔除處理;找到最小值與a(i)交換。實現上述功能的VB程序如下,在橫線處填入合適的代碼。Const n = 10Dim a(1 To n) As IntegerPrivate Sub Command1_Click()Dim i As Integer, j As Integer, t As IntegerDim k As Integer, bottom As Integer'獲取排序前數據,依次存儲在數組 a 中,并在文本框 Text1 中顯示。代碼略bottom = n: i = 1Do While i <= bottom - 1k = i: j = bottomDo While j > iIf a(j) < a(k) Thenk = jElseIf a(j) = a(i) Then '若發現重復數據,進行剔除處理a(j) = a(bottom)If Then k = jbottom = bottom - 1End Ifj = j - 1LoopIf k <> i Thent = a(k): a(k) = a(i): a(i) = tElse EndIFLoopFor i = 1 To Text2.Text = Text2.Text + Str(a(i))Next iEnd Sub【答案】k=bottom;i=i+1;bottom【知識點】常量、變量及變量的賦值;排序算法及程序實現1 / 1浙江省桐廬分水高級中學2019-2020學年高三上學期信息技術第一次月考試卷一、選擇題(本大題共12小題,每小題3分,共36分。每小題列出的四個備選項中只有一個是符合題目要求的。)1.(2019高三上·浙江月考)某書店在5所學校流動售書量(單位:本)分別是82、113、46、69、35。采用冒泡排序對其進行排序,若完成第一遍時的結果是35、82、113、46、69,則完成第二遍時的結果是( )A. 35、82、113、46、69 B. 35、46、82、69、113C. 35、46、82、113、69 D. 35、46、69、82、1132.(2019高三上·浙江月考)將數據3、6、9、5、8、1進行一趟冒泡排序后得到的數據剛好是小楊的銀行卡密碼,那么小楊的銀行卡密碼可能是( )A. 136958 B. 369581 C. 135698 D. 3169583.(2019高三上·浙江月考)某書店在5所學校流動售書量(單位:本)分別是82、113、46、69、35。采用選擇排序對其進行排序,若完成第一遍時的結果是82、113、46、69、35,則完成第二遍時的結果是( )A. 35、82、113、46、69 B. 113、82、46、69、35C. 35、46、82、113、69 D. 82、113、69、46、354.(2019高三上·浙江月考)超市面食區共有5種面食品種,其價格依次為6、4、5、2、3,若采用選擇排序算法對其進行從小到大排序,則第二遍的排序結果是( )A. 2、3、5、6、4 B. 2、4、5、6、3C. 2、3、6、4、5 D. 2、6、4、5、35.(2019高三上·浙江月考)冒泡排序在某一遍加工過程中沒有數據交換時,說明數據已經有序,優化程序段如下:i = 1: flag = TrueDo While i < = 4 And flag = Trueflag=FalseFor j = 6 To i + 1 Step -1If a(j) > a(j - 1) Thent = a(j): a(j)=a(j-1): a(j-1) = tflag = TrueEnd IfNext ji = i + 1Loop數組元素a(1)到a(6)的值依次為48,36,24,97,77,23,經過該程序段加工后,變量i的值是( )A.1 B.3 C.5 D.46.(2019高三上·浙江月考)有如下VB程序段:For i=1 To 9For j=10 To i+2 Step-1If a(j)t=a(j): a(j)=a(j-2): a(j-2)=tEnd IfNext jNext i數組元素a(1)到a(10)的值依次為“3,17,2,14,15,6,7,18,9,4”,執行該程序段后,數組元素a(8)中的值為( )A. 3 B. 4 C. 15 D. 177.(2019高三上·浙江月考)某VB 程序段如下:i = 1: s = ""Do While i <= 3k = i : j = i + 1Do While j <= 8If a(j) < a(k) Then k = jj = j + 1LoopIf i <> k Thent = a(i): a(i) = a(k): a(k) = tn = n + 1End Ifs = s + Str(a(i)) : i = i + 1LoopLabel1.Caption = Str(n) + ":" + s數組a(1)到a(8)依次為:16,19,8,20,4,12,6,15,程序運行后,標簽中顯示的值為( )A. 2:4 6 8 B. 2:8 6 4 C. 3:4 6 8 D. 3:8 6 48.有如下VB程序段:s=“7218634594” : n=Len(s): c=0For i=1 To n-1a(i)=Val(Mid(s, i, 2))Next iFor i=1 To n-2 Step 2k=iFor j=i+2 To n-1 Step 2If a(j) < a(k) Then k=jNext jIf k <> i Thent=a(i): a(i)=a(k): a(k)=t: c=c+1End IfNext iText1.Text=Str(c)該程序段運行后,Text1中顯示的內容是( )A.1 B.2 C.3 D.49.(2019高三上·浙江月考)某對分査找算法的VB程序段如下:i = 1: j = 7: s = ""key = Int(Rnd * 100)Do While i <= jm = (i + j) \ 2If key = a(m) Thens = s + "M": Exit Do 'Exit Do 表示退出循環ElseIf key < a(m) Thenj = m - 1: s = s + "L"Elsei = m + 1: s = s + "R"End IfLoopText1.Text = s數組元素a(1)到a(9)的值依次為“24,35,38,41,45,69,78”。若該程序段執行后,文本框Text1中顯示的內容可能是( )A. RL B. LMR C. RLR D. LRLM10.(2019高三上·浙江月考)有如下VB程序段(數組a各元素的初始值均為0)。n = Len(Text1. Text)c = 1For i = 1 To ns = Mid(Text1. Text, i, 1)If s > = "0" And s < = "9" Thena(c)= a(c)* 10 + Val(s)ElseIf a(c)> 0 Then c = c+1End IfNext i在文本框Text中輸入“No1:X:123:Y:680:End”。執行該程序段后,數組a(2)的值為( )A. 1 B. 2 C. 3 D. 12311.有如下VB程序段:a(1)=1:a(2)=1b(1)=1:b(2)=2For i=3 To 5a(i)=a(i-1)+a(i-2)b(i)=b(i-1)+a(i)Next i執行該程序段后,數組元素b(5)的值為( )A.12 B.8 C.5 D.412.(2019高三上·浙江月考)某個VB應用程序中使用如下代碼讀取數據庫中的信息:Dim conn As New ADODB. ConnectionDim rs As New ADODB. RecordsetDim n as IntegerPrivate Sub Form_ Load()conn. ConnectionString ="Provider= Microsoft.Ace.OLEDB.12.0; data source ="+App. Path+"\data\data. accdb"conn. Opensql="select*from student"Set rs. ActiveConnection=connrs. Open sqln=0Do while Not rs. EOFList1.AddItem rs("name")n=n+1rs. MoveNextLoopEnd Sub運行上述程序,以下說法不正確的是( )A.當前讀取的數據庫文件是Data文件夾中的data.accdb文件B.數據庫中存在一個名為student的數據表C.List1列表框中將顯示指定的數據表中所有記錄name字段的值D.窗體加載完成后,讀取的數據表中總記錄數為n-1二、非選擇題(本大題共2小題,每小題7分,共14分。)13.(2019高三上·浙江月考)在探究冒泡排序過程中數據的“移動”情況,小明編寫了一個VB程序,功能如下:在列表框List1中顯示排序前數據(存儲在數組a中),在文本框Text11中輸入初始位置(即下標值),單擊“排序”按鈕Command1后,在標鑒Label4中顯示指定初始位置的數據在排序過程中的位置變化情況,排序后的數據顯示在列表框List2中。程序運行界面如圖所示。實現上述功能的VB程序如下:Dim a(1 To 8) As IntegerDim n As IntegerPrivate Sub Form_Load()'排序前的8個數據存儲在數組a中,并在列表框List1中顯示'代碼略End SubPrivate Sub Command1_Click()Dim i As Integer, j As Integer, k As IntegerDim pos As Integer '變量pos存儲指定數據的位置(即下標值)Dim s As String '變量s存儲pos變化情況s = Text1.Textpos = Val(Text1.Text)For i = 1 To n - 1For j = n To i + 1 Step -1If a(j) < a(j - 1) Thenk = a(j - 1)a(j)=a(j-1) '(2)改錯a(j) = k'如果pos位置的數據參與交換,則更新pos值,記錄pos變化情況If pos = j Thenpos = j - 1s = s + "→" + Str(pos)ElseIf Then '填寫代碼pos = js = s + "→" + Str(pos)End IfEnd IfNext jNext iLabel4.Caption = "位置變化情況:" + sFor i = 1 To nList2.AddItem Str(a(i))Next iEnd Sub(1)要使程序運行后,窗體Form1標題立即自動顯示為“冒泡排序程序探究”,可在 (單選,填字母:A . Form_Load / B . Form_Click / mand_Click)事件過程中添加語句Form1.Caption=“冒泡排序程序探究”。(2)程序代碼中,加框處代碼有誤,請寫出正確程序 (3)程序代碼中,ElseIf Then 語句處代碼缺失,請補充正確程序 。(4)根據程序,若在Text1中輸入的初始位置為3,則Label4中顯示的內容為 。14.(2019高三上·浙江月考)小李基于選擇排序算法編寫了一個VB程序,功能如下:在文本框Text1中顯示排序前的數據,單擊“排序”按鈕Command1,在文本框Text2中顯示剔除重復數據后的升序排序結果。程序運行界面如下圖所示。算法的思路:第i趟排序從a(i)….a(bottom)中查找最小值并記錄其下標k,同時將后面的每個元素與a(i)比較是否重復,若發現重復數據,進行剔除處理;找到最小值與a(i)交換。實現上述功能的VB程序如下,在橫線處填入合適的代碼。Const n = 10Dim a(1 To n) As IntegerPrivate Sub Command1_Click()Dim i As Integer, j As Integer, t As IntegerDim k As Integer, bottom As Integer'獲取排序前數據,依次存儲在數組 a 中,并在文本框 Text1 中顯示。代碼略bottom = n: i = 1Do While i <= bottom - 1k = i: j = bottomDo While j > iIf a(j) < a(k) Thenk = jElseIf a(j) = a(i) Then '若發現重復數據,進行剔除處理a(j) = a(bottom)If Then k = jbottom = bottom - 1End Ifj = j - 1LoopIf k <> i Thent = a(k): a(k) = a(i): a(i) = tElse EndIFLoopFor i = 1 To Text2.Text = Text2.Text + Str(a(i))Next iEnd Sub答案解析部分1.【答案】C【知識點】排序算法及程序實現2.【答案】A【知識點】排序算法及程序實現3.【答案】D【知識點】排序算法及程序實現4.【答案】A【知識點】排序算法及程序實現5.【答案】D【知識點】常量、變量及變量的賦值;排序算法及程序實現6.【答案】D【知識點】常見數據類型、數組;常量、變量及變量的賦值7.【答案】A【知識點】常見數據類型、數組;常量、變量及變量的賦值8.【答案】B【知識點】排序算法及程序實現【解析】【解答】分析本題程序段運行過程:首先獲取a數組的各元素為72,21,18,86,63,34,45,59,94,然后從外層For i=1 To n-2 Step 2看出,僅對奇數位上的數據排序。變量c統計排序過程中數據交換的次數。第一趟排序,數據“72”與“18”交換,第二趟排序,數據“72”與“45”交換。而后奇數位上的數據已有序。所以該程序段運行后,Text1中顯示的內容是2。故答案選B。【分析】本題考查選擇排序算法對數據加工的過程。選擇排序運作過程:在參加排序的數組的所有元素中找到最小(或最大)的元素,使它與第一個元素交換位置,然后在余下的元素中重復以上動作,直到所有元素排序完畢。9.【答案】C【知識點】常量、變量及變量的賦值;查找算法及程序實現10.【答案】D【知識點】常量、變量及變量的賦值;分支結構語句及程序實現;循環結構語句及程序實現11.【答案】A【知識點】常見數據類型、數組;常量、變量及變量的賦值【解析】【解答】根據程序可知:a(3)=a(2)+a(1)=1+1=2,b(3)=b(2)+a(3)=2+2=4;a(4)=a(3)+a(2)=2+1=3,b(4)=b(3)+a(4)=4+3=7;a(5)=a(4)+a(3)=3+2=5,b(5)=b(4)+a(5)=7+5=12。故答案選A。【分析】本題考查數組的運用。12.【答案】D【知識點】程序的調試及運行;程序訪問數據庫13.【答案】(1)A(2)a(j-1)=a(j)(3)pos = j-1(4)位置變化情況:3→4→5【知識點】常量、變量及變量的賦值;排序算法及程序實現14.【答案】k=bottom;i=i+1;bottom【知識點】常量、變量及變量的賦值;排序算法及程序實現1 / 1 展開更多...... 收起↑ 資源列表 浙江省桐廬分水高級中學2019-2020學年高三上學期信息技術第一次月考試卷(學生版).docx 浙江省桐廬分水高級中學2019-2020學年高三上學期信息技術第一次月考試卷(教師版).docx 縮略圖、資源來源于二一教育資源庫