浙江省宁波市余姚中学2024-2025学年高二上学期期中考试信息技术试题(选考) PDF版含答案

文档属性

名称 浙江省宁波市余姚中学2024-2025学年高二上学期期中考试信息技术试题(选考) PDF版含答案
格式 zip
文件大小 1007.4KB
资源类型 教案
版本资源 通用版
科目 信息技术(信息科技)
更新时间 2024-11-27 09:24:45

文档简介

2024学年第一学期期中考试高二技术选考答卷
班级 姓名
选择题(本大题共12小题,每小题2分,共24分。)
题号 1 2 3 4 5 6 7 8 9 10 11 12
答案
二、非选择题(本大题共3小题,其中第13小题7分,第14小题9分,第15小题10分,共26分)
13.(1) ① (2分)
② (2分)
③ (2分)
(2) (1分)
14. (1) (2分)
(2) (2分)
(3) ① (1分)
② (2分)
③ (2分)
15. (1) (2分)
(2) ① (2分)
② (2分)
③ (2分)
④ (2分)
2024学年第一学期期中考试高二技术选考答案
班级 姓名
选择题(本大题共12小题,每小题2分,共24分。)
题号 1 2 3 4 5 6 7 8 9 10 11 12
答案 D A C D C C B B C D D A
二、非选择题(本大题共3小题,其中第13小题7分,第14小题9分,第15小题10分,共26分)
13.(1) ① k%2 (2分)
② flag=True (2分)
③ judge(a[i],i+1) (2分)
(2) 45 (1分)
14. (1) df[df.总分>0] (2分)
(2) A (2分)
(3) ① index (1分)
② cj=gf.at[i,km[j]] (2分)
③ subject2=subject1 (2分)
15. (1) 2,4,6,12 (2分)
(2) ① s[i]!=s[i-1]或s[i]!=s[begin] (2分)
② sel[f[0]] 或 sel[f[0]]==True (2分)
③ f[0]+=1 (2分)
④ x[1]=y[1] (2分)
2 / 22024 学年第一学期期中考试高二技术选考试卷
出题:胡小英 审题:胡沛茹
考生须知:
1.本试卷分两部分,第一部分信息技术,第二部分通用技术。满分100分,考试时间90分钟。
2.考生答题前,务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上。
3.选择题的答案用2B铅笔将答题纸上对应题目的答案选项涂黑,如要改动,须将原填涂处用
橡皮擦净。
4.非选择题的答案用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B
铅笔,确定后用黑色字迹的签字笔或钢笔描黑,答案写在非答题纸上无效。
第一部分 信息技术(共 50分)
一、选择题(本大题共 12 小题,每小题 2分,共 24分,每小题列出的四个备选项中只有一个是符合
题目要求的,不选、错选、多选均不得分。)
1.下列关于数据、大数据、信息和知识的说法,正确的是:
A.数据处理过程中,不会有新的数据产生 B.信息在交流的过程中会产生损耗
C.大数据处理的数据一定是非结构化的 D. 相比于数据和信息,知识更接近行动,它与决策相关
2. 以下关于数据编码的说法正确的是:
A.一个基本的ASCII码用一个字符中的低7位编码
B.计算机中的数据以二进制或十六进制存储
C. 位深度为8的图像可表达1024种颜色
D. 某段声音存储为Wave格式,其存储容量是唯一的
3. 下列关于人工智能的说法,正确的是:
A. 人工智能就是机器学习
B. 符号主义是从“交互—反馈”角度来刻画智能行为
C. 深度学习在图像分类、语音识别等领域表现出良好的性能
D. AlphaGo从围棋跨界到电力控制领域,属于混合增强智能
4. 用数组表示一棵二叉树:
0 1 2 3 4 5 6 7 8 9 10 11
'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i'
下列说法正确的是:
A.这是一棵完全二叉树 B.这棵树的叶子节点比度为1的节点多1个
C.节点'g', 'h'是兄弟节点
D.使用前序遍历和中序遍历方式查找字母“e”,则访问节点个数相同
5.假设完全二叉树的树根为第1层,树中第10层有5个叶子节点,由完全二叉树的节点个数最多为:
A. 2047 B. 2048 C.2037 D. 2038
6.变量 a,b均为布尔型,下列 Python 表达式与not a or b等价的是:
A.not(a or b) B.not(a and b) C.a!= True or b!= False D.a == False and b == False
7. 有如下 Python程序段:
x,y,z=142,125,120
res=0
if x>y:
res=x
elif y>z:
res+=z
res-=5
print(res)
执行该程序段后,输出的结果是:
A.115 B.137 C.140 D.157
1 / 6
8.有如下Python程序段:
s ="Hello World" ;s2=””
for i in s:
if "A"<=i<="Z":
i = chr(ord(i) + ord("a") - ord("A"))
if "a" <=i<= "z":
s2 =chr((ord(i)-ord("a")+3) % 26 + ord("a")) + s2
else:
s2 =i+ s2
print(s2)
执行该程序段后,输出的结果为:
A. gour rooh B. gourz roohk C. khoor zruog D. hoor ruog
9. 某递归函数如下所示:
def hs(m):
if m <= 1:
f=1
else:
f=hs(m-1)+hs(m-2)
return f
ans=0
for i in range(5):
if hs(i)%2==1:
ans+=1
print(ans)
程序运行后,输出的结果是:
A. 2 B.10 C.4 D.5
10. 某二分查找算法用于查找非降序序列arr 中小于等于key 的最后一个元素位置,python 代码如
下:
arr=[1,1,4,4,4,5,5,5]
key=int(input())
L=0;R=len(arr)-1
while (1) :
mid=(L+R+1)//2
if (2) :
L=mid+1
else:
R=mid-1
print( (3) )
划线(1)(2)(3)处可供选择的语句有:
①L则正确的代码应为
A.①③⑤ B.①④⑥ C.②③⑤ D. ②④⑥
11.有如下程序段:
# 随机生成5 个正整数并存入列表s 中,代码略
def sort_indices(s):
2 / 6
n=len(s)
y=[i for i in range(n)]
for i in range(n-1):
for j in range(n-i-1):
if s[y[j]]>=s[y[j+1]]:
y[j],y[j+1]=y[j+1],y[j]
return y
执行上述程序后,若返回的结果为[2,1,0,4,3],下列选项中,列表s 中各元素值可能的是:
A.[3,2,5,1,4] B.[4,2,1,5,3] C.[5,2,1,3,4] D.[3,2,1,5,4]
12.有如下Python程序段:
s="01357987";k=3;stack=[s[0]]
for char in s[1:]:
while stack[-1]>char and k>0:
stack.pop() #从列表中移除元素并返回被移除的元素,默认最后一个元素
k-=1
stack.append(char)
while k>0:
stack.pop()
k-=1
while stack[0]=="0":
stack.pop(0)
执行该程序段后,stack的值是:
A.['1','3','5','7'] B.['7','9','8','7']
C.['0','7','9','8','7'] D.['0','1','3','5','7']
二、非选择题(本大题共 3小题,其中第 13小题 7分,第 14小题 9分,第 15小题 10分,共 26分)
13. 有一个猜数字的魔术,魔术师让观众心中默想一个
小于 50 的两位数,接着问该观众,在如第 13 题图 1 所
示的 6 张卡片中哪几张有他想的数。最后,魔术师总
能准确地猜出这个数。
小温学习了信息编码相关知识后,很快发现了该
魔术的奥秘。他发现卡片 1 中所有的数字转成二进制
后最低位都是 1,卡片 2 的所有数字转成二进制后倒
数第二位(从最低位开始数第二位)的数字都是 1,卡片
3 的所有数字转成二进制后 第 13 题图 1
倒数第三位(从最低位开始数第三位)的数字都是 1……以此类推。现编写程序,
验证小温的想法,运行结果如第 13 题图 2 所示,程序代码如下,请回答下列问题。
def judge(a,i): #参数 a 代表需要验证卡片的数据列表,参数 i 代表卡片编号
flag=False;ans=0
for j in a:
k=j//2**(i-1)
ans+= ①
if ans==len(a):

