浙江省丽水市2021-2022学年高二上学期信息技术普通高中教学质量监控试题试卷
试卷更新日期:2022-02-28 类型:期末考试
一、选择题(本大题共12小题,每小题2分,共24分。)
-
1. 下列有关数据、信息和知识的说法,错误的是( )A、信息是数据经过存储、分析及解释后所产生的意义 B、面对同样的信息,不同的人会因理解不同,形成不同的知识 C、与物质、能源相同的是,信息会因为被别人获取而发生损耗 D、人类可以通过了解信息来认识自然,利用信息进行发明创造2. 下列有关大数据及其处理的说法,错误的是( )A、大数据的四个特征:数据规模大、处理速度快、数据类型多、价值密度低 B、对大数据进行处理时,必须保证每个数据都准确无误 C、批处理计算适合处理静态数据 D、流计算适合处理实时更新的数据3. 下列应用领域中不属于人工智能应用的是( )A、人机博弈 B、机器视觉 C、自然语言处理 D、扫描仪扫描试卷4. 使用UltraEdit软件观察字符“我爱 Python!”的内码,部分界面如图所示
下列说法正确的是( )
A、字符“!”的内码占两个字节 B、字符“爱”的十六进制编码是“AE 20” C、字符“h”的二进制编码是“01101000” D、字符“ON”的十六进制编码是“6F 6E”5. 某双声道Wave格式的音频文件,其采样频率为44.1kHz,量化位数为2字节,时长为10秒,则其存储空间约为( )A、861KB B、1.68MB C、6.9MB D、215KB6. 某算法的部分流程图如图所示。执行这部分流程后,输出s,i的值为( )
A、45,6 B、45,7 C、63,6 D、63,77. 下列Python表达式的值等于56的是( )A、abs(-55)+1 B、ord("A") C、len("55")+1 D、chr(56)8. 有如下Python程序段:a=int(input("请输入一个数:"))
if a>0:
a=a%10
elif a==0:
a=a+1
else:
a=a**2
a=a+10
print(a)
输入a值为20,执行该程序段后,输出的结果是( )
A、14 B、11 C、10 D、19. 有如下Python程序段:ma=a[0];mb=a[0];pa=0;pb=0
for i in range(1,10):
if ma < a[i]:ma = a[i];pa=i
if mb > a[i]:mb = a[i];pb=i
下列关于该程序段功能描述正确的是( )
A、变量pa存储a[0]至a[9]中的最大值 B、变量ma存储a[0]至a[9]中的最小值 C、变量pb存储a[0]至a[9]中的最大值 D、变量mb存储a[0]至a[9]中的最小值10. 采用选择排序算法对数据序列“12,23,24,15,11,10”完成升序排序,则需要交换的次数为( )A、3 次 B、4 次 C、5次 D、6 次11. 有如下Python程序段def s(x):
if x<=2:
y=x
else:
y=s(x-1)+s(x-2)
return y
a=int(input("请输入正整数:"))
result=s(a)
print(result)
运行程序,输入值为6,则输出结果为( )
A、8 B、9 C、13 D、1412. 某对分查找算法的Python程序段如下:key=int(input("请输入待查数据值:"))
d=[17,18,20,23,24,25,28,32,34,35]
f=False;s=""
i=0;j=len(d)-1
while i<=j:
m=(i+j)//2
s=s+","+str(d[m])
if d[m]==key:
f=True
break
if key<d[m]:
j=m-1
else:
i=m+1
if f==True:
print("查找成功!遍历的数据"+s)
else:
print("没有找到!")
输入待查数据值为 23,执行该程序段,则输出的结果是( )
A、25,20,24,23 B、24,18,20,23 C、25,20,23 D、24,20,23二、非选择题(本大题共4小题,6+6+7+7,共26分。)
-
13. 小明收集了本周信息技术学科学习评价的数据,如图所示。(1)、观察上表小明做了如下操作,其中属于数据整理的是 (多选,填字母)A、删除重复行第五行 B、验证并修改D2单元格数据 C、通过公式计算全班平均分 D、重新设置C3单元格格式(2)、为了分析每个组的平均分,设计了如下Python程序。
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel("成绩表.xlsx")
print(df1)
划线处的代码应为 (单选,填字母)
A、df1=df.groupby("平均分").mean() B、df1=df.mean() C、df1=df.groupby("小组").mean() D、df1=df["小组"].mean()(3)、利用Python程序绘制各小题得分率图表,如图所示:请在划线处填写合适的代码。
num=int(input("请输入小组:"))
plt.figure(figsize=(10,5))
list=[]
for i in range(12):
s="题"+str(i+1)
list.append(df1.at[num,s]*50)
plt.bar(range(1,13),list)
plt.title(str(num)+" ")
plt.xlabel("question number")
plt.ylabel("correct rate")
plt.show()
14. 小明编写Python程序,实现对某次评价报名序号的检测并输出该考生的评价类别+科类类别。报名序号的编写方法是:由10位数字组成,毕业年份(4位)+评价类别(1位)+科类代码(1位)+顺序代码(4位)。评价类别:1普通、2 单项;科类类别:3 艺术类、4 体育类、5综合类。例如: 输入报名序号“2022150001”,输出“普通综合类”
(1)、与加框处代码功能相同的是。(单选,填字母:A .s=dic[ticket[-6:-4]]/ B .s=dic[ticket[-6:-5]])(2)、实现查询功能的Python程序如下,请在划线处填入合适的代码while True:
ticket=
num=0
for i in ticket:
if i>="0" and i<="9":
num=num+1
If len(ticket)!=10:
print("输入长度不符合要求")
elif :
print("输入存在非数字字符")
else:
break
dic={"13":"普通艺术类","14":"普通体育类","15":"普通综合类","23":"单项艺术类","24":"单项体育类","25":"单项综合类"}
print("该考生的考试科类为:",s)
15. 小明编写Python程序对本校跳高测试成绩进行排序,规则如下:按照性别分别对成绩进行降序排序并输出名次(女生排前,男生排后,同分同名次),计算结果如图所示(1)、程序中加框处代码有错,请改正。#把文件中的原始数据导入到数组a中,其中a[0][0]存储姓名,a[0][1]存储跳高成绩,a[0][2]存储性别,a[1][0]到a[1][2]存储第一位学生的相关信息,以此类推。代码略
for i in range(1, ① ):
for j in range(1,len(a)-i):
if int(a[j][1])<int(a[j+1][1]) and a[j][2]==a[j+1][2]:
a[j],a[j+1]=a[j+1],a[j]
elif :
a[j],a[j+1]=a[j+1],a[j]
a[1][3]=1
for i in range(2,len(a)):
if a[i][1]!=a[i-1][1]:
a[i][3]=i
else:
②
t=0
for i in range(1,len(a)):
if a[i][2]=="女":
③
else:
a[i][3]=a[i][3]-t
#输出数据a到文件中,代码略
(2)、请在划线处填入合适的代码。①②③
16. 小明使用Python编写了某答题卡中单项选择题的判分程序,该单选题每题2分。扫描答题卡获取选项填涂信息,输入标准答案,程序自动判断并输出分数。具体方法为:一个选项是否被填涂,可以从判断一个像素的颜色开始,像素的填涂情况是通过RGB的值来判断,灰度值低于132的表示该点被填涂;一个信息点64%的像素被填涂,则认为该区域已填涂,返回值为“1”。区域未填涂时返回值为“0”;各选项的编码为:A→“1000”,B→“0100”,C→“0010”,D→“0001”;输入标准答案,程序进行对比并返回结果。答题卡相关信息如下:
(1)、某题的标准答案为“C”,该题填涂情况为“0100”,则分数为分(2)、实现上述功能的程序如下,请在划线处填入合适的代码。from PIL import Image
#输入起始点坐标(xs,ys),信息点宽度高度(fw, fh),间隔宽度高度(sw ,sh),代码略
num = 5 # 判分个数
def bw_judge(R, G, B): # bw_judge用于判断一个像素的填涂情况 代码略
def fill_judge(x, y): # fill_judge用于判断信息点的填涂情况
count = 0
for i in range(x, x + fw + 1):
for j in range(y, y + fh + 1):
R, G, B = pixels[i, j]
if bw_judge(R, G, B) = = True:
count = count + 1
if count >= :
return True
total_width = fw+ sw
total_height = fh + sh
image = Image.open("t2.bmp")
pixels = image.load()
number = ""
bz=[""]*num
df=0
bzd=input('请输入标准答案:')
da={"A":"1000","B":"0100","C":"0010","D":"0001"}
for i in range(len(bzd)):
bz[i]=
for row in range(num): #分数判定
for col in range(4):
y = ys + total_height * row
if fill_judge(x, y) == True :
number = number + '1'
else:
number = number + '0'
if number = = bz[row]:
df+=2
number=""
print("得分为:",df)