资源简介 浙江省浙南名校联盟2024-2025学年高二下学期期中考试信息技术一、选择题1.小明使用Python爬取了社交媒体、短视频、电商购物等平台相关数据,完成电影《哪吒2》角色热度的大数据分析,并通过文字、图像等形式呈现了主要人物的热度状况和商业价值。(角色热度=0.4×社交声量+0.3×搜索指数+0.2×二创播放量+0.1×周边销量)下列关于数据、信息和知识的说法正确的是( )A.材料中提到的数据均为结构化数据B.可以采用柱形图反映“申公豹”角色热度在主要人物中的占比C.通过预先设定的公式得到角色热度,这是知识的体现D.人物的热度和商业价值对所有人价值是相同的2.小明使用Python爬取了社交媒体、短视频、电商购物等平台相关数据,完成电影《哪吒2》角色热度的大数据分析,并通过文字、图像等形式呈现了主要人物的热度状况和商业价值。(角色热度=0.4×社交声量+0.3×搜索指数+0.2×二创播放量+0.1×周边销量)电影中的主要人物共有10位,其中8位男性,2位女性。若使用二进制对这些人物进行编码,二进制编码的第1位表示性别,其余位表示人物编号,则所需的二进制位数至少是( )A.3 B.4 C.5 D.93.小明使用Python爬取了社交媒体、短视频、电商购物等平台相关数据,完成电影《哪吒2》角色热度的大数据分析,并通过文字、图像等形式呈现了主要人物的热度状况和商业价值。(角色热度=0.4×社交声量+0.3×搜索指数+0.2×二创播放量+0.1×周边销量)小明用Python实现数据分析的过程中,未涉及人工智能技术的是( )A.使用DeepSeek生成主要人物的简介B.根据公式计算角色热度C.使用图像识别获取平台的验证码D.使用训练好的算法模型,预测“石矶娘娘”角色未来的热度趋势4.某校开发智能小卖铺信息系统,实现了自助选购、多种支付、智能库存管理等核心功能。顾客可以自助选择商品放入智能货柜;智能货柜配备RFID,服务器通过数据分析和用户反馈,不断优化商品和服务,满足校园内学生和教职工的多样化需求。下列关于该系统组成与功能的说法,正确的是( )A.该系统可通过射频识别技术采集信息B.该系统的用户只包括顾客和后台管理员C.该系统中的硬件只有智能货柜和服务器D.该系统不具有数据输出和查询功能5.某校开发智能小卖铺信息系统,实现了自助选购、多种支付、智能库存管理等核心功能。顾客可以自助选择商品放入智能货柜;智能货柜配备RFID,服务器通过数据分析和用户反馈,不断优化商品和服务,满足校园内学生和教职工的多样化需求。下列关于智能货柜的描述,正确的是( )A.摄像头是智能货柜的输出设备B.智能货柜只能存储数据,不能处理数据C.智能货柜不需要安装软件也能正常工作D.智能货柜需有IP地址才能与服务器连接6.下列关于网络技术的说法,不正确的是( )A.网络的功能包括数据通信、资源共享和分布处理B.网络是由计算机系统、数据通信系统以及网络软件和网络协议三部分组成C.要将局域网接入互联网,须通过路由器将私有地址转化为公有地址D.无线路由器开启DHCP服务后,手机接入无线网络无需IP地址7.某算法的部分流程图如题图所示,执行这部分流程,若输入n的值为36,则输出c的值是( )A.2 B.3 C.4 D.58.某二叉树的前序遍历与中序遍历都为ABCD,下列说法正确的是( )A.叶子个数为1 B.后序遍历为ABCD C.该二叉树是完全二叉树 D.树的度为29.现有一队列"ECBAD"可以进行如下两种操作:①队首出队后入队②队首出队进入结果区。要求结果区为"ABCDE",则D被执行①操作的次数至少为( )A.1 B.2 C.3 D.410.有如下Python程序段:s=input("请输入:")top=-1stack=[""]*10for i in range(len(s)):if top==-1 or stack[top]!=s[i]:top+=1stack[top]=s[i]else:top-=1print(top+1)执行该程序段后,当变量s取下列哪个值时,程序的输出结果与其他选项不同( )A."aabbc" B."aaabbac" C."bbcaa" D."aabcb"11.有Python代码段如下:a=[11,4,2,13,6,5,3,6,19,1]for i in range(len(a)-2,-1,-1):key=a[i](1)while ja[j-1]=a[j]j+=1(2)print(a)划线处(1)、(2)处可选代码如下:①j=i-1 ②j=i+1 ③a[j-1]=key ④a[j+1]=key为使得数组a实现降序排序,则划线处代码正确的是( )A.①③ B.①④ C.②③ D.②④12.有如下Python程序段:#列表a初始值略i=k=0;j=len(a)-1while k<=j:if a[k]%3==0:a[i],a[k]=a[k],a[i]i+=1elif a[k]%3!=1:a[j],a[k]=a[k],a[j]k-=1j-=1k+=1列表 a 在执行该程序段后,a中元素被分成三部分,这三部分对应的列表是( )A.a[:i],a[i:j],a[k:] B.a[:i+1],a[i:j+1],a[j+1:]C.a[:i],a[i:k],a[k:] D.a[:i+1],a[i:j],a[k+1:]二、操作题13.小红设计了一个检测机房空调制冷效果的系统。学校5个机房,机房0到机房4中各设置4个温度传感器(编号0~3),每分钟采集温度数据并发送给服务器,采集数据的格式为机房id+传感器id+温度,如'4127'代表4号机房的1号传感器温度为27。当机房平均温度高于30度时打开该机房空调,当平均温度低于26度时则关闭空调。如果空调连续制冷180分钟温度仍然无法降至26度以下,说明空调故障需要维修。请回答下列问题:(1)若某次采集到的数据data为['1130','2124','1332','1228','2021','1031','2323','2221',……],则机房1空调状态应调整为 (选填,填文字:开/关)(2)实现上述功能的部分Python程序如下,请在划线处填入合适代码。n=5 # 房间数量s=[0]*n #存放每个房间空调的状态,1为打开,0为关闭time=[0]*nlimit=[26,30]while True:#延迟1分钟,接受各房间的温度传感器数据存入列表data(共有20个元素)中,代码略temp=[0]*n #存放每个房间的平均温度for i in range(len(data)):temp[rid]+=int(data[i][2:])/4for i in range(n):if :s[i]=1elif temp[i]s[i]=0time[i]=0# 将控制指令s发送给空调,代码略if time[i]>=180:# 发送故障机房信息给维修人员,代码略14.某校高二段n个班级举行飞镖比赛,初赛每位学生投掷飞镖并记录总成绩,每班录取前3名学生(成绩相同也被录取)。用Python程序实现各班按成绩降序输出,输出内容为班级、序号、总成绩,运行结果如题图所示,请回答下列问题:(1)定义如下insert(h,info)函数,指针h指向该班的头节点,列表info的4个数据项依次为班级编号、学生序号、总成绩、后一节点的指针(初值为-1)。函数的功能是将学生信息info插入到指定班级的链表中,并确保链表中的节点按总成绩从高到低排序,返回该班级的头指针。请在划线处填入合适的代码def insert(h,info): # 插入节点,使链表仍然降序if h==-1: # 如果链表为空,直接插入#代码略elif info[2]>lst[h][2]:lst.append(info)lst[len(lst)-1][3]=helse:p=hq=lst[p][3]while q!=-1 and lst[q][2]>info[2]:q=lst[q][3]lst.append(info)lst[p][3]=len(lst)-1lst[len(lst)-1][3]=qreturn h(2)实现按照总成绩从高到低输出指定班级前3名学生信息的Python程序如下,请在划线处填入合适的代码def get(h):p=hnum=0last=-1while p!=-1 and():print(lst[p][0:3],end="")num+=1p=lst[p][3]print()'''读取班级数n,读取学生参赛信息存入列表data,每个元素为字符串,例如['S010138','S010239','S010340',……,'S032635'],其中'S010138'表示班级01学生序号01总成绩为38,代码略'''lst=[]head=[-1]*nfor i in data:xh=i[3:5]score=int(i[5:])info=[bj,xh,score,-1]head[bj-1]=insert(head[bj-1],info)print("初赛录取名单")for i in range(n):print("班级",i+1,":",end="")get(head[i])(3)程序中加框处代码有错,请改正。三、综合题15.小明设计了温湿度环境监测系统。该系统可以监测三个西红柿棚的温度和湿度,通过浏览器实时查看监测结果和历史数据。请回答以下问题:(1)该信息系统网络应用软件实现架构是 (单选,填字母:A.B/S架构/B.C/S架构)(2)小明用Flask框架编写Web应用程序,部分代码如下:①app=Flask(__name__)②@app.route("/")③from flask import Flask④app.run()⑤def index(): #具体代码略上述语句执行的先后顺序正确的是( )(单选,填字母)A.③①②⑤④ B.③②①⑤④ C.③①②④⑤ D.①②④⑤③(3)白天西红柿适宜生长的湿度范围是smin~smax。现要求当湿度s正常、偏低、偏高时,将flag的值对应设为0、1、2。下列Python程序段中符合要求的有 (多选,填字母)。A.if ssmax: flag=2 else: flag=0 B.if smin<=s<=smax: flag=0 elif s>smax: flag=2 else: flag=1 C.flag=0 if s>smax: flag=2 else: flag=1 D.flag=1 if s>smax: flag=2 elif s>=smin: flag=0A.A B.B C.C D.D(4)小明查询到某日三个棚白天(6:00-18:00)的温湿度数据,并将数据存入“day.xlsx”中,如题图a所示。小明编写Python程序,实现输入编号,可筛选出该棚的数据,并制作出该棚某日白天的每小时平均温度变化情况,如题图b所示。部分代码如下,请在划线处填入合适的代码。import matplotlib.pyplot as pltplt.rcParams["font.sans-serif"]=["SimHei"] #设置字体格式df=pd.read_excel("day.xlsx")num=int(input("输入要查询西红柿棚的编号:"))df.insert(1,"小时","")for i in range(len(df)):df.at[i,"小时"]=str(df.at[i,"时间"])[:2]df1=df[ ] # 填代码df2=df1.groupby("小时",as_index=False).温度. # 填代码plt.plot(___________) # 选填(5)下列选项中,可以正确填入________中的是( )(单选,填字母)A.df2.index,df2.values B.df2.index,df2.温度C.df2.小时,df2.温度 D.df2.小时,df2.values题号 1 2 3 4 5 6 7 8 9 10答案 C B B A D D C A B D题号 11 12答案 C C13. 开 rid=int(data[i][0]) temp[i]>limit[1]或temp[i]>30 time[i]+=s[i]或time[i]=time[i]+s[i]【详解】本题考查python程序设计。(1)计算机房 1 的平均温度:数据中机房 1 的温度分别为 30、32、28、31,平均温度为 (30+32+28+31)÷4=30.25,高于 30 度,所以机房 1 空调状态应调整为开。(2) ① 提取每个数据的机房编号 rid,此处需要从采集的数据 data 中提取出机房编号。因为数据格式为 “机房 id + 传感器 id + 温度”,所以可以通过取字符串中索引为0的第 1 个字符并转换为整数来得到机房编号。代码为:rid = int(data[i][0])。 ②已知 limit 列表存储了温度阈值,limit[0] 为 26 度(关闭空调的温度阈值),limit[1] 为 30 度(打开空调的温度阈值)。 当机房的平均温度 temp[i] 高于 30 度时,需要打开该机房的空调,即条件为:temp[i] > limit[1]或temp[i]>30 。 ③ 这里要实现的功能是对空调连续制冷时间进行累计。变量 s[i] 表示机房 i 的空调状态,1 为打开,0 为关闭;time[i] 用于记录机房 i 空调连续制冷的时间。当空调处于打开状态(即 s[i] 为 1)时,每过一分钟需要将制冷时间加 1;当空调关闭时(s[i] 为 0),制冷时间不增加。代码为:time[i]+=s[i]或time[i]=time[i]+s[i]。14. h= len(lst)-1或return len(lst)-1 p=q last=lst[p][2] bj=int(i[1:3]) num<3 or lst[p][2]==last【详解】本题考查链表。(1)insert 函数的目的是将学生信息 info 插入到指定班级的链表中,并且保证链表中的节点按照总成绩从高到低排序。①处,当新节点的总成绩大于当前链表头节点的总成绩时,首先,执行 lst.append(info) 将新节点添加到列表 lst 的末尾。 接着,lst[len(lst) - 1][3] = h 将新节点的指针指向原来的头节点,此时新节点成为新的头节点。 所以,需要更新头指针 h 的值为新节点在 lst 中的索引,即 h = len(lst) - 1。这样,链表的头指针就指向了新插入的节点,新节点成为了链表的第一个节点。②处,在链表中查找合适的插入位置时,程序使用两个指针 p 和 q 来遍历链表,p 初始指向头节点 h,q 初始指向 lst[p][3](即 p 节点的下一个节点)。 在 while 循环中,只要 q 不为 -1(表示未到达链表末尾)且 lst[q][2] > info[2](即 q 节点的总成绩大于新节点的总成绩),就需要继续向后查找插入位置。 在每次循环中,需要将 p 指针移动到 q 指针的位置,以便继续向后遍历链表,所以 p = q。(2)主程序的主要功能是读取学生参赛信息,将每个学生的信息插入到对应的班级链表中,然后按班级输出前 3 名学生的信息。 ①处,get 函数用于输出指定班级前 3 名学生的信息。 在遍历链表时,需要记录当前节点的总成绩,以便判断后续节点的总成绩是否与当前成绩相同。 所以,在每次输出一个节点的信息后,使用 last = lst[p][2] 记录当前节点的总成绩。②处,已知学生参赛信息存储在列表 data 中,每个元素是一个字符串,例如 'S010138' 表示班级 01 学生序号 01 总成绩为 38。 要从字符串中提取班级编号,字符串的第 2 到 3 个字符表示班级编号,所以使用 bj = int(i[1:3]) 提取并转换为整数类型。(3)原条件存在逻辑错误。 原条件的含义是当已经输出的学生数量大于 3 且当前节点的总成绩等于上一个节点的总成绩时才继续输出,这与题目要求不符。 正确的逻辑应该是当已经输出的学生数量小于 3 或者当前节点的总成绩等于上一个节点的总成绩时,继续输出该节点的信息。所以应改为 num < 3 or lst[p][2] == last。这样可以确保输出前 3 名学生的信息,并且如果有成绩相同的学生也会一并输出。15. A A BD df.棚编号==num或df["棚编号"]==num mean() C【详解】本题考查搭建信息系统。(1)B/S 架构:即浏览器 / 服务器架构,用户通过浏览器访问服务器上的应用,无需安装专门客户端。C/S 架构:即客户端 / 服务器架构,需要安装专门客户端软件。 题目中提到通过浏览器实时查看监测结果和历史数据,符合 B/S 架构特点,所以选 A。(2)flask 代码执行顺序:先导入 Flask(③),创建 app 实例(①),定义路由(②),定义视图函数(⑤),最后运行 app(④)。选 A。(3)A:逻辑错误,当 s < smin 时,会因后续 else 导致 flag 被错误修改。 B:s 在正常范围设 flag=0,偏高设 flag=2,偏低设 flag=1,正确。 C:逻辑错误,无法正确区分正常和偏低。 D:先设 flag=1(偏低初始),若 s > smax 设 flag=2(偏高),若 s >= smin 设 flag=0(正常),正确。 选 BD。(4)①处,筛选棚编号为num的数据,利用布尔索引筛选数据,该空为df.棚编号==num或df["棚编号"]==num。②处,分组求每小时温度平均值:df1.groupby("小时", as_index=False).温度.mean(),groupby按小时分组,mean()求温度平均值,该空为mean()。(5)选项 C:df2.小时作为x轴(小时),df2.温度作为y轴(温度),符合绘图要求。选项 A 中df2.values包含多列数据,不适合;选项 B 中df2.index是索引(整数),不是小时;选项 D 中df2.values不合适。所以选 C。 展开更多...... 收起↑ 资源预览