【精品解析】浙江省台州市黄岩第二高级中学2019-2020学年高二下学期信息技术返校考试试卷

文档属性

名称 【精品解析】浙江省台州市黄岩第二高级中学2019-2020学年高二下学期信息技术返校考试试卷
格式 zip
文件大小 380.9KB
资源类型 试卷
版本资源
科目 信息技术(信息科技)
更新时间 2020-10-29 16:31:31

文档简介

浙江省台州市黄岩第二高级中学2019-2020学年高二下学期信息技术返校考试试卷
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出四个备选项中只有一个符合题目要求的,不选,多选错选均不得分)
1.(2020高二下·台州开学考)在VisualBasic中,能表示整数x是完全平方数(如=3*3,9是完全平方数)的表达式是(  )
A.x^2=x*x B.sqr(x)=x\2
C.int(sqr(x))^2=x D.(x\2)^2=x3
2.(2020高二下·台州开学考)下列程序执行后文本框Text1显示的内容是(  )
x= "abcdcba": ans = 0
For i= 1 To Len(x) \2.
If Mid(x, i, 1) = Mid(x, Len(x)-i+ 1, 1) Then ans = ans+ 1
Next i
Text1.Text = Str(ans)
A.1 B.2 C.3 D.4
3.(2020高二下·台州开学考)有如下程序:
Private Sub Command1_Click()
Dim a(5) as Integer
Dim n as Integer, i as Integer
n=Val(Text1.Text)
i=0
a(1)=1: a(2)=1
For i=3 To n
a(i)=a(i-1)+a(i-2)
Next i
Label1.Caption=a(i)
End Sub
若在Text1中输入5,则点击按钮后的运行结果为(  )
A.Label11中输出5 B.Label1中输出10
C.报“下标越界”错误 D.Label11中无内容
4.(2020高二下·台州开学考)有如下VB程序段:
Fori=1 To 3
For j=6 To i+1 Step-1
If a(j) > a(j-1) Then
k=a(j): a(j)=a(j-1): a(j-1)=k
End If
Next j
s=s+“"”+str(a(i))
Next i
Text1. 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
5.(2020高二下·台州开学考)某算法的部分流程图如下图所示,执行这部分流程后,输出c,s的值分别是(  )
A.8,10 B.10,14 C.12,6 D.12,24
6.(2020高二下·台州开学考)有如下VisualBasic自定义函数:
Function f(x As Integer) As Single
f=Abs(x)
End Function
该函数返回值的数据类型是(  )
A.整数型 B.日期型
C.逻辑型 D.单精度实数型
7.(2020高二下·台州开学考)下列VB表达式中,不是字符串的是(  )
A.Chr((Rnd*26)+65) B.Len("中国2019")
C.Mid("r12b",2,2) D.(n+1) Mod 5&6
8.有VB编写的程序如下:
Dim a(0 To 9) As Integer, t as Long
t=Val(Text1.Text)
Do While t<>0
a(t Mod 10) = 1
t = t \ 10
Loop
For i = 0 To 9
x = x + a(i)
Next i
Text1中输入10242048,则程序执行后x的值为(  )
A.1 B.2 C.5 D.10
9.(2020高二下·台州开学考)下列程序执行后文本框Text1显示的内容是(  )
Dimx As String, y As String, ans As Integer
x="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
10.(2020高二下·台州开学考)某排序算法的VB程序段如下:
For i=1 To 4
k=i
For j=5 To i+1 Step-1
If a(j)Next j
If k<> i Then
tmp=a(k) : a(k)=a(i) : a(i)=tmp
f(i)=True
End If
Next i
当数组元素a(1)到a(5)的值依次为“8,2,1,21,3”数组f的初值均为 False,执行该程序段,f数组中元素值为True的个数有(  )
A.1个 B.2个 C.3个 D.4个
11.有一段VB程序,代码如下:
For i=1 To 3
For j=8 To i+1 Step-1
If a(j) < a(i) Then
t=a(j): a(j)=a(i): a(i)=t
End If
Next j
Next 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,35
12.(2020高二下·台州开学考)某对分查找算法的VB程序段如下:
t="": i=0: j=9: key=62: f=False
Do While i <=j And Not f
m=Fix((i+j)/2)
t=t+Str(m)
If a(m)= key Then
f=True
ElseIf a(m)>key Then
i=m+1
t=t+"→"
Else
j=m-1
t=t+"←"
End If
Loop
数组元素a(0)到a(9)的值依次为“99,94,90,87,78,70,63,56,45,36”执行该程序段的值是(  )
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=10
Dim d(1 To n)As Integer
Private Sub Form Load()
′随机产生n整数并存储在数组d中,并把数组d按升序排序
′在列表框中显示排序后的数据,代码略
End Sub
Private Sub Command1_Click()
Dim key As Integer, p As Integer
key =Val(Text1.Text)
‘①
If p<>0 Then
Label2. Caption="该数据在第"+Str(p)+"个位置"
Else
Label2. Caption="没有找到! "
End If
End Sub
Function search(key As Integer) As Integer
i=1: j=n
Do While i<= j
m=(i+j)\2
If d(m)=key Then
search =m
Exit Function
ElseIf keyj=m-1
Else
i=m+1
End If
Loop
‘②
End Function
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 Integer
c=0
For i= 1 To Len(s)
n(i) =Val(Mid(s, i, 1))
For j=1 To i- 1
if   Then
c=c+ 1
End If
Next j
Next i
   
