内容正文:
高三年级技术学科
考生须知:
1.本卷满分100分,考试时间90分钟。
2.答题前,在答题卷指定区域填写学校、班级、姓名、试场号、座位号及准考证号。
3.所有答案必须写在答题卷上,写在试卷上无效。4.考试结束后,只需上交答题卷。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 下列关于数据与信息的说法,不正确的是( )
A. 数据的表现形式可以是文本、图像、声音等 B. 信息依附于一定的载体,其载体不会发生改变
C. 模拟信号经过模数转换后,可在计算机中保存 D. 信息的价值是相对的,对于不同的人其价值会有所不同
【答案】B
【解析】
【详解】本题考查的是数据与信息。信息的载体是多种多样的,可以发生改变。例如信息可以通过纸质文件、电子邮件、USB存储设备等不同载体来传递和存储。因此,说信息依附于一定的载体,其载体不会发生改变是不正确的。故选B。
2. 在建设智慧校园时,不少学校引入电子班牌系统。该系统的主要应用场景:签到、请假、家校沟通、信息发布等,学生可以通过电子班牌与家长通话,教师可以发布班级公告等,所有的数据都存储在云服务器上。该电子班牌的主要参数和功能如下表所示。
CPU
四核 1.80GH
显示器
1920×1080 多点触摸
内存
4G DDR+32G
摄像头
400W 摄像头
读卡器
支持NFC读卡
操作系统
安卓7.1
下列关于该信息系统组成与功能的描述,不正确的是( )
A. 安卓属于该信息系统的系统软件 B. 该信息系统的用户包括教师和学生等
C. 多点触摸显示器不具备数据输入功能 D. 该系统具有数据处理、存储及传输等功能
【答案】C
【解析】
【详解】本题考查信息系统相关内容。安卓是一种操作系统,而操作系统属于系统软件,它为电子班牌系统提供了运行环境和基本的管理功能。“学生可以通过电子班牌与家长通话,教师可以发布班级公告等”,这表明教师和学生是该信息系统的主要用户,除此之外可能还有学校管理人员等。多点触摸显示器是具备数据输入功能的,例如,学生可以通过触摸显示器进行签到、选择请假等操作,这些操作都属于数据输入。该系统具有数据处理、存储及传输等功能。故本题答案是C选项。
3. 在建设智慧校园时,不少学校引入电子班牌系统。该系统的主要应用场景:签到、请假、家校沟通、信息发布等,学生可以通过电子班牌与家长通话,教师可以发布班级公告等,所有的数据都存储在云服务器上。该电子班牌的主要参数和功能如下表所示。
CPU
四核 1.80GH
显示器
1920×1080 多点触摸
内存
4G DDR+32G
摄像头
400W 摄像头
读卡器
支持NFC读卡
操作系统
安卓7.1
该系统的下列应用中,体现人工智能技术的是( )
A. 教师发布的多条班级公告自动循环播放 B. 系统自动将请假学生姓名以短信方式发送至班主任手机
C. 学生进教室时摄像头自动识别人脸并签到 D. 上课时班牌自动显示当前任课教师信息
【答案】C
【解析】
【详解】本题考查的是人工智能。人工智能技术包括机器学习、计算机视觉、自然语言处理等。题中的“学生进教室时摄像头自动识别人脸并签到”体现了计算机视觉中的人脸识别技术,是人工智能的应用。而其他选项如公告自动循环播放、短信发送等功能属于自动化操作,不涉及人工智能技术。故选C。
4. 在建设智慧校园时,不少学校引入电子班牌系统。该系统的主要应用场景:签到、请假、家校沟通、信息发布等,学生可以通过电子班牌与家长通话,教师可以发布班级公告等,所有的数据都存储在云服务器上。该电子班牌的主要参数和功能如下表所示。
CPU
四核 1.80GH
显示器
1920×1080 多点触摸
内存
4G DDR+32G
摄像头
400W 摄像头
读卡器
支持NFC读卡
操作系统
安卓7.1
下列关于该信息系统安全性的说法,不正确的是( )
A. 为教师和学生设置不同的系统访问权限 B. 与家长聊天前,学生需通过人脸识别验证
C. 及时更新系统补丁,防止不法分子利用漏洞恶意攻击 D. 数据存储在云服务器,则消除了系统的安全隐患
【答案】D
【解析】
【详解】本题考查信息系统安全性。数据存储在云服务器并不能完全消除系统的安全隐患,因为云服务器也有可能面临各种安全威胁,如数据泄露、黑客攻击等,还需要进行多层次的安全防护措施。另外的选项为教师和学生设置不同的系统访问权限、与家长聊天前学生需通过人脸识别验证、及时更新系统补丁,都是实际可以提升信息系统安全性的有效措施。因此“数据存储在云服务器,则消除了系统的安全隐患”是不正确的说法。故选D。
5. 在建设智慧校园时,不少学校引入电子班牌系统。该系统的主要应用场景:签到、请假、家校沟通、信息发布等,学生可以通过电子班牌与家长通话,教师可以发布班级公告等,所有的数据都存储在云服务器上。该电子班牌的主要参数和功能如下表所示。
CPU
四核 1.80GH
显示器
1920×1080 多点触摸
内存
4G DDR+32G
摄像头
400W 摄像头
读卡器
支持NFC读卡
操作系统
安卓7.1
以下关于该系统网络的说法,正确的是( )
A. 同一年级的电子班牌需设置为同一IP地址 B. 云服务器无需安装操作系统
C. 路由器是组建校园网络的重要设备之一 D. 智慧校园中的数据通信必须通过移动通信网络实现
【答案】C
【解析】
【详解】本题考查信息系统相关内容。同一年级的电子班牌如果设置为同一IP地址,会导致网络冲突,无法正常通信和工作,每个电子班牌都应该有唯一的IP地址。云服务器也是一种计算机设备,它需要安装操作系统来管理硬件资源和运行各种服务及应用程序。路由器是连接不同网络的设备,在组建校园网络时,它可以将校园内的各个子网连接起来,实现不同区域、不同设备之间的网络通信和数据传输,是非常重要的网络设备之一。智慧校园中的数据通信不一定必须通过移动通信网络实现,还可以通过校园内的局域网等有线网络来实现。故本题答案是C选项。
6. 某位图图像最多需要表示500种颜色,若采用十六进制给每种颜色编号,至少需要的编码位数是( )
A. 4 B. 3 C. 2 D. 1
【答案】B
【解析】
【详解】本题考查的是编码相关知识。n位十六进制数最多能表示16n种颜色。由162=256<500,163=4096>500,可知n=3,故至少要用3位十六进制数进行编码。故本题应选B。
7. 栈st1从栈底到栈顶的元素依次为“名”“校”“协”“作”“体”,栈st2初始为空。约定:→n操作是执行n次从st1中出栈并到st2入栈,↑n操作是执行n次从st2中出栈并输出,←n操作是执行n次从st2中出栈并到st1入栈。经过→4↑1←2↑1→3↑2系列操作后,则输出的元素依次为( )
A. “名”“校”“作”“协” B. “校”“协”“体”“作” C. “名”“校”“协”“作” D. “校”“体”“名”“协”
【答案】D
【解析】
【详解】本题考查的是栈的操作。
原始状态:st1 = ["名", "校","协", "作", "体"],st2 = []
执行→4操作:将栈st1的顶部4个元素移动到栈st2。st1 = ["名"], st2 = ["体", "作", "协", "校"]
执行↑1操作:输出栈st2顶部1个元素。 输出 ["校"],st2 = ["体", "作","协"]
执行←2操作:将栈st2的顶部2个元素移动回栈st1。 st1 = ["名", "协", "作"],st2 = ["体"]
执行↑1操作:输出栈st2的顶部1个元素。输出 ["校", "体"], st2 = []
执行→3操作:将栈st1的顶部3个元素移动到栈st2。st1 = [], st2 = ["作", "协", "名"]
执行↑2操作:输出栈st2的顶部2个元素。 输出 ["校", "体","名","协"]
故选D。
8. 有以下Python程序段:
s=[5,9,8,6,7,1,4,2]
n=len(s)
for i in range(1,n//2):
for j in range( ):
if s[j] < s[j-1]:
s[j],s[j-1]=s[j-1],s[j]
执行该程序段后实现数据部分有序,结果s的值为[5,9,1,6,7,8,4,2],则划线处的代码是( )
A. n-3,i+1,-1 B. i+1, n-i-1 C. n-1,i-1,-1 D. 2,n-i+1
【答案】A
【解析】
【详解】本题考查的是冒泡排序的变形。元素 1 从索引 5 移动到了索引 2,元素 8 从索引 2 移动到了索引 5,表明是从后往前遍历,故排除选项BD;选项C,若从n-1开始,程序执行后,应该是最后3个元素是非降序(由外循环及if语句可知),故选项C不行。故本题应选A。
9. 有如下两段Python程序:
def fact1(n):
s=0
while n != 0:
s+=n%2
n=n//2
return s
def fact2(n):
if n == 1:
return l
else:
return
对于任意正整数n(n>=2),两个函数的返回值相等,则方框处的代码是( )
A. n%2+fact2(n//2) B. str(n%2)+fact2(n//2) C. fact2(n%2)+str(n//2) D. n//2+fact2(n%2)
【答案】A
【解析】
【详解】本题考查Python程序设计相关内容。分析两个程序段,fact1函数的功能是统计n的二进制表示中1的个数。若对于任意正整数n(n>=2),两个函数的返回值相等,则函数fact2应与fact1功能相同。A选项,当n为偶数时,n%2为0,此时递归计算n//2的二进制中1的个数,然后加上0,符合计算二进制中1的个数的功能需求。当n为奇数时,n%2为1,递归计算n//2的二进制中1的个数,然后加上1,也符合功能需求(奇数的二进制表示中最后一位是1,去掉这一位后,剩下的部分就是n//2的二进制表示,所以要加上这一位的1),选项正确。B选项,str(n%2)将n%2转换为字符串,不符合功能需求,选项错误。C选项,先对n%2进行递归调用,但是n%2的值只有0或1,对于0或1再进行递归调用是没有意义的,而且还将n//2转换为字符串进行拼接,不符合功能需求,选项错误。D选项,先计算n//2,然后加上对n%2的递归结果,不符合功能需求,选项错误。故本题答案是A选项。
10. 有如下Python程序段:
import random
que=["a","b","c","d","","","","","","]
head=0;tail=4;ans=""
for i in range(5):
if random.randint(0,1) == 0:
ans += que[head]
que[tail]=que[head]
head += 1
tail += 1
else:
head +=1
执行该程序段后,ans的值不可能是( )
A. "bcc" B. "aa" C. "bcdb" D. "abcd"
【答案】A
【解析】
【详解】本题考查队列。这段 Python 程序使用了一个列表 que 来模拟队列,head 和 tail 分别表示队列的头和尾指针,ans 用于存储最终的结果字符串。程序通过一个 for 循环执行 5 次操作,每次操作根据随机数 random.randint(0, 1) 的结果进行不同的处理: 若随机数为 0,则将队列头部元素添加到 ans 中,同时将该元素复制到队列尾部,然后 head 和 tail 指针都向后移动一位。 若随机数为 1,则仅将 head 指针向后移动一位。由于不论if条件是否满足,head指针都会后移,所以,第五次循环时,head=4,此时,若if语句成立,则ans的最后一个字符必定为que[4],而que[4]的值是第一次if语句成立时que[head]的值,即ans字符的首尾字符是相同的。若if语句不成立,则ans的最后一个字符必定取不到que[4]及其后的字符,即ans字符必是不重复的。因此,本题选择A。
11. 某二分查找算法Python 程序段如下
i j, n = 0, len(a)-1,0
while i <= j:
if key > a[m]:
i=m+1; n +=1
else:
j=m-1; n-=1
当a为[0,1,2,3,4,5,6,7]时,运行该程序段查找key得到的n值,与把加框处语句改为m=(i+j+1)//2后得到的n值相等,则key可能是( )
A. 0 B. 1 C. 2 D. 3
【答案】C
【解析】
【详解】本题考查Python程序设计相关内容。分析程序段,推知:当m=(i+j)//2时,分别将四个选项key值代入程序段,得到的n值分别为:-3、-1、-1、1;当m=(i+j+1)//2时,分别将四个选项的key值代入程序段,得到的n值分别为:-4、-2、-1、-1。由此可得key值为2时,m=(i+j)//2与m=(i+j+1)//2得到的n值相等。故本题答案是C选项。
12. 有如下Python程序段:
link=[[2,1],[2,2],[2,3],[5,4],[6,-1]]
pre = head=0
cur=link[pre][1]
while cur != -1:
if link[pre][0] != link[cur][0]:
(1)
else:
(2)
(3)
p=head
while p != -1:
print(link[p][0],end=" ")
p=link[p][1]
删除升序链表link中重复的数据,仅保留下不重复的数据,上述程序中划线处可选语句为
①cur=link[cur][1] ②pre=cur ③link[pre][1]=link[cur][1]
则(1)、(2)、(3)处正确的语句顺序是( )
A. ③②① B. ③①② C. ②①③ D. ②③①
【答案】D
【解析】
【详解】本题考查Python程序设计相关内容。本题涉及到链表操作。分析程序段,while循环中,若link[pre][0]!=link[cur][0]时,说明当前节点和下一个节点的数据不重复,不需要删除cur节点,此时pre指针要移动到cur节点,因为cur节点的数据是不重复的,要保留,所以应执行pre=cur,对应语句②。若link[pre][0]==link[cur][0]时,说明当前节点和下一个节点的数据重复,需要删除cur节点,删除链表节点的操作是将pre节点的下一个节点指针(即link[pre][1])指向cur节点的下一个节点,即link[pre][1]=link[cur][1],对应语句③。无论是否删除了cur节点,都要继续移动cur指针到下一个节点(如果存在),以便继续检查后续节点是否重复,所以cur=link[cur][1],对应语句①。所以(1)、(2)、(3)处正确的语句顺序是②③①。故本题答案是D选项。
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 某城市2024年前13周新能源汽车销量表部分数据如图a所示,表中共有四个汽车品牌,记录着各品牌每日的销量数据,请回答下列问题。
图a
(1)定义week_sale函数,功能为读取该城市前13周各品牌新能源汽车每日销量表,返回某品牌新能源汽车的每周销量。函数代码如下,请在划线处填入合适的代码。
2024年前13周汽车品牌A周销量趋势图
图b
def week_sale(brand):
import pandas as pd
df = pd.read_excel("sale.xlsx")
df1=df[df["品牌"]==brand]
df1=dflsort_values("①____")
df1.reset_index(drop=True) #索引重建
sale=[0]*13
s=0
for i in df1.index:
day = df1.at[i,"销量"]
②____
if i%7 == 6:
sale[i//7]=s
③____
return sale
(2)输入某新能源汽车品牌(例如品牌A),绘制前13周该品牌周销量线形图如图b所示。部分Python代码如下,加框处填入的代码为____(单选,填字母)。
import matplotlib.pyplot as plt
brand = input("请输入品牌:")
sales=week_sale(brand)
weeks=[i for i in range(1,14)]
plt.plot()
#显示如图b所示的线型图,设置绘图参数,代码略
A.df["周次"],df["销量"] B. df1["weeks"],df1["sales"] C. weeks,sales
【答案】 ①. 日期 ②. s+=day ③. s=0 ④. C
【解析】
【详解】本题考查Python程序设计相关内容。结合题目内容,分析程序段,推知:
(1)①处,结合上下文,此处需要根据日期对数据进行排序,以便后续按周计算销量,故此处答案是:日期。②处,此处需要将每天的销量(day)累加到变量s中,故此处答案是:s+=day。③处,当一周的销量计算完毕(即i%7==6),需要将累加变量s重置为0,以便计算下一周的销量,故此处答案是:s=0。
(2)A选项,df是读取的整个表格数据,在这个情境下,df中并没有处理好的按周统计的“周次”和对应“销量”数据,所以不能使用df["周次"],df["销量"]来绘制图形,选项错误。B选项,df1是筛选出的某个品牌的数据,同样没有名为“weeks”和“sales”的列,选项错误。C选项,weeks列表生成了13个周次的序列,sales是调用week_sale函数得到的某品牌每周销量列表,plt.plot(weeks, sales)能够正确绘制出前13周该品牌周销量的线形图,选项正确。故本题答案是:C。
14. 小华要搭建仓库温湿度监控系统,分布在仓库各处的智能终端(编号0~9)每隔一定时间将传感器采集的温湿度数据,经过处理后通过无线方式发送到服务器并保存到数据库中,系统若检测到温湿度异常,则发出报警信息,管理员可以通过浏览器查看相关数据。请回答下列问题:
(1)搭建该系统时,下列____设备(单选,填字母)不能与智能终端直接连接。
A.温湿度传感器 B. IoT模块 C.蜂鸣器 D.无线路由器
(2)下列关于该系统支撑技术的说法,正确的有____(单选,填字母)。
A.智能终端具有一定的程序存储和数据处理的能力
B.服务器端运行的软件均为系统软件
C.在服务器端无法使用浏览器访问该系统
(3)小华基于FlaskWeb框架编写服务器端的程序,部分代码如下。编写完成后,若要通过浏览器获取视图函数index()的返回页面,则应访问的URL是http://____。
#导入Flask框架模块及其他相关模块,代码略
app=Flask(_name_)
@app.route("/select")
def index():
#从数据库读取温湿度数据,并返回页面,代码略
#服务器其他功能,代码略
if _name_=="_main_":
app.run(host="192.168.1.1",port=8000)
(4)服务器接收到的数据中包含一个状态信息码,状态信息码由3个数字组成,第1个为智能终端编号,第2个、第3个为温度、湿度状态(0为偏低、1为正常、2为偏高),如“101”表示1号终端的温度偏低、湿度正常。如果某终端的状态连续异常称为一个异常段,异常段内的状态个数称为长度,服务器将接收到的所有状态信息码按接收时间顺序保存到列表res中,如["111","012","211","901","100","211",……],编写程序对res进行处理,要求统计出各智能终端异常段长度超过阈值m的次数,请在划线处填入正确代码。
#数据保存到res,阈值保存到m,代码略
size =[0]*10
c=[0]*10
for code in res:
k=①____
if code[1:] != "11":
size[k]+=1
else:
if size[k] > m:
②____
size[k]=0
for i in range(10):
if size[i] > m:
c[i]+=1
for i in range(10):
print("编号为"+str(i)+"的智能终端异常段长度超过阈值次数:"+str(c[i]))
(5)请对该系统功能进行一项扩展,写出实现的功能及所需的硬件设备。____
【答案】 ①. D ②. A ③. 192.168.1.1:8000/select ④. int(code[0]) ⑤. c[k]+=1 或其他等价答案 ⑥. 功能:防火,硬件设备:烟雾传感器 功能:防盗,硬件设备:摄像头或红外传感器或其他等价答案
【解析】
【详解】本题考查信息系统搭建相关内容。分析题目内容,推知:
(1)温湿度传感器能与智能终端直接连接,它为智能终端提供原始数据来源。IoT模块(物联网模块)可以实现智能终端与外部网络的通信等功能,智能终端要通过无线方式将数据发送到服务器,往往需要借助IoT模块。蜂鸣器是用于发出报警信息的设备,当系统检测到温湿度异常时,智能终端控制蜂鸣器发出报警,所以蜂鸣器能与智能终端直接连接。无线路由器主要是用于连接不同网络设备,构建无线网络环境,智能终端一般不是直接连接无线路由器,而是通过IoT模块等设备借助无线路由器提供的网络环境进行数据传输等操作。故本题答案是:D。
(2)智能终端要对传感器采集的温湿度数据进行处理,然后再发送到服务器,这就需要智能终端具有一定的程序存储能力来存储处理数据的程序,同时具有数据处理能力来对采集的数据进行处理。服务器端运行的软件既有系统软件,也有应用软件。管理员可以通过浏览器查看相关数据,说明在服务器端也可以使用浏览器访问该系统。故本题答案是:A。
(3)在网络访问中,完整的URL格式通常是http://主机地址:端口号/路径。从代码app.run(host="192.168.1.1",port=8000)可知,服务器运行的主机地址是192.168.1.1,端口号是8000,视图函数index()对应的路径是/select。所以,要通过浏览器获取视图函数index()的返回页面,应访问的URL是http://192.168.1.1:8000/select。故本题答案是:192.168.1.1:8000/select。
(4)①处,状态信息码code是一个字符串,智能终端编号是字符串的第一个字符,需要将其转换为整数类型,故此处答案是:int(code[0])。②处,当遇到状态正常(code[1:]== "11")且之前统计的该终端异常段长度size[k]超过阈值m时,需要统计该终端异常段长度超过阈值m的次数。c列表用于统计各智能终端异常段长度超过阈值的次数,k是当前处理的智能终端编号,所以应将c[k]的值加1。故此处答案是:c[k]+=1 或其他等价答案。
(5)分析该系统,可以为其添加防火或防盗等功能。为实现防火功能,应添加烟雾传感器等设备;为实现防盗功能,应添加摄像头或红外传感器等设备。
15. 有n种原材料,这些材料将被用在k条不同的流水线进行产品加工,每个流水线所需的材料各不相同。因此,要求每个流水线提出自己的材料需求,这些需求用一串n位,由0、1和-1三种值组成的数表示,其中:1表示当前流水线必须使用该材料;0表示该材料可加可不加,-1表示当前流水线不需要该材料。如0110-1-1表示当前流水线必需第2、第3种材料,不需要第5、第6种材料,第1、第4中材料可有可无。
现通过编程计算能否找到一个用最少原材料种类,且能满足所有流水线的生产需求的最佳原材料生产方案。如图所示为两条流水线给出的需求,可给出原材料的最佳生产方案为:
110001。该01组成的串表示1号、2号、6号原材料需生产,3号、4号、5号原材料无需生产。
流水线1
流水线2
材料编号
1
2
3
4
5
6
1
2
3
4
5
6
需求
1
1
0
-1
0
1
0
1
-1
-1
-1
1
(1)现在有3种原材料,4条流水线分别给出的需求为1,0,1;1,-1,0;0,0,1;1,-1,1。能满足所有流水线的原材料生产方案为____(用原材料编号顺序01组合的串表示生产方案)。
(2)定义chan(s,n,k)函数,将01字符串s转换成包含k个数据元素,每个数据元素包含n个数据项的数据存储形式。
def chan(s,n,k):
a=[[] for i in range(k)]
p=0;i=0
while p < len(s):
if s[p] != "-":
a[i].append(int(s[p]))
p+=1
else:
a[i].append(int(s[p:p+2]))
p+=2
if len(a[i]) == n:
i+=1
return a
若字符串s的值为“110-10101-1-1-11”调用chan(s,6,2)函数,则语句“i+=1”的执行次数为____。
(3)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
#读取原材料种类n,流水线数量k及k条流水线的材料需求保存在字符串s中,s的格式
#形如“1011-100011-11”,代码略。
b=[0]*(n+1)
a=chan(s,n,k)
p=True
while ①____:
j=n
while b[j] == 1:
j-=1
b[j]=1
for i in range(j+1n+1):
②____
p=False
for i in range(len(a)):
for j in range(len(a[i])):
if a[i][j] == 1 and b[j+1] == 0 or ③____:
p=True
if p == True:
print("无最佳原材料生产方案!")
else:
for i in range(1,n+1):
if b[il == 1:
print("原材料",i,"必须生产")
else:
print("原材料",i,"无需生产")
【答案】 ①. 101 ②. 2 ③. p==True and b[0]==0或其他等价答案 ④. b[i]=0或其他等价答案 ⑤. a[i][j]==-1 and b[j+1]==1或其他等价答案
【解析】
【详解】本题考查Python程序设计相关内容。结合题目内容,分析程序段,推知:
(1)综合四条流水线的需求,我们发现第1种原材料在流水线1、2、4中都要求必须使用,所以第1种原材料必须生产。第3种原材料在流水线1、3、4中都要求必须使用,所以第3种原材料也必须生产。而第2种原材料在四条流水线中,要么可加可不加,要么不需要,所以第2种原材料无需生产。所以能满足所有流水线的原材料生产方案为:101,即第1种和第3种原材料需生产,第2种原材料无需生产。故本题答案是:101。
(2)字符串s的值为“110-10101-1-1-11”调用chan(s,6,2)函数的过程为:首先处理第一个子列表(i=0):从字符串开头,s[0]='1',添加到a[0],p变为1;s[1]='1',添加到a[0],p变为2;s[2]='0',添加到a[0],p变为3;s[3]='-',将'-1'添加到a[0],p变为5;s[5]='0',添加到a[0],p变为6。s[6]='1',添加到a[0],此时a[0]的长度达到6(n的值),i+=1执行一次,i变为1。接着处理第二个子列表(i=1):s[7]='0',添加到a[1],p变为8。s[8]='1',添加到a[1],p变为9。s[9]='-',将-1添加到a[1],p变为11。s[11]='-',将-1添加到a[1],p变为13。s[13]='1',添加到a[1],此时a[1]的长度达到 6(n的值),i+1执行一次,i变为2。因为总共要处理k=2个子列表,所以i+=1的执行次数为2。故本题答案是:2。
(3)①处,外层while循环是寻找最佳原材料生产方案的主要循环,只要还没找到满足所有流水线需求的组合且还有未尝试的组合,就继续循环。p用于标记当前的原材料组合是否满足所有流水线需求,p为True表示还未找到满足所有流水线需求的组合。b[0]==0表示还存在未被尝试的原材料选择状态(因为b列表用于记录原材料选择情况,b[0]是b列表的第一个元素,b[0]==0意味着还未将所有可能的组合尝试完),故此处答案是:p==True and b[0]==0或其他等价答案。②处,当找到b列表中第一个为0的元素(b[j])并将其设为1后,通过b[i]=0将j之后的b列表元素都设为0。这是为了在每次尝试新的原材料组合时,保证新组合与之前不同,构建出不同的原材料选择方案,故此处答案是:b[i]=0或其他等价答案。③处,此处是在检查当前的原材料组合(由b表示)是否满足某条流水线的需求。已有条件(a[i][j]==1 and b[j+1]==0)表示如果某条流水线需要第j+1种原材料(a[i][j]==1),而当前组合中该原材料未被选中(b[j+1]==0),则该组合不满足这条流水线需求,还需要考虑另一种不满足的情况,即某条流水线不需要第j+1种原材料(a[i][j]==-1),且当前组合中该原材料被选中(b[j+1]==1)。故此处答案是:a[i][j]==-1 and b[j+1]==1或其他等价答案。
第1页/共1页
学科网(北京)股份有限公司
$$
高三年级技术学科
考生须知:
1.本卷满分100分,考试时间90分钟。
2.答题前,在答题卷指定区域填写学校、班级、姓名、试场号、座位号及准考证号。
3.所有答案必须写在答题卷上,写在试卷上无效。4.考试结束后,只需上交答题卷。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 下列关于数据与信息的说法,不正确的是( )
A. 数据的表现形式可以是文本、图像、声音等 B. 信息依附于一定的载体,其载体不会发生改变
C. 模拟信号经过模数转换后,可在计算机中保存 D. 信息价值是相对的,对于不同的人其价值会有所不同
2. 在建设智慧校园时,不少学校引入电子班牌系统。该系统的主要应用场景:签到、请假、家校沟通、信息发布等,学生可以通过电子班牌与家长通话,教师可以发布班级公告等,所有的数据都存储在云服务器上。该电子班牌的主要参数和功能如下表所示。
CPU
四核 1.80GH
显示器
1920×1080 多点触摸
内存
4G DDR+32G
摄像头
400W 摄像头
读卡器
支持NFC读卡
操作系统
安卓71
下列关于该信息系统组成与功能的描述,不正确的是( )
A. 安卓属于该信息系统的系统软件 B. 该信息系统的用户包括教师和学生等
C. 多点触摸显示器不具备数据输入功能 D. 该系统具有数据处理、存储及传输等功能
3. 在建设智慧校园时,不少学校引入电子班牌系统。该系统的主要应用场景:签到、请假、家校沟通、信息发布等,学生可以通过电子班牌与家长通话,教师可以发布班级公告等,所有的数据都存储在云服务器上。该电子班牌的主要参数和功能如下表所示。
CPU
四核 1.80GH
显示器
1920×1080 多点触摸
内存
4G DDR+32G
摄像头
400W 摄像头
读卡器
支持NFC读卡
操作系统
安卓7.1
该系统的下列应用中,体现人工智能技术的是( )
A. 教师发布的多条班级公告自动循环播放 B. 系统自动将请假学生姓名以短信方式发送至班主任手机
C. 学生进教室时摄像头自动识别人脸并签到 D. 上课时班牌自动显示当前任课教师信息
4. 在建设智慧校园时,不少学校引入电子班牌系统。该系统的主要应用场景:签到、请假、家校沟通、信息发布等,学生可以通过电子班牌与家长通话,教师可以发布班级公告等,所有的数据都存储在云服务器上。该电子班牌的主要参数和功能如下表所示。
CPU
四核 1.80GH
显示器
1920×1080 多点触摸
内存
4G DDR+32G
摄像头
400W 摄像头
读卡器
支持NFC读卡
操作系统
安卓7.1
下列关于该信息系统安全性的说法,不正确的是( )
A. 为教师和学生设置不同的系统访问权限 B. 与家长聊天前,学生需通过人脸识别验证
C. 及时更新系统补丁,防止不法分子利用漏洞恶意攻击 D. 数据存储在云服务器,则消除了系统的安全隐患
5. 在建设智慧校园时,不少学校引入电子班牌系统。该系统的主要应用场景:签到、请假、家校沟通、信息发布等,学生可以通过电子班牌与家长通话,教师可以发布班级公告等,所有的数据都存储在云服务器上。该电子班牌的主要参数和功能如下表所示。
CPU
四核 1.80GH
显示器
1920×1080 多点触摸
内存
4G DDR+32G
摄像头
400W 摄像头
读卡器
支持NFC读卡
操作系统
安卓7.1
以下关于该系统网络的说法,正确的是( )
A. 同一年级的电子班牌需设置为同一IP地址 B. 云服务器无需安装操作系统
C. 路由器是组建校园网络重要设备之一 D. 智慧校园中的数据通信必须通过移动通信网络实现
6. 某位图图像最多需要表示500种颜色,若采用十六进制给每种颜色编号,至少需要的编码位数是( )
A 4 B. 3 C. 2 D. 1
7. 栈st1从栈底到栈顶元素依次为“名”“校”“协”“作”“体”,栈st2初始为空。约定:→n操作是执行n次从st1中出栈并到st2入栈,↑n操作是执行n次从st2中出栈并输出,←n操作是执行n次从st2中出栈并到st1入栈。经过→4↑1←2↑1→3↑2系列操作后,则输出的元素依次为( )
A. “名”“校”“作”“协” B. “校”“协”“体”“作” C. “名”“校”“协”“作” D. “校”“体”“名”“协”
8. 有以下Python程序段:
s=[5,9,8,6,7,1,4,2]
n=len(s)
for i in range(1,n//2):
for j in range( ):
if s[j] < s[j-1]:
s[j],s[j-1]=s[j-1],s[j]
执行该程序段后实现数据部分有序,结果s的值为[5,9,1,6,7,8,4,2],则划线处的代码是( )
A. n-3,i+1,-1 B. i+1, n-i-1 C. n-1,i-1,-1 D. 2,n-i+1
9. 有如下两段Python程序:
def fact1(n):
s=0
while n != 0:
s+=n%2
n=n//2
return s
def fact2(n):
if n == 1:
return l
else:
return
对于任意正整数n(n>=2),两个函数的返回值相等,则方框处的代码是( )
A. n%2+fact2(n//2) B. str(n%2)+fact2(n//2) C. fact2(n%2)+str(n//2) D. n//2+fact2(n%2)
10. 有如下Python程序段:
import random
que=["a","b","c","d","","","","","","]
head=0;tail=4;ans=""
for i in range(5):
if random.randint(0,1) == 0:
ans += que[head]
que[tail]=que[head]
head += 1
tail += 1
else:
head +=1
执行该程序段后,ans的值不可能是( )
A. "bcc" B. "aa" C. "bcdb" D. "abcd"
11. 某二分查找算法Python 程序段如下
i, j, n = 0, len(a)-1,0
while i <= j:
if key > a[m]:
i=m+1; n +=1
else:
j=m-1; n-=1
当a为[0,1,2,3,4,5,6,7]时,运行该程序段查找key得到的n值,与把加框处语句改为m=(i+j+1)//2后得到的n值相等,则key可能是( )
A. 0 B. 1 C. 2 D. 3
12. 有如下Python程序段:
link=[[2,1],[2,2],[2,3],[5,4],[6,-1]]
pre = head=0
cur=link[pre][1]
while cur != -1:
if link[pre][0] != link[cur][0]:
(1)
else:
(2)
(3)
p=head
while p != -1:
print(link[p][0],end=" ")
p=link[p][1]
删除升序链表link中重复的数据,仅保留下不重复的数据,上述程序中划线处可选语句为
①cur=link[cur][1] ②pre=cur ③link[pre][1]=link[cur][1]
则(1)、(2)、(3)处正确的语句顺序是( )
A. ③②① B. ③①② C. ②①③ D. ②③①
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 某城市2024年前13周新能源汽车销量表部分数据如图a所示,表中共有四个汽车品牌,记录着各品牌每日的销量数据,请回答下列问题。
图a
(1)定义week_sale函数,功能为读取该城市前13周各品牌新能源汽车每日销量表,返回某品牌新能源汽车的每周销量。函数代码如下,请在划线处填入合适的代码。
2024年前13周汽车品牌A周销量趋势图
图b
def week_sale(brand):
import pandas as pd
df = pd.read_excel("sale.xlsx")
df1=df[df["品牌"]==brand]
df1=dfl.sort_values("①____")
df1.reset_index(drop=True) #索引重建
sale=[0]*13
s=0
for i in df1.index:
day = df1.at[i,"销量"]
②____
if i%7 == 6:
sale[i//7]=s
③____
return sale
(2)输入某新能源汽车品牌(例如品牌A),绘制前13周该品牌周销量线形图如图b所示。部分Python代码如下,加框处填入的代码为____(单选,填字母)。
import matplotlib.pyplot as plt
brand = input("请输入品牌:")
sales=week_sale(brand)
weeks=[i for i in range(1,14)]
plt.plot()
#显示如图b所示的线型图,设置绘图参数,代码略
A.df["周次"],df["销量"] B. df1["weeks"],df1["sales"] C. weeks,sales
14. 小华要搭建仓库温湿度监控系统,分布在仓库各处的智能终端(编号0~9)每隔一定时间将传感器采集的温湿度数据,经过处理后通过无线方式发送到服务器并保存到数据库中,系统若检测到温湿度异常,则发出报警信息,管理员可以通过浏览器查看相关数据。请回答下列问题:
(1)搭建该系统时,下列____设备(单选,填字母)不能与智能终端直接连接。
A.温湿度传感器 B. IoT模块 C.蜂鸣器 D.无线路由器
(2)下列关于该系统支撑技术的说法,正确的有____(单选,填字母)。
A.智能终端具有一定的程序存储和数据处理的能力
B.服务器端运行的软件均为系统软件
C.在服务器端无法使用浏览器访问该系统
(3)小华基于FlaskWeb框架编写服务器端的程序,部分代码如下。编写完成后,若要通过浏览器获取视图函数index()的返回页面,则应访问的URL是http://____。
#导入Flask框架模块及其他相关模块,代码略
app=Flask(_name_)
@app.route("/select")
def index():
#从数据库读取温湿度数据,并返回页面,代码略
#服务器其他功能,代码略
if _name_=="_main_":
app.run(host="192.168.1.1",port=8000)
(4)服务器接收到的数据中包含一个状态信息码,状态信息码由3个数字组成,第1个为智能终端编号,第2个、第3个为温度、湿度状态(0为偏低、1为正常、2为偏高),如“101”表示1号终端的温度偏低、湿度正常。如果某终端的状态连续异常称为一个异常段,异常段内的状态个数称为长度,服务器将接收到的所有状态信息码按接收时间顺序保存到列表res中,如["111","012","211","901","100","211",……],编写程序对res进行处理,要求统计出各智能终端异常段长度超过阈值m的次数,请在划线处填入正确代码。
#数据保存到res,阈值保存到m,代码略
size =[0]*10
c=[0]*10
for code in res:
k=①____
if code[1:] != "11":
size[k]+=1
else:
if size[k] > m:
②____
size[k]=0
for i in range(10):
if size[i] > m:
c[i]+=1
for i in range(10):
print("编号为"+str(i)+"的智能终端异常段长度超过阈值次数:"+str(c[i]))
(5)请对该系统功能进行一项扩展,写出实现的功能及所需的硬件设备。____
15. 有n种原材料,这些材料将被用在k条不同的流水线进行产品加工,每个流水线所需的材料各不相同。因此,要求每个流水线提出自己的材料需求,这些需求用一串n位,由0、1和-1三种值组成的数表示,其中:1表示当前流水线必须使用该材料;0表示该材料可加可不加,-1表示当前流水线不需要该材料。如0110-1-1表示当前流水线必需第2、第3种材料,不需要第5、第6种材料,第1、第4中材料可有可无。
现通过编程计算能否找到一个用最少原材料种类,且能满足所有流水线的生产需求的最佳原材料生产方案。如图所示为两条流水线给出的需求,可给出原材料的最佳生产方案为:
110001。该01组成的串表示1号、2号、6号原材料需生产,3号、4号、5号原材料无需生产。
流水线1
流水线2
材料编号
1
2
3
4
5
6
1
2
3
4
5
6
需求
1
1
0
-1
0
1
0
1
-1
-1
-1
1
(1)现在有3种原材料,4条流水线分别给出的需求为1,0,1;1,-1,0;0,0,1;1,-1,1。能满足所有流水线的原材料生产方案为____(用原材料编号顺序01组合的串表示生产方案)。
(2)定义chan(s,n,k)函数,将01字符串s转换成包含k个数据元素,每个数据元素包含n个数据项的数据存储形式。
def chan(s,n,k):
a=[[] for i in range(k)]
p=0;i=0
while p < len(s):
if s[p] != "-":
a[i].append(int(s[p]))
p+=1
else:
a[i].append(int(s[p:p+2]))
p+=2
if len(a[i]) == n:
i+=1
return a
若字符串s的值为“110-10101-1-1-11”调用chan(s,6,2)函数,则语句“i+=1”的执行次数为____。
(3)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
#读取原材料种类n,流水线数量k及k条流水线的材料需求保存在字符串s中,s的格式
#形如“1011-100011-11”,代码略。
b=[0]*(n+1)
a=chan(s,n,k)
p=True
while ①____:
j=n
while b[j] == 1:
j-=1
b[j]=1
for i in range(j+1,n+1):
②____
p=False
for i in range(len(a)):
for j in range(len(a[i])):
if a[i][j] == 1 and b[j+1] == 0 or ③____:
p=True
if p == True:
print("无最佳原材料生产方案!")
else:
for i in range(1,n+1):
if b[il == 1:
print("原材料",i,"必须生产")
else:
print("原材料",i,"无需生产")
第1页/共1页
学科网(北京)股份有限公司
$$