第 13 题图 2
return flag
3 / 6
#生成 6张卡片中值,并存储在 a中 a=[[1,3,5……47,49],[2,3,6……50],……]
for i in range(6): #依次验证卡片 1 到卡片 6
if ③ :
print('卡片'+str(i+1)+'验证成功')
(1)请在横线处填入合适的代码。
(2)小温的父亲的年龄在 50 岁以下,其年龄仅在卡片 1、卡片 3、卡片 4、卡片 6 出现过,则小温父
亲的年龄为 (填数字)岁。
14. 已知某校高一年级第一、二学期期中、期末考试4次成绩存储在“exam.xlsx”中,如第14题图1所示。
教务管理员对历次考试中七门选考科目考试成绩(赋分)进行处理,本着分数优先原则,将平均分最
高的两门科目作为备选科目,为高一学生选课提供参考.
(1)若某生考试缺考则该科目分数标记为0,已知总分列是所有考试科目分数总和,请对数据进行整
理,剔除缺考考生数据,划线处能实现该功能的语句是
import pandas as pd
df=pd.read_excel("exam.xlsx")
df=
(2)计算每个同学的历次考试的平均成绩
gf=
若gf对象输出后第14题图2所示,请为划线处选择合适的代码 (单选,填字母)
A. df.groupby('姓名',as_index=False).mean() B. df.groupby('姓名',as_index=True).mean()
C. df.groupby('姓名').mean() D.df.groupby('班级',as_index=False).mean()
(3)计算每个同学的两门优势学科,请在划线①②③处完善代码。 第 14 题图 2
km=gf.columns[4:11] #获取七门选考科目学科名称
gf.insert(12,"优势学科","")
4 / 6
#在总分列后插入新的一列,列标题名为“优势学科”初始值为""
for i in gf. ① :
subjectl=subject2=""
max1=max2=0
for j in range (0,len(km)):