End Function
Private Sub Command1_ Click()
Dim x As String, y As Integer
x = Text1.Text
   
Text2.Text = Str(y)
If y Mod 2= 0 Then Label3.Caption = "偶排列" Else Label3.Caption = "奇排列"
End Sub
15.(2020高二下·台州开学考)编写“二进制加法”程序。
程序运行时,在文本框Text1和文本框Text2分别输入两个二进制数,单击按钮 Command11后在文本框Text3上输出两个二进制相加后的结果。
程序运行如图所示。
(1)观察代码触发代码执行的事件名是   。
(2)为实现上述功能,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim b1 As String, b2 As String, ans As String, t As String
Dim dist As Integer, jw As Integer
b1=Text1.Text: b2 Text2.Text: ans=""
   
If dist <0 Then
t=b1: b1=b2: b2=t: dist=-dist
End If
For i=1 To dist
b2="0"+b2
Next i
jw=0
For i= Len(b1)To 1 Step-1
x= Val(Mid(b1, i, 1))+ Val(Mid(b2, i, 1))+jw
   
ans Str(x Mod 2)+ans
Next i
If   Then ans ="1"+ ans
Text3.Text=ans
End 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学年高二下学期信息技术返校考试试卷
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出四个备选项中只有一个符合题目要求的,不选,多选错选均不得分)
1.(2020高二下·台州开学考)在VisualBasic中,能表示整数x是完全平方数(如=3*3,9是完全平方数)的表达式是(  )
A.x^2=x*x B.sqr(x)=x\2
C.int(sqr(x))^2=x D.(x\2)^2=x3
【答案】C
【知识点】运算符、基本运算与表达式
2.(2020高二下·台州开学考)下列程序执行后文本框Text1显示的内容是(  )
x= "abcdcba": ans = 0
For i= 1 To Len(x) \2.
If Mid(x, i, 1) = Mid(x, Len(x)-i+ 1, 1) Then ans = ans+ 1
Next i
Text1.Text = Str(ans)
A.1 B.2 C.3 D.4
【答案】C
【知识点】运算符、基本运算与表达式;常量、变量及变量的赋值
3.(2020高二下·台州开学考)有如下程序:
Private Sub Command1_Click()
Dim a(5) as Integer
Dim n as Integer, i as Integer
n=Val(Text1.Text)
i=0
a(1)=1: a(2)=1
For i=3 To n
a(i)=a(i-1)+a(i-2)
Next i
Label1.Caption=a(i)
End Sub
若在Text1中输入5,则点击按钮后的运行结果为(  )
A.Label11中输出5 B.Label1中输出10
C.报“下标越界”错误 D.Label11中无内容
【答案】C
【知识点】程序的调试及运行;常量、变量及变量的赋值
4.(2020高二下·台州开学考)有如下VB程序段:
Fori=1 To 3
For j=6 To i+1 Step-1
If a(j) > a(j-1) Then
k=a(j): a(j)=a(j-1): a(j-1)=k
End If
Next j
s=s+“"”+str(a(i))
Next i
Text1. 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的值分别是(  )
A.8,10 B.10,14 C.12,6 D.12,24
【答案】B
【知识点】常量、变量及变量的赋值;流程图识读
6.(2020高二下·台州开学考)有如下VisualBasic自定义函数:
Function f(x As Integer) As Single
f=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 Long
t=Val(Text1.Text)
Do While t<>0
a(t Mod 10) = 1
t = t \ 10
Loop
For i = 0 To 9
x = x + a(i)
Next i
Text1中输入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 Integer
x="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 4
k=i
For j=5 To i+1 Step-1
If a(j)Next j
If k<> i Then
tmp=a(k) : a(k)=a(i) : a(i)=tmp
f(i)=True
End If
Next i
当数组元素a(1)到a(5)的值依次为“8,2,1,21,3”数组f的初值均为 False,执行该程序段,f数组中元素值为True的个数有(  )
A.1个 B.2个 C.3个 D.4个
【答案】C
【知识点】常量、变量及变量的赋值;排序算法及程序实现
11.有一段VB程序,代码如下:
For i=1 To 3
For j=8 To i+1 Step-1
If a(j) < a(i) Then
t=a(j): a(j)=a(i): a(i)=t
End If
Next j
Next 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,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=False
Do While i <=j And Not f
m=Fix((i+j)/2)
t=t+Str(m)
If a(m)= key Then
f=True
ElseIf a(m)>key Then
i=m+1
t=t+"→"
Else
j=m-1
t=t+"←"
End If
Loop
数组元素a(0)到a(9)的值依次为“99,94,90,87,78,70,63,56,45,36”执行该程序段的值是(  )
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=10
Dim d(1 To n)As Integer
Private Sub Form Load()
′随机产生n整数并存储在数组d中,并把数组d按升序排序
′在列表框中显示排序后的数据,代码略
End Sub
Private Sub Command1_Click()
Dim key As Integer, p As Integer
key =Val(Text1.Text)
‘①
If p<>0 Then
Label2. Caption="该数据在第"+Str(p)+"个位置"
Else
Label2. Caption="没有找到! "
End If
End Sub
Function search(key As Integer) As Integer
i=1: j=n
Do While i<= j
m=(i+j)\2
If d(m)=key Then
search =m
Exit Function
ElseIf keyj=m-1
Else
i=m+1
End If
Loop
‘②
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 Integer
c=0
For i= 1 To Len(s)
n(i) =Val(Mid(s, i, 1))
For j=1 To i- 1
if   Then
c=c+ 1
End If
Next j
Next i
   
End Function
Private Sub Command1_ Click()
Dim x As String, y As Integer
x = 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 String
Dim dist As Integer, jw As Integer
b1=Text1.Text: b2 Text2.Text: ans=""
   
If dist <0 Then
t=b1: b1=b2: b2=t: dist=-dist
End If
For i=1 To dist
b2="0"+b2
Next i
jw=0
For i= Len(b1)To 1 Step-1
x= Val(Mid(b1, i, 1))+ Val(Mid(b2, i, 1))+jw
   
ans Str(x Mod 2)+ans
Next i
If   Then ans ="1"+ ans
Text3.Text=ans
End Sub
【答案】(1)Click
(2)dist=len(b1)-len(b2);jw=x\2;jw=1
【知识点】类、对象、属性、方法、事件和事件处理的概念及应用;运算符、基本运算与表达式;常量、变量及变量的赋值
1 / 1
同课章节目录