浙江省桐庐分水高级中学2019-2020学年高三上学期信息技术第一次月考试卷

资源下载
  1. 二一教育资源

浙江省桐庐分水高级中学2019-2020学年高三上学期信息技术第一次月考试卷

资源简介

浙江省桐庐分水高级中学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、113
C. 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、35
C. 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、3
C. 2、3、6、4、5 D. 2、6、4、5、3
【答案】A
【知识点】排序算法及程序实现
5.(2019高三上·浙江月考)冒泡排序在某一遍加工过程中没有数据交换时,说明数据已经有序,优化程序段如下:
i = 1: flag = True
Do While i < = 4 And flag = True
flag=False
For j = 6 To i + 1 Step -1
If a(j) > a(j - 1) Then
t = a(j): a(j)=a(j-1): a(j-1) = t
flag = True
End If
Next j
i = i + 1
Loop
数组元素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 9
For j=10 To i+2 Step-1
If a(j)t=a(j): a(j)=a(j-2): a(j-2)=t
End If
Next j
Next 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 <= 3
k = i : j = i + 1
Do While j <= 8
If a(j) < a(k) Then k = j
j = j + 1
Loop
If i <> k Then
t = a(i): a(i) = a(k): a(k) = t
n = n + 1
End If
s = s + Str(a(i)) : i = i + 1
Loop
Label1.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=0
For i=1 To n-1
a(i)=Val(Mid(s, i, 2))
Next i
For i=1 To n-2 Step 2
k=i
For j=i+2 To n-1 Step 2
If a(j) < a(k) Then k=j
Next j
If k <> i Then
t=a(i): a(i)=a(k): a(k)=t: c=c+1
End If
Next i
Text1.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 <= j
m = (i + j) \ 2
If key = a(m) Then
s = s + "M": Exit Do 'Exit Do 表示退出循环
ElseIf key < a(m) Then
j = m - 1: s = s + "L"
Else
i = m + 1: s = s + "R"
End If
Loop
Text1.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 = 1
For i = 1 To n
s = Mid(Text1. Text, i, 1)
If s > = "0" And s < = "9" Then
a(c)= a(c)* 10 + Val(s)
Else
If a(c)> 0 Then c = c+1
End If
Next 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)=1
b(1)=1:b(2)=2
For i=3 To 5
a(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. Connection
Dim rs As New ADODB. Recordset
Dim n as Integer
Private Sub Form_ Load()
conn. ConnectionString ="Provider= Microsoft.Ace.
OLEDB.12.0; data source ="+App. Path+"\data\data. accdb"
conn. Open
sql="select*from student"
Set rs. ActiveConnection=conn
rs. Open sql
n=0
Do while Not rs. EOF
List1.AddItem rs("name")
n=n+1
rs. MoveNext
Loop
End 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 Integer
Dim n As Integer
Private Sub Form_Load()
'排序前的8个数据存储在数组a中,并在列表框List1中显示
'代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, k As Integer
Dim pos As Integer '变量pos存储指定数据的位置(即下标值)
Dim s As String '变量s存储pos变化情况
s = Text1.Text
pos = Val(Text1.Text)
For i = 1 To n - 1
For j = n To i + 1 Step -1
If a(j) < a(j - 1) Then
k = a(j - 1)
a(j)=a(j-1) '(2)改错
a(j) = k
'如果pos位置的数据参与交换,则更新pos值,记录pos变化情况
If pos = j Then
pos = j - 1
s = s + "→" + Str(pos)
ElseIf Then '填写代码
pos = j
s = s + "→" + Str(pos)
End If
End If
Next j
Next i
Label4.Caption = "位置变化情况:" + s
For i = 1 To n
List2.AddItem Str(a(i))
Next i
End 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 = 10
Dim a(1 To n) As Integer
Private Sub Command1_Click()
Dim i As Integer, j As Integer, t As Integer
Dim k As Integer, bottom As Integer
'获取排序前数据,依次存储在数组 a 中,并在文本框 Text1 中显示。代码略
bottom = n: i = 1
Do While i <= bottom - 1
k = i: j = bottom
Do While j > i
If a(j) < a(k) Then
k = j
ElseIf a(j) = a(i) Then '若发现重复数据,进行剔除处理
a(j) = a(bottom)
If   Then k = j
bottom = bottom - 1
End If
j = j - 1
Loop
If k <> i Then
t = a(k): a(k) = a(i): a(i) = t
Else
   
EndIF
Loop
For i = 1 To    
Text2.Text = Text2.Text + Str(a(i))
Next i
End 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、113
C. 35、46、82、113、69 D. 35、46、69、82、113
2.(2019高三上·浙江月考)将数据3、6、9、5、8、1进行一趟冒泡排序后得到的数据刚好是小杨的银行卡密码,那么小杨的银行卡密码可能是(  )
A. 136958 B. 369581 C. 135698 D. 316958
3.(2019高三上·浙江月考)某书店在5所学校流动售书量(单位:本)分别是82、113、46、69、35。采用选择排序对其进行排序,若完成第一遍时的结果是82、113、46、69、35,则完成第二遍时的结果是(  )
A. 35、82、113、46、69 B. 113、82、46、69、35
C. 35、46、82、113、69 D. 82、113、69、46、35
4.(2019高三上·浙江月考)超市面食区共有5种面食品种,其价格依次为6、4、5、2、3,若采用选择排序算法对其进行从小到大排序,则第二遍的排序结果是(  )
A. 2、3、5、6、4 B. 2、4、5、6、3
C. 2、3、6、4、5 D. 2、6、4、5、3
5.(2019高三上·浙江月考)冒泡排序在某一遍加工过程中没有数据交换时,说明数据已经有序,优化程序段如下:
i = 1: flag = True
Do While i < = 4 And flag = True
flag=False
For j = 6 To i + 1 Step -1
If a(j) > a(j - 1) Then
t = a(j): a(j)=a(j-1): a(j-1) = t
flag = True
End If
Next j
i = i + 1
Loop
数组元素a(1)到a(6)的值依次为48,36,24,97,77,23,经过该程序段加工后,变量i的值是(  )
A.1 B.3 C.5 D.4
6.(2019高三上·浙江月考)有如下VB程序段:
For i=1 To 9
For j=10 To i+2 Step-1
If a(j)t=a(j): a(j)=a(j-2): a(j-2)=t
End If
Next j
Next 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
7.(2019高三上·浙江月考)某VB 程序段如下:
i = 1: s = ""
Do While i <= 3
k = i : j = i + 1
Do While j <= 8
If a(j) < a(k) Then k = j
j = j + 1
Loop
If i <> k Then
t = a(i): a(i) = a(k): a(k) = t
n = n + 1
End If
s = s + Str(a(i)) : i = i + 1
Loop
Label1.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
8.有如下VB程序段:
s=“7218634594” : n=Len(s): c=0
For i=1 To n-1
a(i)=Val(Mid(s, i, 2))
Next i
For i=1 To n-2 Step 2
k=i
For j=i+2 To n-1 Step 2
If a(j) < a(k) Then k=j
Next j
If k <> i Then
t=a(i): a(i)=a(k): a(k)=t: c=c+1
End If
Next i
Text1.Text=Str(c)
该程序段运行后,Text1中显示的内容是(  )
A.1 B.2 C.3 D.4
9.(2019高三上·浙江月考)某对分査找算法的VB程序段如下:
i = 1: j = 7: s = ""
key = Int(Rnd * 100)
Do While i <= j
m = (i + j) \ 2
If key = a(m) Then
s = s + "M": Exit Do 'Exit Do 表示退出循环
ElseIf key < a(m) Then
j = m - 1: s = s + "L"
Else
i = m + 1: s = s + "R"
End If
Loop
Text1.Text = s
数组元素a(1)到a(9)的值依次为“24,35,38,41,45,69,78”。若该程序段执行后,文本框Text1中显示的内容可能是(  )
A. RL B. LMR C. RLR D. LRLM
10.(2019高三上·浙江月考)有如下VB程序段(数组a各元素的初始值均为0)。
n = Len(Text1. Text)
c = 1
For i = 1 To n
s = Mid(Text1. Text, i, 1)
If s > = "0" And s < = "9" Then
a(c)= a(c)* 10 + Val(s)
Else
If a(c)> 0 Then c = c+1
End If
Next i
在文本框Text中输入“No1:X:123:Y:680:End”。执行该程序段后,数组a(2)的值为(  )
A. 1 B. 2 C. 3 D. 123
11.有如下VB程序段:
a(1)=1:a(2)=1
b(1)=1:b(2)=2
For i=3 To 5
a(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
12.(2019高三上·浙江月考)某个VB应用程序中使用如下代码读取数据库中的信息:
Dim conn As New ADODB. Connection
Dim rs As New ADODB. Recordset
Dim n as Integer
Private Sub Form_ Load()
conn. ConnectionString ="Provider= Microsoft.Ace.
OLEDB.12.0; data source ="+App. Path+"\data\data. accdb"
conn. Open
sql="select*from student"
Set rs. ActiveConnection=conn
rs. Open sql
n=0
Do while Not rs. EOF
List1.AddItem rs("name")
n=n+1
rs. MoveNext
Loop
End 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 Integer
Dim n As Integer
Private Sub Form_Load()
'排序前的8个数据存储在数组a中,并在列表框List1中显示
'代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, k As Integer
Dim pos As Integer '变量pos存储指定数据的位置(即下标值)
Dim s As String '变量s存储pos变化情况
s = Text1.Text
pos = Val(Text1.Text)
For i = 1 To n - 1
For j = n To i + 1 Step -1
If a(j) < a(j - 1) Then
k = a(j - 1)
a(j)=a(j-1) '(2)改错
a(j) = k
'如果pos位置的数据参与交换,则更新pos值,记录pos变化情况
If pos = j Then
pos = j - 1
s = s + "→" + Str(pos)
ElseIf Then '填写代码
pos = j
s = s + "→" + Str(pos)
End If
End If
Next j
Next i
Label4.Caption = "位置变化情况:" + s
For i = 1 To n
List2.AddItem Str(a(i))
Next i
End 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 = 10
Dim a(1 To n) As Integer
Private Sub Command1_Click()
Dim i As Integer, j As Integer, t As Integer
Dim k As Integer, bottom As Integer
'获取排序前数据,依次存储在数组 a 中,并在文本框 Text1 中显示。代码略
bottom = n: i = 1
Do While i <= bottom - 1
k = i: j = bottom
Do While j > i
If a(j) < a(k) Then
k = j
ElseIf a(j) = a(i) Then '若发现重复数据,进行剔除处理
a(j) = a(bottom)
If   Then k = j
bottom = bottom - 1
End If
j = j - 1
Loop
If k <> i Then
t = a(k): a(k) = a(i): a(i) = t
Else
   
EndIF
Loop
For i = 1 To    
Text2.Text = Text2.Text + Str(a(i))
Next i
End 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

展开更多......

收起↑

资源列表