if cj>max1:

subject1=km[j]
max2=max1
max1=cj
elif cj>max2:
subject2=km[j]
max2=cj
gf.at[i,"优势学科"]=subject1+subject2
15. 某工厂有两个生产车间,现要为两个车间生产的产品进行分组,以便后续进行检测。分组前先将
每个车间每天生产的产品排在一起:先是第一车间第一天生产的产品,再是第二车间第一天生产的产
品;接着是第一车间第二天和第二车间第二天生产的产品……。这些产品用正整数1,2,3,…进行编号。
其中,第一车间产品用0 表示,第二车间产品用1 表示。连续排在一起的同一车间的产品可以视为一
个“块”。
假设,有初始产品序列如下表:
如编号1,2,3,4 为第一车间第一天生产的产品块,5,6,7 为第二车间第一天生产的产品块,依
次类推。分组时,取每一块最左边的第一个产品组成一组,直至所有产品抽取完。注意,当取完一个
车间的产品后,其左右两块同一车间的产品会合并成一个块。例如第一组抽取的产品是(序号):
1,5,8,11,13,14,16,17,剩余产品是:
此时,剩余最左边编号是12,15,18 的三块会合成同一块,那么第二组抽取的产品只有4 个,分别是
(序号):2,6,9,12。而后第三组抽取的产品是:3,7,10,15。第四组抽取的产品是4,18。第五组抽
取的产品是19。第六组抽取的产品是20。所有产品抽完后,分组结束。
以下程序完成并输出了原始产品序列的分组情况,请回答以下问题:
(1)若产品序列是“001100010011”,则第二组抽取的产品序号是 (用正整数
按递增的顺序作答)。
(2)主程序对原始产品序列进行处理,输出了每次分组的结果。对于
题述产品序列,其输出的分组结果如下图所示,请将程序补充完整。
# 采集原始产品序列,并保存至变量s中,代码略
s = s + "." # 在产品序列串末尾放置一个点号,表示结束符
sel = [False] * len(s)
5 / 6
q, k, begin = [], 0, 0
for i in range(1, len(s)):
if ( ① ):
#为列表添加获取的块信息,包括起讫位置与车间号代码
q.append([begin, i-1, s[i-1]])
begin = i
i = 0
cnt = len(s) - 1
while cnt > 0:
print("第" + str(i+1) + "组:", end="")
q2 = selection(q, 0, len(q))
i += 1; print("")
q = mergence(q2, 0, len(q2))
(3)selection 函数实现了产品的抽取,请将程序补充完整。
def selection(q, head, tail):
global cnt # 定义cnt 为全局变量,即与主程序cnt 变量通用
q2 = [] #存储还有剩余的块
while head < tail:
f = q[head]
head += 1
while ② :
f[0] += 1
print(f[0] + 1, end=" ")
cnt -= 1
sel[f[0]] = True
if f[0] == f[1]:
continue #跳过当前循环代码块中的剩余语句,继续进行下一轮循环

q2.append(f)
return q2
(4)mergence 函数实现了产品抽取后剩余产品的调整,请将程序补充完整。
def mergence(q2, head2, tail2):
q = []
while head2 < tail2:
x = q2[head2]
head2 += 1
while head2 < tail2: #同一车间的产品合并成一个块
y = q2[head2]
if x[2] == y[2]:

head2 += 1
else:
break
q.append(x)
return q
6 / 6
同课章节目录