浙江省金砖联盟2025-2026学年高二上学期期中联考技术学科试题及答案-高中信息技术
试卷更新日期:2025-11-15 类型:期中考试
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
-
1. 下列有关数据和信息的说法,正确的是( )A、挂在博物馆的画作,就是信息 B、同一份数据在被解释成信息后,就不能再被使用 C、数据必须是以二进制的方式储存在计算机中 D、信息会与时俱进,但是数据不会随着时代发展而变化2. 使用UltraEdit软件查看字符的内码,部分界面如图所示:

以下说法正确的是( )
A、图中字符共占16位存储空间 B、字符“!”的内码是FC21 C、图中共有6个ASCII字符 D、字符“10”的内码是3A3. 下列关于数据管理与安全和大数据问题,不正确的是( )A、大数据处理一般采用分治的思想 B、非结构化数据可以用传统数据库技术进行管理 C、购物网站的个性化推荐,体现了大数据更加关注事物的相关性,而非因果关系 D、数据校验主要是为了提高数据的完整性4. 下列有关人工智能的说法,正确的是( )A、扫地机器人是强化学习模式的人工智能应用 B、将联结主义和行为主义人工智能结合使用,属于跨领域人工智能 C、符号主义人工智能不是数据驱动的,因此开发过程中不需要编写知识库 D、混合增强型智能中,可以没有人参与5. 小王用手机录制了一段30分钟视频,该视频为PAL制式(每秒25帧)每帧画面为1024*768像素、24位真彩色无声视频,并采用压缩比为30∶1的mp4格式存储,则在其手机上占的存储容量约为( )A、2GB B、337MB C、6.8GB D、3.3GB6. 某算法的部分流程图如图所示,若列表a的值为[23,37,55,45,33,42,89,70],key的值为40,执行这部分流程后,f、m的值分别为( )
A、True 3 B、True 5 C、True 4 D、False 07. 队列L中首到尾的元素依次为1,2,3,4,栈Z初始为空,约定:G操作为元素出队后入栈,W操作为元素出栈后入队,经过GGWGGWGG系列操作后,栈中从顶到底的元素依次为( )A、4231 B、2341 C、1324 D、42138. 有如下python程序段:a=[2,8,6,7,3,6,9,2,1,4,5,5,6,8,4,5,]
max=0
dic={}
for i in a:
if i not in dic:
dic[i]=1
else:
dic[i]+=1
if dic[i] >= max:
max=dic[i]
v=i
执行该程序段后,max和v的值分别为( )
A、3 3 B、9 1 C、3 6 D、3 59. BMI指数是世界卫生组织(WHO)目前常用于判断体重是否标准的简单方法,计算方法为:BMI=体重/身高平方。BMI值的标准:BMI低于18.5为偏瘦,BMI介于18.5到25之间为标准;BMI高于25为超重。小王计算出正确BMI值后,编写代码根据BMI值判断体重是否标准,下列选项中正确的是( )A.
s="偏瘦"
if BMI>25:
s="超重"
elif BMI<=25:
s="标准"
B.
if 18.5<BMI<25:
s="标准"
elif BMI>25:
s="超重"
else:
s="偏瘦"
C.
s="标准"
if BMI>25:
s="超重"
elif BMI<18.5:
s="偏瘦"
D.
if BMI>25:
s="超重"
if 18.5<=BMI<=25:
s="标准"
else:
s="偏瘦"
A、A B、B C、C D、D10. 执行下列Python程序段后,b[1]的值是( )a =[11,3,23,7;10;19]
n= len(a)
b=[0]*n
for i in range(1,n):
for j in range(1,n-i+1):
if a[j]>a[j-1]:
a[j],a[j-1] = a[j-1],a[j]
b[i]+=1
A、1 B、2 C、3 D、411. 若字符x的值为“tuvwxyz”,执行如下程序后,变量res的值不可能是( )from random import randint
x=" tuvwxyz"
res=""
i=0
j= len(x)//2.
while j < len(x) and i < len(x)//2:
if randint(0,1) == 0:
res+=x[i]
i+=1
else:
res+=x[j]
j=j+1
print(res)
A、tuwv B、twxyz C、wtuv D、twuvxyz12. a=[[34,1],[45,3],[31,0],[66,5],[23,2],[70,-1]],该列表中的数据元素是一个升序链表,以下python代码段可以完成在该链表中插入新数据并保持升序特性,则划线处应填入代码为( )a=[[34,1],[45,3],[31,0],[66,5],[23,2],[70,-1]]
head=4
b= int(input("请输入需要插入的数据"))
p=q= head
a.append([b,-1])
①
while ② :
q=p
p=a[p][1]
if p==head:
a[m][1]=head
head=m
else:
③
a[q][1]=m
print(a)
A、①m=len(a)-1 ②p!=-1 and a[p][0]<=b ③}a[m][1]=q B、①m=len(a) ②q!=-1 and a[p][0]<=b ③a[m][1]=p C、①m=len(a)-1 ②p!=-1 and a[p][0]<=b ③a[m][1]=p D、①m=len(a) ②p!=-1 and a[p][0]<=b ③a[m-1][1]=p二、非选择题(本大题共3小题,第13小题7分,第14小题9分,第15小题10分,共26分)
-
13. 小李在学习了数的编码后,他用python编写了一个程序,可以实现十六进制转二进制运算,程序代码如下:
(1)将程序中加框处的代码,改为“print(result)”,则当输入十六进制值为“1A”时,输出为。
(2)请在划线处填入合适代码,完善功能。
def ltos(x):
s=""
for i in range(len(x)):
s=s+str(x[i])
if s[0] == "0":
for i in range(1,len(x)):
if s[i] != "0":
①
break
return s
num=[8,4,2,1]
H=input("请输入一个十六进制值:")
b=[0,0,0,0]
result=[]
for i in range(len(H)):
if "0"<=H[i]<="9":
a=int(H[i])
else:
②
for j in range(len(num)):
if a-num[j]>=0:
b[j]=1
a=a-num[j]
result+=b
③
print("该十六进制的二进制值为:",ltos(result))
14. 某公司正在开发一款新游戏,为了能够更好的开发,公司对其员工进行了一次问卷调查。调查的结果保存在search.xlsx,部分内容如图1。请你帮助该公司编写Python程序来进行统计。
图1
(1)检查发现第一条数据的“工龄”项存在逻辑错误,下列做法正确的是(单选)。
A.统计剩余的CG设计师工龄平均值,用平均值代替该数据。
B.向该CG设计师本人再次询问,确认其真实工龄,然后修改数据。
C.工龄数据可能已经遭到破坏,重新对所有人再次进行问卷调查,防止统计出错。
(2)解决的数据的错误后,现在按照职业进行分类,要求统计各个职业的平均工龄和最常用的工作软件,统计结果列表age和software中。实现该功能的Python程序如下。
import pandas as pd
import matplotlib.pyplot as plt
career = ["游戏设计","程序设计","CG设计师","算法工程师","音频","美术设计","编剧"]
df = pd.read excel(" search.xlsx")
age,software = [0] * len(career),[""] * len(career)
k =0
for crr in career:
dfl = df[①] #在df中找到所有与crr匹配的数据
df2= df1.groupby("工作软件",as index= False).姓名.count()
age[k] = ②
software[k] = ③ #找到出现次数最多的工作软件名称
k +=1
for i in range(k):
print("职业:",career[i],"平均年龄:",age[i],"最常用工作软件:",software[i])
请在划线处①②填入合适的代码。
为③处选择合适代码(单选)。
A.df2.max()
B.df2.sort_values(“姓名”,ascending=False).工作软件[0]
C.df2.工作软件.max()
(3)在以上统计的基础上,该公司要确定最适合该公司开发的游戏类型。编写程序完成统计,并画出如图2的柱状图。实现该功能的代码如下,请在划线处填入合适的代码。
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.Unicode_minus']=False #用来正常显示负号
df2=df.groupby("擅长类型").count() /len(df)*100
df2.rename(columns={"姓名":"人数"},inplace=True)
plt.bar(,df2.人数,label="游戏类型%")
plt.title("**公司游戏开发类型汇总")
plt.legend()
plt.show()

