浙江强基联盟2024年10月高三联考信息试题及答案

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

浙江强基联盟2024年10月高三联考信息试题及答案

资源简介

浙江强基联盟2024年10月高三联考
技术试题
浙江强基联盟研究院 命制
考生须知:
1.答题前,请务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔分别填写在试题卷和答题纸规定的位置上。
2.答题时,请按照答题纸上“注意事项”的要求,在答题纸相应的位置上规范作答,在本试题卷上的作答一律无效。
3.非选择题的答案必须使用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后必须用黑色字迹的签字笔或钢笔描黑。
第一部分信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 阿里云基于云计算、人工智能和互联网推出了云上转播技术,在大数据技术的支持下,转播团队可以实时处理和分析海量的赛事数据,为观众提供更加精准和个性化的观赛服务。本次巴黎奥运会中共产出11000小时的赛事直播数据,通过云上转播技术传输到全球200多个国家和地区。下列关于数据与大数据的说法,正确的是( )
A. “11000”、“200”等数据经过分析和解释后得到对应的信息
B. 大数据技术处理的每个数据必须准确,不接受数据的混杂性
C. 利用传统的数据库技术可以处理海量的赛事数据
D. 云上转播技术使得信息传播不依附于载体
2. 阿里云基于云计算、人工智能和互联网推出了云上转播技术,在大数据技术的支持下,转播团队可以实时处理和分析海量的赛事数据,为观众提供更加精准和个性化的观赛服务。本次巴黎奥运会中共产出11000小时的赛事直播数据,通过云上转播技术传输到全球200多个国家和地区。视频转播的正常运行,离不开网络系统的支持,下列说法不正确的是( )
A. 视频数据在网络中传输涉及TCP/IP协议 B. 云上转播技术体现了网络资源共享的功能
C. 观众使用5G网络观看直播不需要传输介质 D. 赛事视频转播使用的网络按覆盖范围分属于广域网
3. 阿里云基于云计算、人工智能和互联网推出了云上转播技术,在大数据技术的支持下,转播团队可以实时处理和分析海量的赛事数据,为观众提供更加精准和个性化的观赛服务。本次巴黎奥运会中共产出11000小时的赛事直播数据,通过云上转播技术传输到全球200多个国家和地区。以下哪项体现了人工智能在云上转播技术中的应用( )
A. 直播主持人赛事解说 B. 为赛事视频自动生成字幕
C. 根据观众的观看行为进行个性化的推荐 D. 观众使用智能手机观看赛事直播
4. 某音频的采样、量化过程如图所示,下列说法正确的是( )
A. 图中音频的量化位数为8位 B. 该图呈现了“数模转换”的过程
C. 相邻采样点的间隔越大,声音保真度越高 D. 在图中的量化精度下,M、N点的量化值相同
5. 智能快递柜系统提高了物流行业的运作效率和服务水平。用户在相应APP中填写相关寄件信息后,将物品放入指定的快递柜中,系统通过识别快递单号,自动完成相关信息的录入;用户也可输入取件码或扫描柜子上的二维码,完成自助取件。下列关于智能快递柜系统的说法,合理的是( )
A. 二维码识别属于射频识别技术 B. 用户寄件使用的APP属于应用软件
C. 智能快递柜无法进行数据加工和处理 D. 该系统包含硬件、软件、数据、用户四个关键要素
6. 智能快递柜系统提高了物流行业运作效率和服务水平。用户在相应APP中填写相关寄件信息后,将物品放入指定的快递柜中,系统通过识别快递单号,自动完成相关信息的录入;用户也可输入取件码或扫描柜子上的二维码,完成自助取件。下列关于信息系统安全的说法,正确的是( )
A. 用户填写的姓名、地址、手机号等寄件信息属于个人一般信息
B. 所有用户通过该系统的身份认证后能访问系统中的全部数据
C. 对于该系统而言,确保数据的安全和用户的隐私至关重要
D. 及时进行系统升级,系统就不存在安全漏洞
7. 智能快递柜系统提高了物流行业运作效率和服务水平。用户在相应APP中填写相关寄件信息后,将物品放入指定的快递柜中,系统通过识别快递单号,自动完成相关信息的录入;用户也可输入取件码或扫描柜子上的二维码,完成自助取件。智能快递柜为用户提供了12小时免费的包裹保管服务,若包裹超时存放,每超过12小时将收取0.5元的费用,不足12小时按12小时计算,最高费用不超过3元。下列python程序段可以正确描述时间t与费用s之间关系的是( )
A. if t<=12: s=0 elif t<=84: s=0.5*ceil((t-12)/12) #ceil函数用于向上取整 else: s=3 B. if 1284: s=3
C. s=3 if t<=84: s=0.5*ceil((t-12)/12) elif t<=12: s=0 D. s=0 if t>84: s=3 elif t>12: s=0.5*((t-12)//12)
A. A B. B C. C D. D
8. 某深度为3的二叉树中序遍历结果为“ABCD”,则前序遍历结果不可能是( )
A. ABCD B. DBAC C. CBAD D. ACBD
9. 某集装箱吊架只能将货箱移动到A、B、C三个位置,现有三种不同规格货箱叠放在A点,如图所示。集装箱吊架进行一次吊装和放下记作一次操作,每次只能对一只货箱进行操作,要求在移动过程中不能将较大货箱叠到较小货箱上。则将所有货箱从A点移动到B点,至少需要的操作次数是( )
A. 3 B. 5 C. 6 D. 7
10. 某python程序段如下:
def ss(a,f):
if len(a)==1:
return a
elif f==True:
a=a[:len(a)-1]
else:
a=a[len(a)//2:]
f=not f
return ss(a,f)
print(ss([0,1,2,3,4,5,6,7,8,9],True))
执行程序后,输出结果为( )
A. [1] B. [8] C. [4] D. [6]
11. 某python程序段如下:
s="hAp#py"
que=[""]*10
head,tail=0,0
res=""
for i in range(len(s)):
if 'a'<=s[i]<='z':
que[tail]=s[i]
tail+=1
else:
head+=1
print(que[head:tail])
执行该程序段,输出的结果是( )
A. ['h','p','p','y'] B. ['p','p','y'] C. ['p','y'] D. ['y']
12. 有如下Python程序段,其功能是在降序链表中删除数据为key的所有节点,链表link中每个节点由一个数据域和一个指针域组成。
#建立链表link,代码略
head=0
key=int(input("输入要删除的数据"))
t=q=head
while link[t][0]!=key and t!=-1:
q=t
t=link[t][1]
p=t
while ① :
p=link[p][1]
if t==head:
head=p
else:

划线处应填入的代码为( )
A. ①link[p][0]==key and p!=-1 ②link[q][1]=p
B. ①link[p][0]!=key and p!=-1 ②link[q][1]=p
C. ①link[p][0]==key and p!=-1 ②link[q][1]=link[p][1]
D. ①link[p][0]!=key and p!=-1 ②link[q][1]=link[p][1]
二、非选择题(本大题共3小题,第13题7分,第14题10分,第15题9分,共26分。)
13. 字符串st均由小写字母组成,使用某算法生成校验码的过程如下:
第一步:字符串按位转换,奇数位字符转换为26个字母表中对称位置的字母,如将‘a’转换为“z”,‘b’转换为‘y’。偶数位字符转换为字母表中后移i位的字符(i为当前字符在字符串st中的位置,从1开始编号);
第二步:逐个遍历转换后的字符串,将其ASCII码转换为八进制,并将所得八进制数依次相连组成新的字符串;
第三步:将新字符串中各位数字相加,再将所得结果的各位数字相加,重复这一过程直到所得数为1位,即为字符串st的校验码。
字符串“apple”的校验码生成过程如下:
①‘a’在第1位,转换为‘z’,‘p’在第2位,后移2位,转换为‘r’,以此类推,字符串“apple”的转换结果为“zrkpv”;②字符串“zrkpv”中字符的ASCII码值分别为122,114,107,112,118,转换为八进制码172,162,153,160,166;③将八进制码各数位上的值相加,结果为1+7+2+1+6+2+1+5+3+1+6+0+1+6+6=48,48数字长度为2位,继续求数位之和,4+8=12,12数字长度为2位,继续求数位之和,1+2=3。则求得校验码为3.
(1)若字符串为“adp”,则根据该算法求得的校验码为____。
(2)实现上述功能的代码如下,请在划线处填入合适的代码。
def cd(st):
if len(st)==1:
return st
sum_t=0
for i in st:
①____
return cd(str(sum_t))
def change_k(x):
s=''
while x!=0:
②____
x=x//8
returns
s=input()
ans=""
for i in range(len(s)):
if i%2==0:
t=25-(ord(s[i])-97)+97
else:
t=(ord(s[i])-97+i+1)%26+97
③____
print(cd(ans))
14. 某校开发了一套乐跑系统,具体功能如下:
①在校园内设置四个智能终端作为打卡点,学生使用校园卡刷卡后,智能终端屏幕显示打卡信息,并将打卡数据上传到服务器中;
②学生通过浏览器访问该系统,登录到系统后,显示“个人数据查询”、“排行榜”
③单击“个人数据查询”,可以查询当天在四个点打卡的时间,以及记录是否有效(完整打卡四个点并且总时长在20分钟内)和个人历史数据;
④单击“排行榜”链接进入排行榜页面,显示各学院运动之星。
基于上述分析,设计系统结构图,如图a所示:
图a
(1)关于该系统的说法正确的是____(多选,填字母)
A.该信息系统采用的开发模式为C/S架构
B.可以使用射频识别技术实现数据采集
C.选择SQLite作为该系统的数据库管理软件,属于详细设计
D.考察学校网络环境是否满足通信要求属于可行性分析
(2)该系统服务器端程序采用Flask Web框架编写,网站框架示意图如图b所示,若要通过浏览器查看个人数据,则访问URL是http://____
图b
(3)该系统正常运行一段时间后,某同学完成了四个点的打卡,但登录系统后发现查询不到第三个打卡点的数据(由智能终端3上传),请分析可能造成上述问题的原因__________。
(4)乐跑活动开展一月后,小明导出打卡数据,存储到“sport.xlsx”文件,部分数据如图c。为评选出不同学院的运动之星,现编写python程序,程序运行结果如图d,回答以下问题。
图c
图d
import pandas as pd
df=pd.read_excel("sport.xlsx")
#对数据进行预处理,删除打卡次数和时长不合格的数据
#代码略
xy=["儿童发展与教育学院",'教育学院','体育与健康科学学院','外国语学院','计算机科学与技术学院']
for i in xy:
dfl=df[ ]
df2=df1.groupby("姓名").count()
df2=df2.rename(columns=('时长':'次数'))#将列名“时长”修改为“次数”
print(i+"的运动之星为:")
df3=
for x in df3.index:
print(x,end=" ")
print()
①请在划线处填入合适的代码。____。
②为评选出各学院运动之星,需要找出运动次数最多的前五名同学(按次数从高到低排列),画框处应填入的语句为____。(单选,填字母)
A.df2.sort_values('次数',ascending=False).head(5)
B.df2.sort_values('次数',ascending=True).tail(5)
C.df2.sort_values('次数').head(5)
15. 某学校的大学生艺术中心周日将面向全校各个学院的学生社团开放,但活动中心同时只能供一个社团活动使用,并且每一个社团活动开始后都不能中断。现在各个社团都提交了他们使用该中心的活动计划(即活动名称,活动的开始时刻和截止时刻)。
编写程序进行活动安排,为安排尽可能多的社团活动,要求从结束时间最早的活动项目开始选择。比如有5个活动,开始与截止时刻如图a所示,先按申请时间的先后(即申请的顺序)对活动编号,并按结束时间进行升序排序,效果如图b所示,则最佳安排序列为:1,4,3。
图a 图b
(1)若社团活动登记表数据如图c,则最佳安排序列为:____(填活动序号)
图c
(2)定义node-list(1st)函数对申请数据进行预处理,参数1st中的数据格式为
[[活动名称1,开始时间,结束时间],[活动名称2,开始时间,结束时间]...]。函数功能为按顺序为每个活动编号,并将1st内的时间数据转化为分钟数(以7:00为起始点)存入新列表中,请在划线处填上合适的代码。
def node_list(1st):
q_lst=[[0]*3 for i in range(n)] #n为1st长度
for i in range(n):
q_lst[i][0]=i #按申请顺序编号
for j in range(1,3):
____
q_lst[i][j]=int(time[0:2])*60+int(time[3:])-7*60
return q_lst
(3)定义sor_task(q_lst)函数,功能为对列表q_lst中按结束时间进行升序排序。
def sort_task(q_1st):
n=len(q_1st)
for i in range(n-1):
for j in range(0,n-i-1):
if_qlst[j][2]>q_1st[j+1][2]:
q_1st[j],q_1st[j+1]=q_1st[j+1],q_1st[j]
删除虚线框内的代码,对程序功能____(有/没有)影响。
(4)实现程序功能的主程序代码如下,要求输出具体的活动名称和时间,请在划线处填上合适的代码。
#读取当天活动数据存入1st中,数据格式为[[活动名称1,开始时间,结束时间],[活动名称2,开始时间,结束时间]...],代码略
n=len(1st)
#定义函数node_list(1st)、sort_task(q_1st)
q_lst=node_list(1st)
sort_task(q_lst)
ans=[0]
t=q_1st[0][2]
for i in range(1n):
if ①____:
t=q_lst[i][2]
ans.append(q_1st[i][0])
print("可进行活动名单为:")
for i in range(len(ans)):
print(②____)
浙江强基联盟2024年10月高三联考
技术试题
浙江强基联盟研究院 命制
考生须知:
1.答题前,请务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔分别填写在试题卷和答题纸规定的位置上。
2.答题时,请按照答题纸上“注意事项”的要求,在答题纸相应的位置上规范作答,在本试题卷上的作答一律无效。
3.非选择题的答案必须使用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后必须用黑色字迹的签字笔或钢笔描黑。
第一部分信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 阿里云基于云计算、人工智能和互联网推出了云上转播技术,在大数据技术的支持下,转播团队可以实时处理和分析海量的赛事数据,为观众提供更加精准和个性化的观赛服务。本次巴黎奥运会中共产出11000小时的赛事直播数据,通过云上转播技术传输到全球200多个国家和地区。下列关于数据与大数据的说法,正确的是( )
A. “11000”、“200”等数据经过分析和解释后得到对应的信息
B. 大数据技术处理的每个数据必须准确,不接受数据的混杂性
C. 利用传统的数据库技术可以处理海量的赛事数据
D. 云上转播技术使得信息传播不依附于载体
【答案】A
【解析】
【详解】本题考查的是数据与大数据。A项正确,因为“11000”、“200”等数据可以经过分析和解释来获得对应的信息,体现了数据到信息的转化过程。B项错误,大数据技术具有很强的处理能力,能够容忍和处理数据中的混杂性。C项错误,传统数据库技术难以有效处理当前的大规模、速度和多样性数据特征,这正是大数据技术所擅长的。D项错误,信息传输仍然需要通过网络等载体,只不过云技术能够让信息传播更为高效和便捷。故选A。
2. 阿里云基于云计算、人工智能和互联网推出了云上转播技术,在大数据技术的支持下,转播团队可以实时处理和分析海量的赛事数据,为观众提供更加精准和个性化的观赛服务。本次巴黎奥运会中共产出11000小时的赛事直播数据,通过云上转播技术传输到全球200多个国家和地区。视频转播的正常运行,离不开网络系统的支持,下列说法不正确的是( )
A. 视频数据在网络中传输涉及TCP/IP协议 B. 云上转播技术体现了网络资源共享的功能
C. 观众使用5G网络观看直播不需要传输介质 D. 赛事视频转播使用的网络按覆盖范围分属于广域网
【答案】C
【解析】
【详解】本题考查的是网络相关知识。A项正确,视频数据在网络中传输需要使用TCP/IP协议,这是网络底层的传输协议。B项正确,云上转播技术通过互联网实现全球传输,体现了网络资源共享的功能。C项不正确,5G网络虽然是无线传输,但仍需要传输介质,例如无线电波等来进行数据传输。D项正确,赛事视频转播需要将数据传输到全球的各个国家和地区,属于广域网的应用。故选C。
3. 阿里云基于云计算、人工智能和互联网推出了云上转播技术,在大数据技术的支持下,转播团队可以实时处理和分析海量的赛事数据,为观众提供更加精准和个性化的观赛服务。本次巴黎奥运会中共产出11000小时的赛事直播数据,通过云上转播技术传输到全球200多个国家和地区。以下哪项体现了人工智能在云上转播技术中的应用( )
A. 直播主持人赛事解说 B. 为赛事视频自动生成字幕
C. 根据观众的观看行为进行个性化的推荐 D. 观众使用智能手机观看赛事直播
【答案】B
【解析】
【详解】本题考查的是人工智能相关知识。A项是人工劳动力的活动,不涉及人工智能;B项,通过自然语言处理和语音识别技术,人工智能可以自动识别赛事视频中的语音并生成字幕;C项,是大数据的应用;D项是观看设备的使用,与人工智能的应用无直接关系。故选B。
4. 某音频的采样、量化过程如图所示,下列说法正确的是( )
A. 图中音频的量化位数为8位 B. 该图呈现了“数模转换”的过程
C. 相邻采样点的间隔越大,声音保真度越高 D. 在图中的量化精度下,M、N点的量化值相同
【答案】D
【解析】
【详解】本题考查的是编码。A错误,量化值范围为0-7,量化位数只需要3位。 B错误,该图实际上呈现的是“模数转换”的过程,即将模拟音频信号转换为数字音频信号的过程。这个过程包括采样和量化两个步骤。 C错误,相邻采样点的间隔决定了采样的频率。采样频率越高(即相邻采样点的间隔越小), 能够捕获的音频信号细节就越多,声音的保真度也就越高。 D正确,在图中,M,N都在5-6的量化区间内,故量化值都为5。故选D
5. 智能快递柜系统提高了物流行业的运作效率和服务水平。用户在相应APP中填写相关寄件信息后,将物品放入指定的快递柜中,系统通过识别快递单号,自动完成相关信息的录入;用户也可输入取件码或扫描柜子上的二维码,完成自助取件。下列关于智能快递柜系统的说法,合理的是( )
A. 二维码识别属于射频识别技术 B. 用户寄件使用APP属于应用软件
C. 智能快递柜无法进行数据加工和处理 D. 该系统包含硬件、软件、数据、用户四个关键要素
【答案】B
【解析】
【详解】本题考查的是信息系统与物联网相关知识。二维码识别与射频识别(RFID)是不同的技术,二维码是通过视觉扫描读取,而RFID通过无线电波读取,选项A说法错误;户寄件使用的APP是安装在智能设备上的应用软件,属于应用软件的一种,选项B说法正确;智能快递柜具备一定的数据收集、加工和处理能力,例如通过识别快递单号来录入数据,选项C说法错误;该系统包含硬件、软件、数据、用户、网络五个关键要素,选项D说法错误。故选B。
6. 智能快递柜系统提高了物流行业的运作效率和服务水平。用户在相应APP中填写相关寄件信息后,将物品放入指定的快递柜中,系统通过识别快递单号,自动完成相关信息的录入;用户也可输入取件码或扫描柜子上的二维码,完成自助取件。下列关于信息系统安全的说法,正确的是( )
A. 用户填写的姓名、地址、手机号等寄件信息属于个人一般信息
B. 所有用户通过该系统的身份认证后能访问系统中的全部数据
C. 对于该系统而言,确保数据的安全和用户的隐私至关重要
D. 及时进行系统升级,系统就不存在安全漏洞
【答案】C
【解析】
【详解】本题考查的是信息系统安全。A选项错误,用户填写的姓名、地址、手机号等信息属于个人敏感信息,而不是一般信息,因为这些信息可以对个人进行识别;B选项错误,即使用户通过身份认证,也不能访问系统中的全部数据。信息系统需要实现访问控制来保护敏感数据,只允许有权限的用户访问特定的数据;C选项正确,对于该系统而言,确保数据的安全和用户的隐私至关重要。这可以通过加密通讯、访问控制等技术来实现,以保护用户信息不被未经授权的访问和泄露;D选项错误,及时进行系统升级是减少漏洞的措施之一,但并不能保证系统不存在安全漏洞。系统的安全性需要多个方面的措施,如定期进行安全审核、漏洞扫描和应急响应机制等。故选C。
7. 智能快递柜系统提高了物流行业的运作效率和服务水平。用户在相应APP中填写相关寄件信息后,将物品放入指定的快递柜中,系统通过识别快递单号,自动完成相关信息的录入;用户也可输入取件码或扫描柜子上的二维码,完成自助取件。智能快递柜为用户提供了12小时免费的包裹保管服务,若包裹超时存放,每超过12小时将收取0.5元的费用,不足12小时按12小时计算,最高费用不超过3元。下列python程序段可以正确描述时间t与费用s之间关系的是( )
A. if t<=12: s=0 elif t<=84: s=0.5*ceil((t-12)/12) #ceil函数用于向上取整 else: s=3 B if 1284: s=3
C. s=3 if t<=84: s=0.5*ceil((t-12)/12) elif t<=12: s=0 D. s=0 if t>84: s=3 elif t>12: s=0.5*((t-12)//12)
A. A B. B C. C D. D
【答案】A
【解析】
【详解】本题考查的是Python选择语句。题目描述的关键点:0到12小时(含12小时)内,费用为0元。 超过12小时后,每超过12小时收费0.5元,不足12小时按12小时计算。最高费用不超过 3元。 A正确,由于使用了ceil函数(向上取整),它将确保费用不会超过3元(因为一旦超过6 个12小时,即72小时后,任何额外的时间都会使费用增加到3元或更高,但由于ceil的作用,它实际上会保持在3元)。 B错误,逻辑没有正确处理“不足12小时按12小时计算”。 C错误,对于节点12小时的处理有误。等于12小时需要支付0.5元。 D错误,逻辑没有正确处理“不足12小时按12小时计算”。故选A。
8. 某深度为3的二叉树中序遍历结果为“ABCD”,则前序遍历结果不可能是( )
A. ABCD B. DBAC C. CBAD D. ACBD
【答案】A
【解析】
【详解】本题考查的是二叉树。若中序遍历结果为“ABCD”,前序遍历结果“ABCD”,其二叉树如下:
该树深度为4,不满足题干深度为3。故本题应选A。
9. 某集装箱吊架只能将货箱移动到A、B、C三个位置,现有三种不同规格的货箱叠放在A点,如图所示。集装箱吊架进行一次吊装和放下记作一次操作,每次只能对一只货箱进行操作,要求在移动过程中不能将较大货箱叠到较小货箱上。则将所有货箱从A点移动到B点,至少需要的操作次数是( )
A. 3 B. 5 C. 6 D. 7
【答案】D
【解析】
【详解】本题考查的是数据结构应用。这是一个经典的汉诺塔问题,有三个不同规格的货箱,移动规则要求不能将较大货箱叠到较小货箱上。移动货箱的最少次数遵循公式:(2^n - 1),其中 (n) 是货箱的数量。这里有三个货箱,因此至少需要的操作次数是 (2^3 - 1 = 7) 次。故选D。
10. 某python程序段如下:
def ss(a,f):
if len(a)==1:
return a
elif f==True:
a=a[:len(a)-1]
else:
a=a[len(a)//2:]
f=not f
return ss(a,f)
print(ss([0,1,2,3,4,5,6,7,8,9],True))
执行程序后,输出结果为( )
A. [1] B. [8] C. [4] D. [6]
【答案】D
【解析】
【详解】本题考查的是递归函数。ss(a,f)函数接收一个列表a和一个布尔值f作为参数,并根据f的值和列表a的长度进行递归调用,逐步缩减列表a,直到列表长度为1,然后返回这个列表。 具体过程:
初始调用:ss([0,1,2,3,4,5,6,7,8,9], True),列表a的长度为10,不等于1,所以进入条 件判断。f为True,所以执行a=a[:len(a)-1],即去掉列表的最后一个元素,a变为 [0,1,2,3,4,5,6,7,8]。f 变为not f,即False。递归调用ss([0,1,2,3,4,5,6,7,8], False)
第二次调用:ss([0,1,2,3,4,5,6,7,8], False),列表a的长度仍为9,不等于1,继续条件 判断。f为False,所以执行a=a[len(a)//2:],即取列表的一半之后的元素(向下取整), 变为[4,5,6,7,8]。f 变为notf,即True。递归调用ss([4,5,6,7,8], True)
第三次调用:ss([4,5,6,7,8], True),列表a的长度为5,不等于1,继续条件判断。f为 True,所以执行a=a[:len(a)-1],即去掉列表的最后一个元素,a变为[4,5,6,7]。f变为not f,即 False。递归调用ss([4,5,6,7], False)。
第四次调用:ss([4,5,6,7], False)列表a长度为4,不等于1,继续条件判断。 f为 False,所以执行a= a[len(a)//2:],a变为 [6,7](因为4//2=2)。f变为not f,即True 递归调用ss([6,7],True)。
第五次调用:ss([6,7], True),列表a的长度为2,不等于1,继续条件判断。f为True, 所以执行a=a[:len(a)-1],a变为 [6]。f 变为not f,即False。递归调用ss([6], False)。
第六次调用:ss([6],False),列表a的长度为1,等于1,直接返回列表a,即[6]。故选D。
11. 某python程序段如下:
s="hAp#py"
que=[""]*10
head,tail=0,0
res=""
for i in range(len(s)):
if 'a'<=s[i]<='z':
que[tail]=s[i]
tail+=1
else:
head+=1
print(que[head:tail])
执行该程序段,输出的结果是( )
A. ['h','p','p','y'] B. ['p','p','y'] C. ['p','y'] D. ['y']
【答案】C
【解析】
【详解】本题考查Python程序调试与执行。程序段的主要功能是将字符串 s 中的小写字母存入队列 que 中,并通过调整 head 和 tail 指针控制输出结果。遇到小写字母tail递增1,其他字符head递增1。因此que=['h','p','p','y'],head=2,tail=4,因此输出结果是['p','y']。故选C。
12. 有如下Python程序段,其功能是在降序链表中删除数据为key的所有节点,链表link中每个节点由一个数据域和一个指针域组成。
#建立链表link,代码略
head=0
key=int(input("输入要删除的数据"))
t=q=head
while link[t][0]!=key and t!=-1:
q=t
t=link[t][1]
p=t
while ① :
p=link[p][1]
if t==head:
head=p
else:

划线处应填入的代码为( )
A. ①link[p][0]==key and p!=-1 ②link[q][1]=p
B. ①link[p][0]!=key and p!=-1 ②link[q][1]=p
C. ①link[p][0]==key and p!=-1 ②link[q][1]=link[p][1]
D. ①link[p][0]!=key and p!=-1 ②link[q][1]=link[p][1]
【答案】A
【解析】
【详解】本题考查的是链表操作。题目要求删除链表中所有数据域为key的节点。给定的代码段首先通过一个循环找到第一个数据域为key的节点(或确认没有这样的节点),然后再通过一个循环找到第一个非key 的节点,再所有这样的节点一起删除。 第一个划线处为循环条件,用于遍历链表,从第一个找到的key节点开始,直到链表末尾或不再遇到key节点。因此,循环条件应该是检查当前节点的数据域是否等于key并且当前节点不是链表末尾(即p不等于-1),代码为link[p][0]==key and p!=-1 第二个划线处,当找到第一个key节点(或确认没有这样的节点)后,我们需要跳过所有连续的 key节点,将前一个key节点之前的节点(如果有的话)直接链接到第一个非key的节点,即link[q][1]=p。故选A。
二、非选择题(本大题共3小题,第13题7分,第14题10分,第15题9分,共26分。)
13. 字符串st均由小写字母组成,使用某算法生成校验码的过程如下:
第一步:字符串按位转换,奇数位字符转换为26个字母表中对称位置的字母,如将‘a’转换为“z”,‘b’转换为‘y’。偶数位字符转换为字母表中后移i位的字符(i为当前字符在字符串st中的位置,从1开始编号);
第二步:逐个遍历转换后的字符串,将其ASCII码转换为八进制,并将所得八进制数依次相连组成新的字符串;
第三步:将新字符串中各位数字相加,再将所得结果的各位数字相加,重复这一过程直到所得数为1位,即为字符串st的校验码。
字符串“apple”的校验码生成过程如下:
①‘a’在第1位,转换为‘z’,‘p’在第2位,后移2位,转换为‘r’,以此类推,字符串“apple”的转换结果为“zrkpv”;②字符串“zrkpv”中字符的ASCII码值分别为122,114,107,112,118,转换为八进制码172,162,153,160,166;③将八进制码各数位上的值相加,结果为1+7+2+1+6+2+1+5+3+1+6+0+1+6+6=48,48数字长度为2位,继续求数位之和,4+8=12,12数字长度为2位,继续求数位之和,1+2=3。则求得校验码为3.
(1)若字符串为“adp”,则根据该算法求得的校验码为____。
(2)实现上述功能的代码如下,请在划线处填入合适的代码。
def cd(st):
if len(st)==1:
return st
sum_t=0
for i in st:
①____
return cd(str(sum_t))
def change_k(x):
s=''
while x!=0:
②____
x=x//8
returns
s=input()
ans=""
for i in range(len(s)):
if i%2==0:
t=25-(ord(s[i])-97)+97
else:
t=(ord(s[i])-97+i+1)%26+97
③____
print(cd(ans))
【答案】 ①. 3 ②. sum_t+=int(i) ③. s=str(x%8)+s ④. ans+=change_k(t)
【解析】
【详解】本题考查的是Python字符串处理。
(1)①‘a’在第1位,转换为‘z’,‘d’在第2位,后移2位,转换为‘f’,以此类推,字符串“adp”转换结果为“zfk”;②字符串“zfk”中字符的ASCII码值分别为122,102,107,转换为八进制码172,146,153;③将八进制码各数位上的值相加,结果为1+7+2+1+4+6+1+5+3=30,30数字长度为2位,继续求数位之和,3+0=3,则求得校验码为3。
(2)①处,将新字符串中各位数字相加,故此处应为:sum_t+=int(i);②处,十进制数转八进制数,除8取余倒序输出,故此处应为s=str(x%8)+s;③处,逐个遍历转换后的字符串,将其ASCII码转换为八进制,并将所得八进制数依次相连组成新的字符串,故此处应为:ans+=change_k(t)。
14. 某校开发了一套乐跑系统,具体功能如下:
①在校园内设置四个智能终端作为打卡点,学生使用校园卡刷卡后,智能终端屏幕显示打卡信息,并将打卡数据上传到服务器中;
②学生通过浏览器访问该系统,登录到系统后,显示“个人数据查询”、“排行榜”
③单击“个人数据查询”,可以查询当天在四个点打卡的时间,以及记录是否有效(完整打卡四个点并且总时长在20分钟内)和个人历史数据;
④单击“排行榜”链接进入排行榜页面,显示各学院运动之星。
基于上述分析,设计系统结构图,如图a所示:
图a
(1)关于该系统的说法正确的是____(多选,填字母)
A.该信息系统采用开发模式为C/S架构
B.可以使用射频识别技术实现数据采集
C.选择SQLite作为该系统的数据库管理软件,属于详细设计
D.考察学校网络环境是否满足通信要求属于可行性分析
(2)该系统服务器端程序采用Flask Web框架编写,网站框架示意图如图b所示,若要通过浏览器查看个人数据,则访问的URL是http://____
图b
(3)该系统正常运行一段时间后,某同学完成了四个点的打卡,但登录系统后发现查询不到第三个打卡点的数据(由智能终端3上传),请分析可能造成上述问题的原因__________。
(4)乐跑活动开展一月后,小明导出打卡数据,存储到“sport.xlsx”文件,部分数据如图c。为评选出不同学院的运动之星,现编写python程序,程序运行结果如图d,回答以下问题。
图c
图d
import pandas as pd
df=pd.read_excel("sport.xlsx")
#对数据进行预处理,删除打卡次数和时长不合格的数据
#代码略
xy=["儿童发展与教育学院",'教育学院','体育与健康科学学院','外国语学院','计算机科学与技术学院']
for i in xy:
dfl=df[ ]
df2=df1.groupby("姓名").count()
df2=df2.rename(columns=('时长':'次数'))#将列名“时长”修改为“次数”
print(i+"的运动之星为:")
df3=
for x in df3.index:
print(x,end=" ")
print()
①请在划线处填入合适的代码。____。
②为评选出各学院运动之星,需要找出运动次数最多的前五名同学(按次数从高到低排列),画框处应填入的语句为____。(单选,填字母)
A.df2.sort_values('次数',ascending=False).head(5)
B.df2.sort_values('次数',ascending=True).tail(5)
C.df2.sort_values('次数').head(5)
【答案】 ①. BD ②. 192.168.10.102:8080/view ③. 智能终端3损坏,打卡点3RFID设备损坏,IOT模块3损坏,IOT模块3未能连接到网络,传输数据的代码有误。 ④. df.学院==i ⑤. A
【解析】
【详解】本题考查的是信息系统搭建及pandas数据分析。
(1)A不正确,本系统实际上采用了B/S架构,因为它通过浏览器访问。 B正确,可以使用射频识别技术来实现数据采集。 C错误,选择数据库管理软件属于概要设计阶段的内容。 D正确,考察网络环境是否满足通信要求是可行性分析的一部分。故选BD。
(2)URL包括三部分:网络协议、服务器地址与文件名,根据题目要求可知,个人数据查询的子路由为/view,所以完整的URL 为http://192.168.10.102:8080/view
(3)针对该同学完成了四个点的打卡,但登录系统后发现查询不到第三个打卡点数据的问 题,可能的原因有以下几点: 1、智能终端3故障或数据传输问题:智能终端3可能存在硬件故障或软件异常,导致无法 正确上传打卡数据到服务器。或者智能终端3与服务器之间的通信链路出现问题,即IOT 模块3损坏或未能连接到网络,导致数据在传输过程中丢失或未能成功送达服务器。 2、服务器数据接收或处理异常:服务器可能未能正确接收智能终端3上传的数据,这可能是由于处理模块3数据的代码缺陷造成的。
(4)①筛选指定学院的学生数据,故此处为:df.学院==i;②按照题目要求,选择合适的排序方式来找出打卡次数最多的前五名学生,并按次数从高 到低排列,所以应填入的代码为A.df2.sort_values("次数’,ascending=False). head(5)。
15. 某学校的大学生艺术中心周日将面向全校各个学院的学生社团开放,但活动中心同时只能供一个社团活动使用,并且每一个社团活动开始后都不能中断。现在各个社团都提交了他们使用该中心的活动计划(即活动名称,活动的开始时刻和截止时刻)。
编写程序进行活动安排,为安排尽可能多的社团活动,要求从结束时间最早的活动项目开始选择。比如有5个活动,开始与截止时刻如图a所示,先按申请时间的先后(即申请的顺序)对活动编号,并按结束时间进行升序排序,效果如图b所示,则最佳安排序列为:1,4,3。
图a 图b
(1)若社团活动登记表数据如图c,则最佳安排序列为:____(填活动序号)
图c
(2)定义node-list(1st)函数对申请数据进行预处理,参数1st中的数据格式为
[[活动名称1,开始时间,结束时间],[活动名称2,开始时间,结束时间]...]。函数功能为按顺序为每个活动编号,并将1st内的时间数据转化为分钟数(以7:00为起始点)存入新列表中,请在划线处填上合适的代码。
def node_list(1st):
q_lst=[[0]*3 for i in range(n)] #n为1st长度
for i in range(n):
q_lst[i][0]=i #按申请顺序编号
for j in range(1,3):
____
q_lst[i][j]=int(time[0:2])*60+int(time[3:])-7*60
return q_lst
(3)定义sor_task(q_lst)函数,功能为对列表q_lst中按结束时间进行升序排序。
def sort_task(q_1st):
n=len(q_1st)
for i in range(n-1):
for j in range(0,n-i-1):
if_qlst[j][2]>q_1st[j+1][2]:
q_1st[j],q_1st[j+1]=q_1st[j+1],q_1st[j]
删除虚线框内的代码,对程序功能____(有/没有)影响。
(4)实现程序功能的主程序代码如下,要求输出具体的活动名称和时间,请在划线处填上合适的代码。
#读取当天活动数据存入1st中,数据格式为[[活动名称1,开始时间,结束时间],[活动名称2,开始时间,结束时间]...],代码略
n=len(1st)
#定义函数node_list(1st)、sort_task(q_1st)
q_lst=node_list(1st)
sort_task(q_lst)
ans=[0]
t=q_1st[0][2]
for i in range(1,n):
if ①____:
t=q_lst[i][2]
ans.append(q_1st[i][0])
print("可进行活动名单为:")
for i in range(len(ans)):
print(②____)
【答案】 ①. 1,5,4,6 ②. time=lst[i][j] ③. 没有 ④. q_lst[i][1]>=t ⑤. 1st[ans[i]]
【解析】
【详解】本题考查Python综合应用。
(1)首先将活动数据按照题目要求进行处理,先编号并将时间转化为以7:00为起始点的分钟数,然后按结束时间升序排序。排序后,从结束时间最早的活动开始选择,选择条件是活动开始时间晚于等于上一个被选中活动的结束时间。对于给出的社团活动登记表数据,经过处理和选择后,得到最佳安排序列为1,5,4,6。因为按照结束时间最早开始选择,且活动不能中断,所以依次选择满足条件的活动。故答案为:1,5,4,6。
(2)在node_list函数中,需要将输入的时间数据转化为分钟数。这里通过遍历每个活动的开始时间和结束时间,将时间字符串赋值给time变量,然后提取小时和分钟部分计算出以 7:00 为起始点的分钟数并存入新列表q_lst中。time=lst[i][j]是将输入列表lst(即1st)中的时间数据提取出来,以便进行后续的分钟数计算。故答案为:time=lst[i][j]。
(3)在sort_task函数中,虚线框内的代码是在结束时间相同的情况下,按照活动编号进行升序排序。对于整个程序的功能来说,题目只要求从结束时间最早的活动开始选择,并没有对结束时间相同的活动的选择顺序有明确要求。所以即使删除这部分代码,也不会影响程序按照结束时间最早选择活动的主要功能,对程序功能没有影响。故答案为:没有。
(4)在主程序的循环中,判断当前活动是否可以被选择加入最佳安排序列。条件是当前活动的开始时间(q_lst[i][1])晚于等于上一个被选中活动的结束时间(t)。只有满足这个条件,当前活动才能被加入最佳安排序列。故答案为:q_lst[i][1]>=t。在输出可进行活动名单时,需要输出具体的活动名称和时间。1st是原始的活动数据列表,ans中存储的是被选中活动的编号。通过1st[ans[i]]可以获取到对应的活动名称、开始时间和结束时间,以便进行输出。故答案为:1st[ans[i]]。

展开更多......

收起↑

资源预览