浙江省北斗星盟2023-2024学年高三上学期12月联考技术试卷 (解析版)

资源下载
  1. 二一教育资源

浙江省北斗星盟2023-2024学年高三上学期12月联考技术试卷 (解析版)

资源简介

高三技术学科试题
考生须知:
1.本试题卷分为两部分,第一部分信息技术,第二部分通用技术,共13页,满分100分,考试时间90分钟;
2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字;
3.所有答案必须写在答题纸上,写在试卷上无效;
4.考试结束后,只需上交答题纸。
第一部分:信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 下列有关数据、信息、知识的说法正确的是( )
A. 数据具有的价值永恒不变 B. 只要获取了信息就拥有了相关知识
C. 任何知识都能被每个人掌握 D. 同一数据在不同语境中承载的信息可能不同
2. 下列应用中,没有体现人工智能技术的是( )
A. “小度”智能音箱能和人类进行沟通交流
B. vivo X5pro 采用眼球识别技术加密手机 App
C. 超声波倒车雷达实时检测车辆周围障碍物的距离
D. Facebook 研发的新技术能实现照片上的人物眨眼睛、微笑等表情动作
3. 某校引进一套智能安保系统,该系统实现人脸识别、身份证识别和校园卡识别技术打开人行通道闸机,视频监控等功能。学校领导和家长, 可随时随地通过手机浏览器登录系统,查询相应人员出入校园的情况。该系统提供短信验证和指纹识别等身份认证方式登录,并为各用户设置相应的访问权限。下列属于该系统的软件要素的是( )
①路由器 ②计算机 ③操作系统 ④浏览器 ⑤校园视频监控数据
A. ①③ B. ②④ C. ③④ D. ④⑤
4. 某校引进一套智能安保系统,该系统实现人脸识别、身份证识别和校园卡识别技术打开人行通道闸机,视频监控等功能。学校领导和家长, 可随时随地通过手机浏览器登录系统,查询相应人员出入校园的情况。该系统提供短信验证和指纹识别等身份认证方式登录,并为各用户设置相应的访问权限。关于该系统下列说法错误的是( )
A. 该系统的指纹识别功能需要训练数据,属于行为主义
B. 短信验证方式,属于动态口令验证方式
C. 身份证识别和校园卡识别,应用了射频识别技术
D. 视频监控数据设置了保留期限,可防止辅助存储器空间不足
5. 某校引进一套智能安保系统,该系统实现人脸识别、身份证识别和校园卡识别技术打开人行通道闸机,视频监控等功能。学校领导和家长, 可随时随地通过手机浏览器登录系统,查询相应人员出入校园的情况。该系统提供短信验证和指纹识别等身份认证方式登录,并为各用户设置相应的访问权限。下列操作中不能提高该信息系统安全性的是( )
A. 为无线路由器设置复杂密码 B. 忽略系统提示的补丁程序
C. 在服务器端安装开启防火墙软件 D. 为各用户设置相应的访问权限
6. 某校引进一套智能安保系统,该系统实现人脸识别、身份证识别和校园卡识别技术打开人行通道闸机,视频监控等功能。学校领导和家长, 可随时随地通过手机浏览器登录系统,查询相应人员出入校园的情况。该系统提供短信验证和指纹识别等身份认证方式登录,并为各用户设置相应的访问权限。下列有关网络和协议的说法错误的是( )
A. 连接相同路由器的无线网络和有线网络不属于同一局域网
B. 可以通过计算机网络或移动通信网络实现该系统数据查询
C. 在家中用手机连入无线网络无需设置IP地址是因为无线路由器开启了DHCP服务
D. 家长通过浏览器登录系统查询孩子出入校园的情况,使用到的协议有TCP/IP和HTTP等
7. 一幅1024×512BMP格式图像,另存为JPG格式后的存储容量为 96KB,已知压缩比为16: 1,则该BMP格式图像的位深度为( )
A. 32 B. 24 C. 16 D. 8
8. 二叉树的中序遍历是 BAC,它的前序遍历不可能是( )
A. ABC B. CBA C. ACB D. BAC
9. 栈s和队列q的初始状态均为空,元素a1、a2、a3、a4、a5、a6依次入栈,再将出栈后的元素依次进入队列,若入队的顺序为a2、a4、a3、a6、a5、a1,则栈s的容量至少是( )
A. 2 B. 3 C. 4 D. 5
10. 有如下Python程序段:
a=[3, 8, 6, 2, 1, 0, 7]
n=len (a)
for i in range ( (n-1) //3) :
j=0; k=1
while jif a[j]*k>a[j+2]*k:
a[j], a[j+2]=a[j+2], a[j]
j=j+1; k=-k
执行该程序段, 则 a[4: 7]的值为( )
A. 6, 0, 7 B. 6, 7, 8 C. 3, 8, 1 D. 6, 8, 7
11. 接力比赛男女生人数相等,男女队员交替接力, 实现该功能的Python程序段如下:a=[["1 号", "女"], ["2 号", "女"], ["3 号", "男"], ["4 号", "男"], ["5 号", "男"], ["6 号", "女"], ["7 号", "女"], ["8 号", "男"]]
print (a[0]) #输出第一棒
pre=0; i=1
que=[-1]*len (a)
head=tail=0
while iif head!=tail:
if a[que[head]][1]!=a[pre][1]:
print (a[que[head]])
pre=que[head]
head+=1
① a[pre][1]!=a[i][1]:
print (a[i])
pre=i
else: #性别与前一棒相同时则进入等待队列
que[tail]=i
tail+=1
i+=1
if head!=tail:
print (② )
上述程序段中划线处应填写代码是( )
A. ①elif ②que[head] B. ①if ②que[head]
C. ①elif ②a[que[head]] D. ①if ②a[que[head]]
12. 有如下 python 程序:
a=[2, 5, 3, 11, 12, 4, 8, 10]
n=8; num=[0]*n
i=0
while inum[i]=1
for j in range (0, i) :
if a[j]=num[i]:
num[i]=num[j]+1
i=i+1
ans=0
for i in range (n) :
if num[i]>ans:
ans=num[i]
print (ans)
执行该程序段后,输出ans 的值是( )
A. 2 B. 4 C. 5 D. 6
二、非选择题(本大题共3小题,第13小题7分,第14小题10分,第15小题9分,共26分)
13. 给定两个字符串s1和s2,要求判断其中一个字符串是否是另一字符串通过若干次循环移位后的新字符串的子串。字符串的循环移位过程是将字符串的第一个字符移动到末尾形成新的字符 串,例如“CDAA”是由“AABCD”两次移位后产生的新串“BCDAA”的子串,结果输出“Yes”。输入“ABCD”与“ACBD”,则输出“No”。请回答下列问题。
(1)实现上述功能的Python程序如下,请在划线处填入合适的代码。
a=input (“请输入字符串s1: ”)
b=input (" 请输入字符串 s2: ")
if len (a) a, b=b, a
flag=False
for i in range (len (a) ) :
p=i
①____
for j in range (len (b) ) :
if②____:
count+=1
p+=1
if③____:
print ("Yes")
flag=True
break
if flag==False:
print ("No")
(2)本程序采用____算法(选填:枚举/解析)
14. 某大学研究小组使用Flask Web框架开发了简易版“智能雨刷”测试系统,它可以利用传感 器获取雨量数据,对传感器收集的数据分析后,根据给定的阈值自动控制雨刷器运行。系统的架构图如图a所示,请回答下列问题:
图a
(1)下列选项中属于搭建信息系统的前期准备的是____(多选题,填字母)
A.需求分析 B.硬件搭建 C.详细设计 D.开发模式选择 E.系统测试
(2)智能雨刷测试系统的智能终端和服务器的程序代码如下:
#服务器端的部分程序代码
import sqlite3
from flask import Flask, request
app=Flask (__name__)
@app. route ("①____", methods=['GET'])
def add_data () :
rain=int (request. Args. get ("rain") )
#用户设置的阈值300赋值给max,代码略
if rain>max:
return 1
else:
return 0
if __name__=="__main__":
app. run (host="192. 168. 1. 233", port=5050)
#智能终端的部分程序代码
IP=" 192. 168. 1. 233"; PORT="5050"; SSID="JF501"; PASSWORD="JF123456"
#定义IoT 模块和micro: bit 开发板串口通信参数、 IOT模块连接Wi-Fi 等代码略
#micro: bit和服务器建立连接相关代码略
while True:
rain=pin0. read_analog ()
errno, resp=0bloq. get ("sr rain="+str (rain) , 10000)
if errno==200:
display. show (str (resp) )
if resp==1:
pin12. write_digital (1)
else:
pin12. write_digital (0)
sleep (5000)
①请在划线处填入合适的代码____。
②智能终端根据resp值的情况控制雨刷器的工作状态,resp的值来自____(单选,填字母:A.传感器采集/B.服务器返回/C.智能终端分析得出)。
(3)请通过增加传感器和执行器(或使用汽车已有执行器)对该系统功能进行一项扩展,写出传感器和执行器的名称,并描述实现的功能:____。
(4)为了能在销售排行靠前的车型中推广智能雨刷器,研究小组收集了部分新能源汽车某年份的半年销售数据存储在“xs.xlsx”中,如图b所示。编写Python程序,按汽车“级别”分组计算半年销售总量,并筛选出排行前三的汽车级别,程序运行结果如图c所示。
车企 车型 级别 销售均价 半年销售量
比亚迪 元PLUS 紧凑型SUV 151800 99543
小鹏汽车 小鹏P7 中型车 334900 31149
上海通用五菱 五菱宏光MINEV 微型车 66350 218632
比亚迪 宋PLUS DM-i 紧凑型SUV 184800 211837
长城汽车 欧拉好猫 紧凑型SUV 146450 35607
比亚迪 汉EV 中大型车 272300 78144
比亚迪 海豚 紧凑型SUV 116800 78920
特拉斯 Model Y 中型SUV 343400 157862
特拉斯 Model 3 中型车 307900 67677
广汽埃安 AION Y 紧凑型SUV 163700 69655
广汽埃安 AION S 紧凑型车 165700 65982
图b
图c
Python 程序如下,请在划线处填入合适的代码:
import pandas as pd
import matplotlib. pyplot as plt
plt. cParams['font. sans-serif']=['SimHei']
plt. rcParams['axes. unicode_minus']=False
df=pd. read_excel ("xs. xlsx")
dfl=df. groupby ("级别") . sum ()
df =df1. sort_values ("半年销售量", ascending=False)
df2= _____①____
plt. bar (____②____, df2. 半年销售量,label="销量")
plt. title ("半年销量总量前三名")
plt. legend ()
plt. show ()
15. 小美手里有如图a所示的各种面值的人民币及张数,她购物时习惯优先使用大额面值的人民币。
面值(元) 10 5 50 20 100 2 1
数量(张) 5 2 7 3 4 11 7
图a
例如某次消费金额为561元,在不找零的情况下完成支付,其方案为100元4张,50元3张,10元1张,1元1张。小美编写Python 程序,此方案执行结果如图b 所示。
请输入各纸币的面值:10, 5, 50, 20, 100, 2, 1 请输入各面值纸币对应的张数:5, 2, 7, 3, 4, 11, 7 请输入消费金额:561 消费561元的选择方案为: [[100, 4], [50, 3], [10, 1], [1, 1]]
图b
(1)小美手上有4张10元,10张5元,50张1元,共消费36元,根据题意选择10元、5元、1元的张数分别为_________(填数字,用逗号隔开)。
(2)定义如下 linkedlist (faceval, num) 函数,功能为构建按纸币面值降序的有序链表,函数返回 money, 其中 faceval 数据项为纸币的面值,num 数据项为各面值纸币对应的张数。例如 faceval=["10", "5", "20"], num=["2", "5", "1"],请在划线处填入合适的代码。
def linkedlist(faceval,num):
n=len(faceval)
money=[]
money.append([int(faceval[0]),int(num[0]),-1])
head=0
for i in range(1,n):
q=p=head
while p!=-1 and money[p][0]>int(faceval[i]):
q=p
p=money[p][2]
if p==head:
money.append([int(faceval[i]),int(num[i]),head])
head=len(money)-1
else:
money. append (( ))
money[q][2]=len(money)-1
return money,head
(3)实现计算过程的 Python 程序如下,请在划线处填入合适的代码。
Def find (monetary, head) :
select=[]
cur=sortmoney[head]
while head!=-1:
if monetaryhead=cur[2]
cur=sortmoney[head]
continue
i=1
while i<=cur[1]:
monetary=monetary-cur[0]
if ①________:
select. append ([cur[0], i])
if monetary==0:
return select
②_______
if head!=-1:
cur=sortmoney[head]
break
else:
return -1
i=i+1
return -1
fv=input ("请输入各纸币的面值:") . split (', ') #split (', ') 将字符串以逗号分割为列表
num=input ("请输入各面值纸币对应的张数:") . split (', ')
sortmoney, head=linkedlist (fv, num)
consume=int (input ("请输入消费金额:") )
choice= ③________
if choice!=-1:
print ("消费", consume, "元的选择方案为:", choice)
else:高三技术学科试题
考生须知:
1.本试题卷分为两部分,第一部分信息技术,第二部分通用技术,共13页,满分100分,考试时间90分钟;
2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字;
3.所有答案必须写在答题纸上,写在试卷上无效;
4.考试结束后,只需上交答题纸。
第一部分:信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 下列有关数据、信息、知识的说法正确的是( )
A. 数据具有的价值永恒不变 B. 只要获取了信息就拥有了相关知识
C. 任何知识都能被每个人掌握 D. 同一数据在不同语境中承载的信息可能不同
【答案】D
【解析】
【详解】本题考查数据、信息和知识相关内容。数据是信息的载体,数据所表示的意义是信息;信息,指音讯、消息、通讯系统传输和处理的对象,泛指人类社会传播的一切内容,信息是加工了的数据;数据是对事物属性的符号记录,它可以表现为数值、字符、图像、音频、视频等多种形式;人们对信息进行提炼和归纳后,获得解决问题的观点、经验和技能,信息才会内化为知识。数据的价值来源于对数据的分析和应用,并不是所有知识都能被每个人掌握,ABC选项说法错误。D选项,同一数据在不同语境中承载的信息可能不同,说法正确。故本题答案是D选项。
2. 下列应用中,没有体现人工智能技术的是( )
A. “小度”智能音箱能和人类进行沟通交流
B. vivo X5pro 采用眼球识别技术加密手机 App
C. 超声波倒车雷达实时检测车辆周围障碍物的距离
D. Facebook 研发的新技术能实现照片上的人物眨眼睛、微笑等表情动作
【答案】C
【解析】
【详解】本题考查人工智能技术相关内容。人工智能研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。ABD选项体现了人工智能技术,超声波倒车雷达实时检测车辆周围障碍物的距离是信息技术的应用。故本题答案是C选项。
3. 某校引进一套智能安保系统,该系统实现人脸识别、身份证识别和校园卡识别技术打开人行通道闸机,视频监控等功能。学校领导和家长, 可随时随地通过手机浏览器登录系统,查询相应人员出入校园的情况。该系统提供短信验证和指纹识别等身份认证方式登录,并为各用户设置相应的访问权限。下列属于该系统的软件要素的是( )
①路由器 ②计算机 ③操作系统 ④浏览器 ⑤校园视频监控数据
A. ①③ B. ②④ C. ③④ D. ④⑤
【答案】C
【解析】
【详解】本题考查信息系统相关内容。信息系统的软件组成要素是指系统使用的软件,包括系统软件和应用软件。操作系统、浏览器属于系统的软件要素。故本题答案是C选项。
4. 某校引进一套智能安保系统,该系统实现人脸识别、身份证识别和校园卡识别技术打开人行通道闸机,视频监控等功能。学校领导和家长, 可随时随地通过手机浏览器登录系统,查询相应人员出入校园的情况。该系统提供短信验证和指纹识别等身份认证方式登录,并为各用户设置相应的访问权限。关于该系统下列说法错误的是( )
A. 该系统的指纹识别功能需要训练数据,属于行为主义
B. 短信验证方式,属于动态口令验证方式
C. 身份证识别和校园卡识别,应用了射频识别技术
D. 视频监控数据设置了保留期限,可防止辅助存储器空间不足
【答案】A
【解析】
【详解】本题考查信息系统相关内容。A选项,该系统的指纹识别功能需要训练数据,属于联结主义,选项错误。B选项,短信验证方式,属于动态口令验证方式的一种,选项正确。C选项,身份证识别和校园卡识别,应用了射频识别技术,选项正确。D选项,视频监控数据设置了保留期限,可防止辅助存储器空间不足,选项正确。故本题答案是A选项。
5. 某校引进一套智能安保系统,该系统实现人脸识别、身份证识别和校园卡识别技术打开人行通道闸机,视频监控等功能。学校领导和家长, 可随时随地通过手机浏览器登录系统,查询相应人员出入校园的情况。该系统提供短信验证和指纹识别等身份认证方式登录,并为各用户设置相应的访问权限。下列操作中不能提高该信息系统安全性的是( )
A. 为无线路由器设置复杂密码 B. 忽略系统提示的补丁程序
C. 在服务器端安装开启防火墙软件 D. 为各用户设置相应的访问权限
【答案】B
【解析】
【详解】本题考查信息系统相关内容。提高该信息系统安全性的措施有:为无线路由器设置复杂密码、在服务器端安装开启防火墙软件、为各用户设置相应的访问权限、按提示升级系统补丁程序等。ACD选项正确,B选项错误。故本题答案是B选项。
6. 某校引进一套智能安保系统,该系统实现人脸识别、身份证识别和校园卡识别技术打开人行通道闸机,视频监控等功能。学校领导和家长, 可随时随地通过手机浏览器登录系统,查询相应人员出入校园的情况。该系统提供短信验证和指纹识别等身份认证方式登录,并为各用户设置相应的访问权限。下列有关网络和协议的说法错误的是( )
A. 连接相同路由器的无线网络和有线网络不属于同一局域网
B. 可以通过计算机网络或移动通信网络实现该系统的数据查询
C. 在家中用手机连入无线网络无需设置IP地址是因为无线路由器开启了DHCP服务
D. 家长通过浏览器登录系统查询孩子出入校园的情况,使用到的协议有TCP/IP和HTTP等
【答案】A
【解析】
【详解】本题考查网络技术相关内容。A选项,连接相同路由器的无线网络和有线网络属于同一局域网,选项错误。由题目内容可知,可以通过计算机网络或移动通信网络实现该系统的数据查询,B选项正确;DHCP(动态主机配置协议)是一种计算机网络协议,它使网络管理员能够自动分配IP地址和相关配置信息,以便计算机能够在网络上通信。在家中用手机连入无线网络无需设置IP地址是因为无线路由器开启了DHCP服务,C选项正确。家长通过浏览器登录系统查询孩子出入校园的情况,使用到的协议有TCP/IP和HTTP等,D选项正确。故本题答案是A选项。
7. 一幅1024×512的BMP格式图像,另存为JPG格式后的存储容量为 96KB,已知压缩比为16: 1,则该BMP格式图像的位深度为( )
A. 32 B. 24 C. 16 D. 8
【答案】B
【解析】
【详解】本题考查图像存储相关内容。设位深度为x,未压缩图像大小=像素*像素*量化位/8(B),未压缩前文件大小=1024*512*x/(8*1024)=64xKB,16:1压缩后存储容量约为96KB,则x=96*16/64=24,故本题答案是B选项。
8. 二叉树的中序遍历是 BAC,它的前序遍历不可能是( )
A. ABC B. CBA C. ACB D. BAC
【答案】C
【解析】
【详解】本题考查二叉树遍历相关内容。由二叉树前序遍历及中序遍历相关知识,推知:对比AC选项,均以A为根节点,由中序遍历是 BAC知,其左孩子为B,右孩子为C,其前序遍历序列为ABC,不可能得出序列ACB,A选项正确,C选项错误。BD选项为可能前序遍历。故本题答案是C选项。
9. 栈s和队列q的初始状态均为空,元素a1、a2、a3、a4、a5、a6依次入栈,再将出栈后的元素依次进入队列,若入队的顺序为a2、a4、a3、a6、a5、a1,则栈s的容量至少是( )
A. 2 B. 3 C. 4 D. 5
【答案】B
【解析】
【详解】本题考查栈和队列的操作相关内容。若出栈的顺序为a2,a4,a3,a6,a5,a1,则a1和a2先进栈,然后a2出栈,a3和a4进栈 ,此时栈中有3个元素,分别是a1、a3和a4,然后a4和a3出栈,a5和a6进栈,再a6、a5、a1出栈,因此栈中最多时的元素为3,故栈S的容量至少应该为3,故本题答案是B选项。
10 有如下Python程序段:
a=[3, 8, 6, 2, 1, 0, 7]
n=len (a)
for i in range ( (n-1) //3) :
j=0; k=1
while jif a[j]*k>a[j+2]*k:
a[j], a[j+2]=a[j+2], a[j]
j=j+1; k=-k
执行该程序段, 则 a[4: 7]的值为( )
A. 6, 0, 7 B. 6, 7, 8 C. 3, 8, 1 D. 6, 8, 7
【答案】A
【解析】
【详解】本题考查Python程序设计相关内容。分析程序段可知,初始状态:n=7,(n-1)//3=2,for循环共执行两次:(1)当i=0时, j取值范围是[0,4],当j=2时,a[j]*k>a[j+2]*k-->a[2]*1>a[4]*1-->6>1成立,交换a[2]与a[4]的值,当j取其他值时,if条件表达式不成立,列表元素不会发生变化,for循环执行完第一次后,列表a=[3, 8, 1, 2, 6, 0, 7]。
(2)当i=1时, j取值范围是[0,3],当j=0时,a[j]*k>a[j+2]*k-->a[0]*1>a[2]*1-->3>1成立,交换a[0]与a[2]的值,当j取其他值时,if条件表达式不成立,列表元素不会发生变化,for循环执行完第二次后,列表a=[1, 8, 3, 2, 6, 0, 7]。
执行该程序段,a[4: 7]的值为:[ 6,0,7]。故本题答案是A选项。
11. 接力比赛男女生人数相等,男女队员交替接力, 实现该功能的Python程序段如下:a=[["1 号", "女"], ["2 号", "女"], ["3 号", "男"], ["4 号", "男"], ["5 号", "男"], ["6 号", "女"], ["7 号", "女"], ["8 号", "男"]]
print (a[0]) #输出第一棒
pre=0; i=1
que=[-1]*len (a)
head=tail=0
while iif head!=tail:
if a[que[head]][1]!=a[pre][1]:
print (a[que[head]])
pre=que[head]
head+=1
① a[pre][1]!=a[i][1]:
print (a[i])
pre=i
else: #性别与前一棒相同时则进入等待队列
que[tail]=i
tail+=1
i+=1
if head!=tail:
print (② )
上述程序段中划线处应填写的代码是( )
A. ①elif ②que[head] B. ①if ②que[head]
C. ①elif ②a[que[head]] D. ①if ②a[que[head]]
【答案】D
【解析】
【详解】本题考查Python程序设计相关内容。分析程序段可知: ①处为选择结构,又因后有else语句,而else总与上面离它最近的尚未匹配的if进行匹配,所以此处应填写:if。②处作用是输出排列好的参赛序列,所以此处填写:a[que[head]]。故本题答案是D选项。
12. 有如下 python 程序:
a=[2, 5, 3, 11, 12, 4, 8, 10]
n=8; num=[0]*n
i=0
while inum[i]=1
for j in range (0, i) :
if a[j]=num[i]:
num[i]=num[j]+1
i=i+1
ans=0
for i in range (n) :
if num[i]>ans:
ans=num[i]
print (ans)
执行该程序段后,输出ans 的值是( )
A. 2 B. 4 C. 5 D. 6
【答案】C
【解析】
【详解】本题考查是数组子序列。阅读程序可知,程序的功能是求最长递增子序列的长度是多少,具体执行过程如下:
索引 0 1 2 3 4 5 6 7
数组a 2 5 3 11 12 4 8 10
数组num 1 2 2 3 4 3 4 5
最长子序列为:2, 3, 4, 8, 10长度为5,故选C。
二、非选择题(本大题共3小题,第13小题7分,第14小题10分,第15小题9分,共26分)
13. 给定两个字符串s1和s2,要求判断其中一个字符串是否是另一字符串通过若干次循环移位后的新字符串的子串。字符串的循环移位过程是将字符串的第一个字符移动到末尾形成新的字符 串,例如“CDAA”是由“AABCD”两次移位后产生的新串“BCDAA”的子串,结果输出“Yes”。输入“ABCD”与“ACBD”,则输出“No”。请回答下列问题。
(1)实现上述功能的Python程序如下,请在划线处填入合适的代码。
a=input (“请输入字符串s1: ”)
b=input (" 请输入字符串 s2: ")
if len (a) a, b=b, a
flag=False
for i in range (len (a) ) :
p=i
①____
for j in range (len (b) ) :
if②____:
count+=1
p+=1
if③____:
print ("Yes")
flag=True
break
if flag==False:
print ("No")
(2)本程序采用____算法(选填:枚举/解析)
【答案】 ①. count=0 ②. b[j] == a[p%len (a) ] ③. count == len (b) ④. 枚举
【解析】
【详解】本题考查Python程序设计相关内容。结合题目内容分析程序段,可知:
(1)①处,count作用是统计子串中逐个相符的字符个数,其初始值应为0,故此处答案为:count=0。②处,通过字符串循环移位来判断子串是否相符,可以采用取余运算(p%len(a))保证相应索引在子串内,故此处答案为:b[j]==a[p%len(a)]。③处,若字符相符个数正好等于子串的长度,则表示该字符串是另一字符串通过若干次循环移位后的新字符串的子串,故此处答案为:count == len (b)。
(2)枚举算法是指在算法中采用搜索的方法,把各种可能的情况都考虑到,并对所得的结果逐一进行判断,过滤掉那些不符合要求的结果,保留那些符合要求的结果。解析算法是指能够找出表示问题的前提条件和结果之间的关系的数学表达式,并通过表达式的计算来实现问题的求解。结合题目内容,可知,该程序采用的是枚举算法,故④处答案为:枚举。
14. 某大学研究小组使用Flask Web框架开发了简易版“智能雨刷”测试系统,它可以利用传感 器获取雨量数据,对传感器收集的数据分析后,根据给定的阈值自动控制雨刷器运行。系统的架构图如图a所示,请回答下列问题:
图a
(1)下列选项中属于搭建信息系统前期准备的是____(多选题,填字母)
A.需求分析 B.硬件搭建 C.详细设计 D.开发模式选择 E.系统测试
(2)智能雨刷测试系统的智能终端和服务器的程序代码如下:
#服务器端的部分程序代码
import sqlite3
from flask import Flask, request
app=Flask (__name__)
@app. route ("①____", methods=['GET'])
def add_data () :
rain=int (request. Args. get ("rain") )
#用户设置的阈值300赋值给max,代码略
if rain>max:
return 1
else:
return 0
if __name__=="__main__":
app. run (host="192. 168. 1. 233", port=5050)
#智能终端的部分程序代码
IP=" 192. 168. 1. 233"; PORT="5050"; SSID="JF501"; PASSWORD="JF123456"
#定义IoT 模块和micro: bit 开发板串口通信参数、 IOT模块连接Wi-Fi 等代码略
#micro: bit和服务器建立连接相关代码略
while True:
rain=pin0. read_analog ()
errno, resp=0bloq. get ("sr rain="+str (rain) , 10000)
if errno==200:
display. show (str (resp) )
if resp==1:
pin12. write_digital (1)
else:
pin12. write_digital (0)
sleep (5000)
①请在划线处填入合适的代码____。
②智能终端根据resp值的情况控制雨刷器的工作状态,resp的值来自____(单选,填字母:A.传感器采集/B.服务器返回/C.智能终端分析得出)。
(3)请通过增加传感器和执行器(或使用汽车已有的执行器)对该系统功能进行一项扩展,写出传感器和执行器的名称,并描述实现的功能:____。
(4)为了能在销售排行靠前的车型中推广智能雨刷器,研究小组收集了部分新能源汽车某年份的半年销售数据存储在“xs.xlsx”中,如图b所示。编写Python程序,按汽车“级别”分组计算半年销售总量,并筛选出排行前三的汽车级别,程序运行结果如图c所示。
车企 车型 级别 销售均价 半年销售量
比亚迪 元PLUS 紧凑型SUV 151800 99543
小鹏汽车 小鹏P7 中型车 334900 31149
上海通用五菱 五菱宏光MINEV 微型车 66350 218632
比亚迪 宋PLUS DM-i 紧凑型SUV 184800 211837
长城汽车 欧拉好猫 紧凑型SUV 146450 35607
比亚迪 汉EV 中大型车 272300 78144
比亚迪 海豚 紧凑型SUV 116800 78920
特拉斯 Model Y 中型SUV 343400 157862
特拉斯 Model 3 中型车 307900 67677
广汽埃安 AION Y 紧凑型SUV 163700 69655
广汽埃安 AION S 紧凑型车 165700 65982
图b
图c
Python 程序如下,请在划线处填入合适的代码:
import pandas as pd
import matplotlib. pyplot as plt
plt. cParams['font. sans-serif']=['SimHei']
plt. rcParams['axes. unicode_minus']=False
df=pd. read_excel ("xs. xlsx")
dfl=df. groupby ("级别") . sum ()
df =df1. sort_values ("半年销售量", ascending=False)
df2= _____①____
plt. bar (____②____, df2. 半年销售量,label="销量")
plt. title ("半年销量总量前三名")
plt. legend ()
plt. show ()
【答案】 ①. ACD ②. /str ③. B ④. 参考答案1:在车内增加湿度传感器和除湿器,当湿度大于阈值时,除湿器将会启动除湿功能。参考答案2:在车内增加温度传感器,当温度大于阈值时,空调将会启动制冷功能 ⑤. df1[df1. 半年销售量>=df1. 半年销售量[2]]或df1[df1. 半年销售量>=df1. values[2][1]] ⑥. df2. index
【解析】
【详解】本题考查信息系统相关内容。分析材料,可知:
(1)在搭建该信息系统前,需要进行前期准备的步骤是:需求分析→可行性分析→开发模式选择→概要设计→详细设计。ACD选项属于搭建信息系统的前期准备,硬件搭建属于系统搭建阶段,系统测试属于完善系统阶段。故本题答案为:ACD。
(2)②处,由Flask中@app.route的基本用法可知,此处需要将一个函数绑定到指定的URL上,从而使得在浏览器中访问这个URL时,可以执行这个函数并返回相应的结果。分析上下文,此处绑定的是str函数,故②处答案为:/str。③处,由程序段可知,resp的值来自服务器返回,故此处答案为:B。
(3)结合系统功能及现有技术,可扩展的系统功能有:在车内增加湿度传感器和除湿器,当湿度大于阈值时,除湿器将会启动除湿功能或在车内增加温度传感器,当温度大于阈值时,空调将会启动制冷功能。故④处可供选择答案有两个:参考答案1:在车内增加湿度传感器和除湿器,当湿度大于阈值时,除湿器将会启动除湿功能。参考答案2:在车内增加温度传感器,当温度大于阈值时,空调将会启动制冷功能
(4)⑤此处需要筛选筛选出排行前三的汽车级别,故此处答案为:df1[df1. 半年销售量>=df1. 半年销售量[2]]或df1[df1. 半年销售量>=df1. values[2][1]]。⑥处,建立柱状图,按汽车“级别”呈现半年前三名销售总量,故此处答案为:df2. index。
15. 小美手里有如图a所示的各种面值的人民币及张数,她购物时习惯优先使用大额面值的人民币。
面值(元) 10 5 50 20 100 2 1
数量(张) 5 2 7 3 4 11 7
图a
例如某次消费金额为561元,在不找零的情况下完成支付,其方案为100元4张,50元3张,10元1张,1元1张。小美编写Python 程序,此方案执行结果如图b 所示。
请输入各纸币的面值:10, 5, 50, 20, 100, 2, 1 请输入各面值纸币对应的张数:5, 2, 7, 3, 4, 11, 7 请输入消费金额:561 消费561元的选择方案为: [[100, 4], [50, 3], [10, 1], [1, 1]]
图b
(1)小美手上有4张10元,10张5元,50张1元,共消费36元,根据题意选择10元、5元、1元张数分别为_________(填数字,用逗号隔开)。
(2)定义如下 linkedlist (faceval, num) 函数,功能为构建按纸币面值降序的有序链表,函数返回 money, 其中 faceval 数据项为纸币的面值,num 数据项为各面值纸币对应的张数。例如 faceval=["10", "5", "20"], num=["2", "5", "1"],请在划线处填入合适的代码。
def linkedlist(faceval,num):
n=len(faceval)
money=[]
money.append([int(faceval[0]),int(num[0]),-1])
head=0
for i in range(1,n):
q=p=head
while p!=-1 and money[p][0]>int(faceval[i]):
q=p
p=money[p][2]
if p==head:
money.append([int(faceval[i]),int(num[i]),head])
head=len(money)-1
else:
money. append (( ))
money[q][2]=len(money)-1
return money,head
(3)实现计算过程的 Python 程序如下,请在划线处填入合适的代码。
Def find (monetary, head) :
select=[]
cur=sortmoney[head]
while head!=-1:
if monetaryhead=cur[2]
cur=sortmoney[head]
continue
i=1
while i<=cur[1]:
monetary=monetary-cur[0]
if ①________:
select. append ([cur[0], i])
if monetary==0:
return select
②_______
if head!=-1:
cur=sortmoney[head]
break
else:
return -1
i=i+1
return -1
fv=input ("请输入各纸币的面值:") . split (', ') #split (', ') 将字符串以逗号分割为列表
num=input ("请输入各面值纸币对应的张数:") . split (', ')
sortmoney, head=linkedlist (fv, num)
consume=int (input ("请输入消费金额:") )
choice= ③________
if choice!=-1:
print ("消费", consume, "元的选择方案为:", choice)
else:
print ("无符合要求的方案! ")
【答案】 ①. 3, 1,1 ②. [int(faceval[i]),int(num[i]),p] ③. monetary【解析】
【详解】本题考查的是Python链表的综合应用。
(1)小美手上有4张10元,10张5元,50张1元,共消费36元,优先使用大额面值的人民币,故应选择10元3张,5元1张,1元1张,故答案为:3,1,1。
(2)该函数功能为建按纸币面值降序的有序链表,首先遍历链表money若为空,则创建链表的头节点,其次根据面额的大小对链表进行降序排序,if p=head 表示插入在表头,否则表示插入在表中和表尾。根据程序可知p为当前指针,q为前驱指针,在这中间要插入新的节点 [int(faceval[i]),int(num[i]), ],结合第二个语句money[q][2]=len(money)-1可知新节点要连接的是p.故答案为[int(faceval[i]),int(num[i]),p]。

展开更多......

收起↑

资源列表