图2
15. 小胡同学听了课堂上老师个农夫过河的算法知后,经过自己的努力用python编程实现了过河方案的输出,以下是他的程序代码,农夫过河的规则如下:农夫需带狼、羊、白菜从左岸到右岸,渡口只有一条小船,船只能容下一人和另外一样东西(狼、羊、白菜其中之一),而且只有农夫才能撑船。
农夫不在狼吃羊、羊吃白菜。
请根据规则和程序代码完成以下任务:
(1)根据小胡同学的程序代码,渡河4次(从左往右或从右往左均按一次渡河计)留在右岸的是。
(2)请在划线处填入合适代码,完善功能
def disp(d,i):
name = "狼","菜","羊"
if d == 1:
disp = "从左岸送" + name[i] + "至右岸,
elif d == 2:
disp="从右岸送"+name[i]+"至左岸,"
return disp
process=""
right=[0,0,0]; left=[1,1,1]
rule=[[1,0,1],[0,1,1]]
right_rule=[]
ltemp=[]; rtemp=[]
itemp=[]; ptemp=[]
j=0; c=0
flag=True
while True:
i=j
while i <= 2:
num=-1
if left[i] == 1:
template=left[:]; template[i]=0
temp2=right[:]; temp2[i]=1
if template not in rule and temp2 not in right_rule:
if i < 2 and sum(left[i:]) >= 2:
ltemp.append(left[:]); rtemp.append(right[:])
itemp.append(i); ptemp.append(process)
left[i]=0; right[i]=1
process+=disp(1,i)
①
break
i=i+1
if right == [1,1,1]and len(ltemp) == 0:
break
elif num == -1:
if len(ltemp) == 0:
break
elif right == [1,1,1]:
c+=1
print("方案"+str(c),process)

left=ltemp.pop() #pop()作用是从列表中取最后一个元素的值并删除该元素
right=rtemp.pop()
j= ②
process=ptemp.pop()
continue
if sum(right) == 2 ③:
right_rule.append(right[:])
for i in range (0,3):
if i != num and right[i] == 1:
right[i]=0
left[i]=1
j=0
④
elif right!=[1,1,1]:
process+="从右岸空船返回左岸,"
if c==0:
print("无解决方案!")
(3)如果删除加框处的代码,是否改变程序运行的结果?(填:是或否)