资源简介 浙江省桐庐分水高级中学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