浙江省宁波市北仑区名校2022-2023学年高二下学期信息技术期初返校考试试卷
试卷更新日期:2023-03-22 类型:开学考试
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分。)
-
1. “2021年12月24日平安夜,李明睡前发现阳台上的温度计读数为-2℃,他和爸爸一起把裸露在户外的水管用旧衣服包裹起来,并将阳台上的水龙头调整至滴水状态,用一个较大的桶接水。”结合上述事例,下列对于数据、信息、知识和智慧的描述错误的是( )A、-2是数字,是最简单的一种数据 B、温度计读数-2℃表示该时间李明家阳台上的温度信息 C、李明看到温度计读数为-2℃,联想到冰冻,这是智慧的体现 D、李明和家人一起做了防水管冰冻措施,说明他们具备相关知识2. 下列有关大数据及其处理的说法,错误的是( )A、大数据的四个特征:数据体量巨大、速度快、数据类型多、价值密度低 B、对大数据进行处理时,必须保证每个数据都准确无误 C、批处理计算适合处理静态数据 D、流计算适合处理实时更新的数据3. 下列应用领域中不属于人工智能应用的是( )A、人机博弈 B、机器视觉 C、自然语言处理 D、扫描仪扫描试卷4. 某双声道Wave格式的音频文件,其采样频率为44.1kHz,量化位数为2字节,时长为10秒,则其存储空间约为( )A、861KB B、1.68MB C、6.9MB D、215KB5. 某算法的部分流程图如图所示。执行这部分流程后,输出s,i的值为( )
A、45,6 B、45,7 C、63,6 D、63,76. 下列Python表达式的值等于56的是( )A、abs(-55)+1 B、ord("A") C、len("55")+1 D、chr(56)7. 有如下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、18. 有如下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]中的最小值9. 在单向链表如下图所示,在data2与data3之间插入一个新节点data4(p指向data2,r指向data4。列表data来记录链表数据域,列表next来记录指针域),在以下选项中选择正确的执行步骤( )①next[p]= next[r] ②next[p]= r ③next[r]= p
④next[r]= -1 ⑤next[r]= next[p] ⑥next[p]= -1
A、③⑥ B、⑤② C、①④ D、⑤②④10. 有如下Python程序a = [3,2,1,-8,3,-2,8,6]
s = t = a[0]
for i in range(1,len(a)):
if s > 0:
s += a[i]
else:
s = a[i]
if s > t:
t = s
print(t)
该程序段的运行结果是( )
A、6 B、-10 C、15 D、3311. 有如下 Python 程序段:import pandas as pd
s1=pd.Series(["赵天一","周光起","王子涵","徐静怡"],index=["01","02","03","04"])
s1["02"]="周广其"
xh=s1.index
name=s1.values
height=[168,175,170,180]
weight=[57,65,62,65]
col=["姓名","身高","体重"]
data={"姓名":name,"身高":height,"体重":weight}
df1=pd.DataFrame(data,index=xh,columns=col)
print(df1[df1["身高"]>170])
运行该程序段,输出显示的内容为( )
A、 B、 C、 D、12. 有如下 python 程序段:from random import randint
a=[0]*6; i=0
while i<6:
a[i]=randint(1,10)
if a[i]%2==i%2:
i=i-1
elif i%2==1:
a[i]=a[i-1]+a[i]
i=i+1
执行该程序段后,数组 a 中的值可能为( )
A、[4, 9, 2, 7, 6, 13] B、[7, 11, 3, 13, 9, 17] C、[5, 7, 7, 19, 3, 11] D、[6, 12, 4, 8, 8, 16]二、非选择题(本大题共3小题,6+13+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")
df=df.rename(columns={"选择题总分":"选择题"})
print(df1)
(3)、利用Python程序绘制各小题得分率图表,如第下图所示。请在划线处填写合适的代码。
num=int(input("请输入小组:"))
plt.figure(figsize=(10,5))
list=[]
for i in range(12):
s="题"+str(i+1)
list.append(*50)
plt.bar(range(1,13),list)
plt.title(str(num)+"group")
plt.xlabel("question number")
plt.ylabel("correct rate")
plt.show()
14. 报数游戏。已知班上有n名学生(用编号1,2,3,„,n分别表示),学生按照编号由小到大顺时针围成一个圆圈,从编号为1的学生开始顺时针报数,报到m的同学出列;下一名同学又从1开始报数,报数为m的同学继续出列;以此规律重复下去,直到剩下最后一位同学为止。(1)、当n=10,m=3时,最后留下的同学的编号是。(2)、下列代码通过构造一个循环单向链表,模拟报数的过程,逐一删除报数为m的节点,直到剩下一个节点为止。请在划线处填入合适的代码。n=int(input("n="))
m=int(input("m="))
lst=[]
for i in range(n-1):
lst.append([i+1,i+1])
lst.append( ) #将尾节点的指针指向头节点,构成循环单向链表
p=len(lst)-1
while n>1:
for i in range(1,m): #从1~(m-1)依次报数
out=lst[p][1]
n=n-1
print("最后留下的同学的编号是:", lst[p][0])
(3)、下列代码通过构造一个循环队列,模拟报数的过程,将报数为m的元素进行出队操作(报数非m的元素重新入队),直到剩下一个元素为止。请在划线处填入合适的代码。n=int(input("n="))
m=int(input("m="))
q=[0]*n ; head=0 ; tail=0
for i in range(1,n+1): #构造循环队列
q[tail]=i
c=0
while (head+1)%n!=tail:
c=c+1
if c==m:
head=(head+1)%n
else:
tail=(tail+1)%n
head=(head+1)%n
print("最后留下的同学的编号是: ",q[head])
15. 小明使用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
return
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)