内容正文:
义乌市普通高中2024届适应性考试
技 术
一、选择题(本大题共12小题,每小题2分,共24分。在每小题给出的四个选项中,只有一个符合题目要求)
1. 下列有关数据和信息的说法,正确的是( )
A. 信息可以脱离载体独立存在
B. 信息具有时效性,过期的信息没有价值
C. 计算机中的数据既可以用二进制形式存储,也可以用十六进制形式存储
D. 信息的价值是相对的,对于不同的人群、不同的时间,其价值可能有所不同
2. 下列关于人工智能的说法正确的是( )
A. 人工智能的研究与应用必须有强大的算力(计算机)作为支撑
B. 图灵测试是检测机器是否具有智能的唯一方法
C. 人工智能研究的目的就是用智能机器替代人
D. 人工智能研究所涉及的学科主要是计算机(计算工具)、算法与数据结构
3. 某医院推出挂号就诊管理系统,患者在手机终端上通过浏览器或者相应App,绑定个人电子医保卡后便可在线预约挂号。患者就诊时,到对应科室一体机前扫描预约码完成签到,对应诊室门口大屏上便会显示其排队信息,完成就诊后系统会保存相关数据。该系统所在的局域网接入因特网,患者可在医院一体机设备查询个人检查报告,也支持患者在医院外使用计算机、手机等方式在线查询。下列关于该系统组成的说法,正确的是( )
A. 该系统中的浏览器是计算机硬件 B. 该系统中的数据仅包含患者检查报告数据
C. 该系统的网络带宽会影响系统性能 D. 该系统中的就诊管理软件是系统软件
4. 某医院推出挂号就诊管理系统,患者在手机终端上通过浏览器或者相应App,绑定个人电子医保卡后便可在线预约挂号。患者就诊时,到对应科室一体机前扫描预约码完成签到,对应诊室门口大屏上便会显示其排队信息,完成就诊后系统会保存相关数据。该系统所在的局域网接入因特网,患者可在医院一体机设备查询个人检查报告,也支持患者在医院外使用计算机、手机等方式在线查询。下列关于该系统功能与应用的说法,不正确的是( )
A. 扫描预约签到属于数据输入
B. 一体机上显示个人检查报告属于数据输出
C. 患者就诊所产生信息一般保存在各诊室的一体机中
D. 可根据患者个人数据的分析,提出较为合理的生活习惯方案
5. 某医院推出挂号就诊管理系统,患者在手机终端上通过浏览器或者相应App,绑定个人电子医保卡后便可在线预约挂号。患者就诊时,到对应科室一体机前扫描预约码完成签到,对应诊室门口大屏上便会显示其排队信息,完成就诊后系统会保存相关数据。该系统所在的局域网接入因特网,患者可在医院一体机设备查询个人检查报告,也支持患者在医院外使用计算机、手机等方式在线查询。下列关于信息系统安全的说法,正确的是( )
A. 定期备份就诊系统数据可以确保信息系统数据安全 B. 将医生和护士设成相同权限,不会影响信息系统的安全
C. 通过人脸识别登录该系统属于访问控制 D. 针对病毒攻击,应做到预防为主,查杀为辅
6. 某医院推出挂号就诊管理系统,患者在手机终端上通过浏览器或者相应App,绑定个人电子医保卡后便可在线预约挂号。患者就诊时,到对应科室一体机前扫描预约码完成签到,对应诊室门口大屏上便会显示其排队信息,完成就诊后系统会保存相关数据。该系统所在的局域网接入因特网,患者可在医院一体机设备查询个人检查报告,也支持患者在医院外使用计算机、手机等方式在线查询。下列关于该系统中网络技术的说法,正确的是( )
A. 该系统的网络系统最基本的功能是资源共享 B. 医院内的一体机故障不会影响手机终端正常使用该系统
C. 局域网内的终端访问服务器不需要网络协议 D. 该系统的网络资源只包括硬件和软件资源
7. 图像A(单环)为图a所示的100×100像素、黑白2色BMP图像,利用图像编辑软件,将图像A制作为图像B(五环)效果,如图b所示的200×100像素、16色BMP图像,则图像A与B的存储容量之比为( )
图a 图b
A. 1:2 B. 1:8 C. 1:16 D. 1:40
8. 队列Q从队首到队尾的元素依次为1,2,3,4,5,栈S初始为空。对队列Q中的数据进行操作:队列Q连续出队两次并顺序入栈S,然后栈S出栈一次后再入队Q。重复该操作,过程中若列Q为空则结束。结束后栈S从栈底到栈顶的元素依次为( )
A. 2,4,1,5,3 B. 1,3,5,4,2 C. 2,4,5,3,1 D. 1,3,5,2,4
9. 数组a用于存储由数值0和1组成的元素序列,特殊地,a[0]表示该序列的长度,查找该序列中连续的一段,该段中数值1的个数减去数值0的个数的差值最大。例如a=[10,1,0,0,1,1,1,0,1,1,0],表示序列长度为10,差值最大的连续段是a[4]到a[9],其中1的个数为5个,0的个数为1个,差为4。
#读入序列长度和0、1序列存入数组a,代码略
n=a[0]+1
s=[0]*n;ans=-1
for i in range(1,n):
s[i]=s[i-1]+a[i]
for i in range(1, n):
for j in range(i,n):
p=s[j]-s[i-1]
q=
if p-q> ans:
ans=p-q
print(ans)
实现该功能,输出最大差值ans,方框中应填入的正确代码为( )
A. n-p B. n-i-p C. j-i-p D. j-i+1-p
10. 某算法的部分流程图如图所示,若t的值为9,列表a的值为[1,2,4,5,6,7,9,10], n=8,执行这部分流程后,输出k的值和i的值分别为( )
A. 2 3 B. 3 3 C. 2 2 D. 3 2
11. 根据列表中元素大小关系,升序排列各元素的索引,并将排序后的索引保存在列表y中。如列表s为[23,15,7,8,66,2], 程序运行后得到列表y为[5,2,3,1,0,4]。
def sort indices(s):
n =len(s)
y =[i for i in range(n)]
for i in range(① ):
for j in range(② ):
if ③ :
y[j],y[j+1]=y[j+1],y[j]]
return y
s=[23,15,7,8,66,2]
y=sort_indices(s)
print("各元素升序排列的序号: ",y)
完善以上程序,①②③三处代码依次是( )
A. n n-i s[y[j]]>=s[y[j+1]] B. N n-i y[j]>=y[j+1] C. n-1 n-i-1 s[y[j]]>=s[y[j+1]] D. n-1 n-i-1 y[j]>=y[j+1]
12. 链表a中各节点由数据域和指针构成,并按数据域数值升序排列(头节点数据为奇数),现要修改各节点顺序,按奇数在前升序,偶数在后升序的顺序排列,如图所示。实现该功能的程序段如下,方框中应填入的正确代码是( )
a=[[8,1],[9,-1],[6,0],[1,5],[5,2],[2,4]]
p=t = head=3
while a[t][1]!=-1:
k=a[t][1]
if a[k][0]%2== 1:
else:
t=a[t][1]
A.
a[t][1]=a[p][1]
a[p][1]=t
p=t
t=k
B.
a[t][1]=a[k][1]
a[k][1]=a[p][1]
a[p][1]=k
p=a[p][1]
C.
a[p][1]=t
a[t][1]=a[p][1]
p=[p][1]
t=k
D.
t=a[t][1]
a[k][1]=a[p][1]
a[p][1]=k
p=k
A. A B. B C. C D. D
二、非选择题(本大题共3小题, 第13题7分, 第14题10分, 第15题9分, 共26分)
13. 计算一个正整数各位数字的平方和,再对这个和的各位数字求平方和,依此循环下去,会出现重复数。如数字16,会形成16,37,58,89,145,42,20,4,16,…的序列, 此时数字开始重复,共出现了8个不重复数。输入一个正整数n,计算出现不重复数的个数。
(1)若输入n的值为 38,则按以上算法得到的不重复数的个数是____个。(填写数值)
(2)请完善以下代码。
def sqrsum(x):
if 0<x<10:
return x**2
return sqrsum(x//10)+①____
d=[]
k=int(input())
c=0
while ②____:
d.append(k)
③____
c+=1
print(c)
14. 小华要搭建家庭环境监控系统。该系统能实时监测室内空气中SO₂、NO₂、PM10、CO₂等污染物的浓度,出现异常时自动开启空气净化器,直至空气恢复正常;用户可以通过浏览器查看实时监测结果和历史数据。小华已选择的硬件有:智能终端、空气质量传感器、空气净化器、服务器等。系统的硬件搭建方式是:智能终端连接传感器和执行器,并使用IOT模块通过无线网络连接服务器。请回答下列问题:
(1)为实现用户通过浏览器查看实时监测结果和历史数据,需要将传感器采集到的数据存储至____(单选,填字母:A.服务器 /B.智能终端 /C.浏览器)
(2)服务器端程序采用Flask Web 框架编写,网站功能页面规划如下表所示:
下列关于该网站的说法,正确的是____(多选,填字母)
A.该信息系统采用了 B/S架构模式
B.若智能终端与服务器处于同一局域网,则不需要配置路由器
C.实现查看室内实时监测数据功能的视图函数名称必须和路由名称viewall相同
D.考虑该系统是否需要具备可扩展性需求,该工作一般在需求分析阶段完成
(3) 小华将系统中某天传感器的数据导出,并保存在文件“data.xlsx”中,部分数据如图a所示,现要求筛选出1号传感器的值超过50的所有数据,部分代码如下:
print(df) 图a
则方框中可以填入的代码是( )(多选,填字母)。
A.
df=df[df.编号 == 1]
df= df[df.数值 > 50]
B.
df=df[编号 ==1]
df=df[数值 >50]
C.
df=df[df.数值 > 50]
df= df[df.编号 ==1]
D.
df.编号==1
df.数值>50
(4)小华将系统中某天的空气净化器的运行情况导出(每分钟记录1次,1表示运行,0表示未运行),部分数据如图b所示。如下程序用于各个小时执行器的运行时长,请在程序中划线处填入合适的代码。
图b
#读取文件保存到a中, 如[["00:00",0],["00:01",0],...,["23:59",0]],代码略
count= {}
hour = a[0][0][:2]
count[hour]=a[0][1]
for i in①____:
if a[i][0][:2]== hour:
②____
else:
hour = a[i][0][:2]
count[hour]=a[i][1]
print("统计结果为", count)
(5)该系统运行一段时间后,小华发现陌生人也可以使用手机直接登录该系统,并且可以查询监测数据和控制空气净化器,请简要说明造成这种现象可能的原因,并从系统安全的角度提出改进建议:____。
15. 某大型活动庆典排练中,有10000名演员参加方阵演出的训练,每个演员的序号依次编号为1到10000,经过淘汰筛选后,剩下n名演员参加最后的表演。入场时导演指挥所有演员按序号升序排序,入场后分化成若干个方阵。
方阵的分化方式为:
(1)按序号顺序将演员分割成若干个区间,每个区间有m×m个演员,m最大值为100,最小值为1。每次分化时按尽可能大的区间进行分割;
(2)对每个分割出的区间按先行后列的顺序依次分化成m×m的方阵;
(3)依次给各个方阵分配不同的颜色的演出服,同一方阵内的颜色相同,各个方阵的衣服颜色按方阵从大到小的顺序,依次用大写字母“A”到“Z”表示。
(4)给每个演员编制新的编号,编号方法为在其原序号前加上表示颜色的字母。
例如n=21时,可依次分化成3个方阵,元素的个数分别为16(4×4)、4(2×2)、1(1×1),排序后的编号依次为2,3,5,6,9,11,14,15,16,19,22,23,24,25,27,29,31,33,36,37,39,则分化成的如下图所示的3个方阵:
为检验排练的正确性,导演会随机抽取某个序号的演员,查询其在第几个方阵的第几行第几列,以及其编码。例如序号19的演员在第1个方阵的第3行第2列,编码是A19。
(1)按题中所给例子,增加一个序号为40的演员,则其编码为____。
(2)区间分割,依次记录每个区间人数,以及每个区间第1个人的编号。
def cut():
size=[]
x=int(n**0.5)+1
for m in range(x0,-1):
while n>= m * m:
①
size +=[m]
q =len(size)
id=[0]*q;val=[0]*q
id[0]=0;val[0]=a[0]
for i in range(1,q):
id[i]=①
val[i]= a[id[i]]
上述代码中,划线部分应填入代码为①____、②____。
(3)查询:查找演员的序号所在的方阵,若返回值为-1表示找不到
def search(key):
left=0; right=q-1;
while left <= right:
mid=(left+right)//2
if key == val[mid]:
return mid
if key >val[mid]:
left = mid+1
else:
right= mid-1
return right
按题目所给例子,执行该查找代码,若函数返回结果为-1,则输入的key值为____ (填写一个整数,表示演员的序号)。
(4)主程序
n=int(input("请输入演员的数量"))
#抽取n个演员,编号存入a数组,代码略
sort()#调用排序函数,按演员序号升序排序
cut()#调用分割函数
key = int(input("请输入要查询的演员序号"))
pos= search(key)
flag=False
if pos!=-1:
for i in range(size[pos]* size[pos]):
if a[id[pos]+i]== key:
print("编号为"+str(key)+"|"的演员在第"+str(pos+1)+"个方阵: ")
print(i// size[pos}+1, )#输出行号和列号
print(chr(pos+ord("A"))+ str(key)) #输出该演员的编码
flag=True
break
if not flag:
print("该编号的演员不在排列名单中")
上述代码中,划线部分应填入代码为____
第1页/共1页
学科网(北京)股份有限公司
$$
义乌市普通高中2024届适应性考试
技 术
一、选择题(本大题共12小题,每小题2分,共24分。在每小题给出的四个选项中,只有一个符合题目要求)
1. 下列有关数据和信息的说法,正确的是( )
A. 信息可以脱离载体独立存在
B. 信息具有时效性,过期的信息没有价值
C. 计算机中的数据既可以用二进制形式存储,也可以用十六进制形式存储
D. 信息的价值是相对的,对于不同的人群、不同的时间,其价值可能有所不同
【答案】D
【解析】
【详解】本题考查数据与信息。信息不能脱离载体独立存在,A错误;过期的信息可能在特定情况下仍有一定价值,B错误;计算机中的数据主要以二进制形式存储,十六进制通常是为了方便表示二进制,C错误;信息的价值是相对的,会因不同人群和不同时间而不同,D正确。故答案为:D。
2. 下列关于人工智能的说法正确的是( )
A. 人工智能的研究与应用必须有强大的算力(计算机)作为支撑
B. 图灵测试是检测机器是否具有智能的唯一方法
C. 人工智能研究的目的就是用智能机器替代人
D. 人工智能研究所涉及的学科主要是计算机(计算工具)、算法与数据结构
【答案】A
【解析】
【详解】本题考查人工智能。A项,人工智能需要处理大量的数据和进行复杂的计算,强大的算力是重要支撑,说法正确;B项,图灵测试是重要方法之一,但不是唯一方法,还有其他方式来判断机器的智能程度,说法错误;C项,人工智能研究目的不是完全替代人,而是辅助人类、提高效率等,说法错误;D项,人工智能研究所涉及的学科不仅仅是计算机、算法与数据结构,还包括很多其他领域,如统计学、神经科学等,说法错误。故答案为:A。
3. 某医院推出挂号就诊管理系统,患者在手机终端上通过浏览器或者相应App,绑定个人电子医保卡后便可在线预约挂号。患者就诊时,到对应科室一体机前扫描预约码完成签到,对应诊室门口大屏上便会显示其排队信息,完成就诊后系统会保存相关数据。该系统所在的局域网接入因特网,患者可在医院一体机设备查询个人检查报告,也支持患者在医院外使用计算机、手机等方式在线查询。下列关于该系统组成的说法,正确的是( )
A. 该系统中的浏览器是计算机硬件 B. 该系统中的数据仅包含患者检查报告数据
C. 该系统网络带宽会影响系统性能 D. 该系统中的就诊管理软件是系统软件
【答案】C
【解析】
【详解】本题考查信息系统组成。浏览器是软件不是硬件,A错误;系统中的数据包括患者信息、就诊信息等多种,不只是检查报告数据,B错误;网络带宽会影响数据传输速度等,从而影响系统性能,C正确;就诊管理软件是应用软件,不是系统软件,D错误。故答案为:C。
4. 某医院推出挂号就诊管理系统,患者在手机终端上通过浏览器或者相应App,绑定个人电子医保卡后便可在线预约挂号。患者就诊时,到对应科室一体机前扫描预约码完成签到,对应诊室门口大屏上便会显示其排队信息,完成就诊后系统会保存相关数据。该系统所在的局域网接入因特网,患者可在医院一体机设备查询个人检查报告,也支持患者在医院外使用计算机、手机等方式在线查询。下列关于该系统功能与应用的说法,不正确的是( )
A. 扫描预约签到属于数据输入
B. 一体机上显示的个人检查报告属于数据输出
C. 患者就诊所产生的信息一般保存在各诊室的一体机中
D. 可根据患者个人数据的分析,提出较为合理的生活习惯方案
【答案】C
【解析】
【详解】本题考查信息系统的应用。扫描预约码完成签到是将预约信息输入系统,属于数据输入,A正确;一体机显示个人检查报告是将存储的数据呈现给用户,属于数据输出,B正确;患者就诊产生的信息通常会保存在系统的数据库中,而不是各诊室的一体机,C错误;通过对患者个人数据的分析可以提出合理生活习惯方案等建议,D正确。故答案为:C。
5. 某医院推出挂号就诊管理系统,患者在手机终端上通过浏览器或者相应App,绑定个人电子医保卡后便可在线预约挂号。患者就诊时,到对应科室一体机前扫描预约码完成签到,对应诊室门口大屏上便会显示其排队信息,完成就诊后系统会保存相关数据。该系统所在的局域网接入因特网,患者可在医院一体机设备查询个人检查报告,也支持患者在医院外使用计算机、手机等方式在线查询。下列关于信息系统安全的说法,正确的是( )
A. 定期备份就诊系统数据可以确保信息系统数据安全 B. 将医生和护士设成相同权限,不会影响信息系统的安全
C. 通过人脸识别登录该系统属于访问控制 D. 针对病毒攻击,应做到预防为主,查杀为辅
【答案】D
【解析】
【详解】本题考查信息系统安全。定期备份数据只是保障数据安全的一个措施,但不能确保绝对安全,A错误;医生和护士职责不同,应设置不同权限,否则可能影响系统安全,B错误;人脸识别登录是一种身份验证方式,访问控制包括多种措施,不能简单说人脸识别登录就属于访问控制,C错误;针对病毒攻击,预防为主、查杀为辅是正确的应对策略,D正确。故答案为:D。
6. 某医院推出挂号就诊管理系统,患者在手机终端上通过浏览器或者相应App,绑定个人电子医保卡后便可在线预约挂号。患者就诊时,到对应科室一体机前扫描预约码完成签到,对应诊室门口大屏上便会显示其排队信息,完成就诊后系统会保存相关数据。该系统所在的局域网接入因特网,患者可在医院一体机设备查询个人检查报告,也支持患者在医院外使用计算机、手机等方式在线查询。下列关于该系统中网络技术的说法,正确的是( )
A. 该系统的网络系统最基本的功能是资源共享 B. 医院内的一体机故障不会影响手机终端正常使用该系统
C. 局域网内的终端访问服务器不需要网络协议 D. 该系统的网络资源只包括硬件和软件资源
【答案】B
【解析】
【详解】本题考查计算机网络在信息系统中的应用。该系统实现了患者在不同终端对挂号、就诊信息等资源的共享,体现了网络的资源共享功能,A正确;医院内一体机故障不影响手机终端通过网络与系统服务器交互,B正确;局域网内终端访问服务器需要网络协议,C错误;网络资源不仅包括硬件和软件资源,还包括数据等资源,D错误。故答案为:B。
7. 图像A(单环)为图a所示的100×100像素、黑白2色BMP图像,利用图像编辑软件,将图像A制作为图像B(五环)效果,如图b所示的200×100像素、16色BMP图像,则图像A与B的存储容量之比为( )
图a 图b
A. 1:2 B. 1:8 C. 1:16 D. 1:40
【答案】B
【解析】
【详解】本题考查图像数字化。图像A是100×100像素的黑白2色图像,存储容量为100×100×1(位,因为黑白2色只需1位表示)÷8(将位转换为字节)=1250字节;图像B是200×100像素的16色图像,存储容量为200×100×4(位,16色需要4位表示)÷8=10000字节,所以图像A与B的存储容量之比为1250:10000=1:8。故答案选B。
8. 队列Q从队首到队尾的元素依次为1,2,3,4,5,栈S初始为空。对队列Q中的数据进行操作:队列Q连续出队两次并顺序入栈S,然后栈S出栈一次后再入队Q。重复该操作,过程中若列Q为空则结束。结束后栈S从栈底到栈顶的元素依次为( )
A. 2,4,1,5,3 B. 1,3,5,4,2 C. 2,4,5,3,1 D. 1,3,5,2,4
【答案】B
【解析】
【详解】本题考查队列与栈。由题意可知,执行第一次,队列为:3,4,5,2,栈从栈底到栈顶为:1;执行第二次,队列为:5,2,4,栈从栈底到栈顶为:1,3;执行第三次,队列为:4,2,栈从栈底到栈顶为:1,3,5;执行第四次,队列为空,栈从栈底到栈顶为:1,3,5,4,2。故答案为:B。
9. 数组a用于存储由数值0和1组成的元素序列,特殊地,a[0]表示该序列的长度,查找该序列中连续的一段,该段中数值1的个数减去数值0的个数的差值最大。例如a=[10,1,0,0,1,1,1,0,1,1,0],表示序列长度为10,差值最大的连续段是a[4]到a[9],其中1的个数为5个,0的个数为1个,差为4。
#读入序列长度和0、1序列存入数组a,代码略
n=a[0]+1
s=[0]*n;ans=-1
for i in range(1,n):
s[i]=s[i-1]+a[i]
for i in range(1, n):
for j in range(i,n):
p=s[j]-s[i-1]
q=
if p-q> ans:
ans=p-q
print(ans)
实现该功能,输出最大差值ans,方框中应填入的正确代码为( )
A. n-p B. n-i-p C. j-i-p D. j-i+1-p
【答案】D
【解析】
【详解】本题考查Python程序。在这段代码中,我们要计算连续段中1的个数减去0的个数的差值。p表示连续段的和(即1的个数总和),那么q应该表示连续段中0的个数。而0的个数可以通过连续段的长度(即j-i+1)减去1的个数(即p)得到,所以q=j-i+1-p,故答案选D。
10. 某算法的部分流程图如图所示,若t的值为9,列表a的值为[1,2,4,5,6,7,9,10], n=8,执行这部分流程后,输出k的值和i的值分别为( )
A. 2 3 B. 3 3 C. 2 2 D. 3 2
【答案】A
【解析】
【详解】本题考查流程图。由下方流程图可知,结束之后k的值为2,i的值为3。
i
j
k
s
0
7
0
11
0
6
0
10
0
5
0
8
1
5
0
9
2
4
1
10
2
3
1
9
3
2
2
结束
11. 根据列表中元素大小关系,升序排列各元素的索引,并将排序后的索引保存在列表y中。如列表s为[23,15,7,8,66,2], 程序运行后得到列表y为[5,2,3,1,0,4]。
def sort indices(s):
n =len(s)
y =[i for i in range(n)]
for i in range(① ):
for j in range(② ):
if ③ :
y[j],y[j+1]=y[j+1],y[j]]
return y
s=[23,15,7,8,66,2]
y=sort_indices(s)
print("各元素升序排列的序号: ",y)
完善以上程序,①②③三处代码依次是( )
A. n n-i s[y[j]]>=s[y[j+1]] B. N n-i y[j]>=y[j+1] C. n-1 n-i-1 s[y[j]]>=s[y[j+1]] D. n-1 n-i-1 y[j]>=y[j+1]
【答案】C
【解析】
【详解】本题考查Python程序。冒泡排序外层循环次数是元素个数减1,所以①处应为n-1;内层循环开始范围是n-i-1,随着外层循环逐渐减小范围,所以②处为n-i-1;比较的是对应元素值的大小关系,应该是根据原始列表s中通过索引y对应的元素值来比较,即s[y[j]]>=s[y[j+1]],所以③处为s[y[j]]>=s[y[j+1]]。综上,正确答案是C。
12. 链表a中各节点由数据域和指针构成,并按数据域数值升序排列(头节点数据为奇数),现要修改各节点顺序,按奇数在前升序,偶数在后升序的顺序排列,如图所示。实现该功能的程序段如下,方框中应填入的正确代码是( )
a=[[8,1],[9,-1],[6,0],[1,5],[5,2],[2,4]]
p=t = head=3
while a[t][1]!=-1:
k=a[t][1]
if a[k][0]%2== 1:
else:
t=a[t][1]
A.
a[t][1]=a[p][1]
a[p][1]=t
p=t
t=k
B.
a[t][1]=a[k][1]
a[k][1]=a[p][1]
a[p][1]=k
p=a[p][1]
C.
a[p][1]=t
a[t][1]=a[p][1]
p=[p][1]
t=k
D.
t=a[t][1]
a[k][1]=a[p][1]
a[p][1]=k
p=k
A. A B. B C. C D. D
【答案】B
【解析】
【详解】本题考查链表。当遇到偶数节点时,要将其调整到偶数部分。首先将当前节点(t)的下一个指针(a[t][1])指向后面一个节点的下一个指针(a[k][1]),然后将后面一个节点(k)的下一个指针(a[k][1])指向原来当前节点的下一个指针(a[p][1]),最后将原来当前节点的下一个指针(a[p][1])指向当前节点(k),并且更新p为后面一个节点(k),继续遍历。只有B选项的代码符合这个逻辑。故答案为:B。
二、非选择题(本大题共3小题, 第13题7分, 第14题10分, 第15题9分, 共26分)
13. 计算一个正整数各位数字的平方和,再对这个和的各位数字求平方和,依此循环下去,会出现重复数。如数字16,会形成16,37,58,89,145,42,20,4,16,…的序列, 此时数字开始重复,共出现了8个不重复数。输入一个正整数n,计算出现不重复数的个数。
(1)若输入n的值为 38,则按以上算法得到的不重复数的个数是____个。(填写数值)
(2)请完善以下代码。
def sqrsum(x):
if 0<x<10:
return x**2
return sqrsum(x//10)+①____
d=[]
k=int(input())
c=0
while ②____:
d.append(k)
③____
c+=1
print(c)
【答案】 ①. 10 ②. (x % 10) ** 2 或其他等价答案 ③. k not in d 或not k in d 或其他等价答案 ④. k = sqrsum(k) 或 k = sqrsum(d[-1]) 或其他等价答案
【解析】
【详解】本题考查Python综合应用
(1)从38开始到出现重复数为止,共出现了38、73、58、89、145、42、20、4、16、37这10个不同的数。故答案为:10。
(2)这里是要计算一个数各位数字的平方和,除了递归计算高位数字的平方和外,还需要加上当前最低位数字的平方,即(x%10)**2,这就完整地计算了整个数各位数字的平方和。故答案为:(x % 10) ** 2。要保证循环进行直到出现重复数,所以当当前数k不在已有的列表d中时就继续循环,即k not in d。故答案为:k not in d。在每次循环中,要根据当前数计算下一个数,即通过调用函数sqrsum来计算当前数的各位数字平方和得到新的数k,故答案为:k=sqrsum(k)或者k=sqrsum(d[-1])。
14. 小华要搭建家庭环境监控系统。该系统能实时监测室内空气中SO₂、NO₂、PM10、CO₂等污染物的浓度,出现异常时自动开启空气净化器,直至空气恢复正常;用户可以通过浏览器查看实时监测结果和历史数据。小华已选择的硬件有:智能终端、空气质量传感器、空气净化器、服务器等。系统的硬件搭建方式是:智能终端连接传感器和执行器,并使用IOT模块通过无线网络连接服务器。请回答下列问题:
(1)为实现用户通过浏览器查看实时监测结果和历史数据,需要将传感器采集到的数据存储至____(单选,填字母:A.服务器 /B.智能终端 /C.浏览器)
(2)服务器端程序采用Flask Web 框架编写,网站功能页面规划如下表所示:
下列关于该网站的说法,正确的是____(多选,填字母)
A.该信息系统采用了 B/S架构模式
B.若智能终端与服务器处于同一局域网,则不需要配置路由器
C.实现查看室内实时监测数据功能的视图函数名称必须和路由名称viewall相同
D.考虑该系统是否需要具备可扩展性需求,该工作一般在需求分析阶段完成
(3) 小华将系统中某天传感器的数据导出,并保存在文件“data.xlsx”中,部分数据如图a所示,现要求筛选出1号传感器的值超过50的所有数据,部分代码如下:
print(df) 图a
则方框中可以填入的代码是( )(多选,填字母)。
A.
df=df[df.编号 == 1]
df= df[df.数值 > 50]
B.
df=df[编号 ==1]
df=df[数值 >50]
C.
df=df[df.数值 > 50]
df= df[df.编号 ==1]
D.
df.编号==1
df.数值>50
(4)小华将系统中某天空气净化器的运行情况导出(每分钟记录1次,1表示运行,0表示未运行),部分数据如图b所示。如下程序用于各个小时执行器的运行时长,请在程序中划线处填入合适的代码。
图b
#读取文件保存到a中, 如[["00:00",0],["00:01",0],...,["23:59",0]],代码略
count= {}
hour = a[0][0][:2]
count[hour]=a[0][1]
for i in①____:
if a[i][0][:2]== hour:
②____
else:
hour = a[i][0][:2]
count[hour]=a[i][1]
print("统计结果", count)
(5)该系统运行一段时间后,小华发现陌生人也可以使用手机直接登录该系统,并且可以查询监测数据和控制空气净化器,请简要说明造成这种现象可能的原因,并从系统安全的角度提出改进建议:____。
【答案】 ①. A ②. AD ③. AC ④. range(1, len(a)) ⑤. count[hour] += a[i][1] ⑥. 原因:家庭无线网络未设置密码、用户身份验证功能缺失、用户权限设置不合理等。建议:家庭无线网络设置密码、增加用户身份验证功能、合理设置用户权限等
【解析】
【详解】本题考查信息系统的应用。
(1)传感器采集的数据量较大,智能终端的存储能力有限,而服务器有较大的存储容量和处理能力,所以应将数据存储至服务器,A正确,B、C错误。
(2)A选项,该系统用户通过浏览器访问服务器,属于B/S架构模式,正确;B选项,即使在同一局域网,也可能需要配置路由器进行网络设置等,错误;C选项,视图函数名称不一定要和路由名称完全一样,错误;D选项,考虑系统的可扩展性需求一般在需求分析阶段完成,正确。所以选AD。
(3)先筛选出编号为1的数据,再在其中筛选出数值大于50的数据,A选项先通过条件筛选出编号为1的数据,再进一步筛选出数值大于50的数据,C选项先筛选出数值大于50的数据,再筛选出编号为1的数据,均可以实现,B选项没有使用正确的语法,D选项只是写出了条件,没有进行数据筛选操作,所以选AC。
(4)从第二个数据开始遍历,所以是range(1, len(a))。当小时相同时,将运行状态值进行累加,即count[hour] += a[i][1]。
(5)造成这种现象的原因可能是家庭无线网络未设置密码,导致陌生人能接入网络访问系统;也可能是系统本身没有完善的用户身份验证机制或用户权限设置不合理。改进建议包括为家庭无线网络设置密码,增强系统的用户身份验证功能,如设置登录账号和密码,并且合理划分用户权限,比如普通用户只能查看数据,而特定用户才能控制设备等。
15. 某大型活动庆典排练中,有10000名演员参加方阵演出的训练,每个演员的序号依次编号为1到10000,经过淘汰筛选后,剩下n名演员参加最后的表演。入场时导演指挥所有演员按序号升序排序,入场后分化成若干个方阵。
方阵的分化方式为:
(1)按序号顺序将演员分割成若干个区间,每个区间有m×m个演员,m最大值为100,最小值为1。每次分化时按尽可能大的区间进行分割;
(2)对每个分割出的区间按先行后列的顺序依次分化成m×m的方阵;
(3)依次给各个方阵分配不同的颜色的演出服,同一方阵内的颜色相同,各个方阵的衣服颜色按方阵从大到小的顺序,依次用大写字母“A”到“Z”表示。
(4)给每个演员编制新的编号,编号方法为在其原序号前加上表示颜色的字母。
例如n=21时,可依次分化成3个方阵,元素的个数分别为16(4×4)、4(2×2)、1(1×1),排序后的编号依次为2,3,5,6,9,11,14,15,16,19,22,23,24,25,27,29,31,33,36,37,39,则分化成的如下图所示的3个方阵:
为检验排练的正确性,导演会随机抽取某个序号的演员,查询其在第几个方阵的第几行第几列,以及其编码。例如序号19的演员在第1个方阵的第3行第2列,编码是A19。
(1)按题中所给的例子,增加一个序号为40的演员,则其编码为____。
(2)区间分割,依次记录每个区间的人数,以及每个区间第1个人的编号。
def cut():
size=[]
x=int(n**0.5)+1
for m in range(x,0,-1):
while n>= m * m:
①
size +=[m]
q =len(size)
id=[0]*q;val=[0]*q
id[0]=0;val[0]=a[0]
for i in range(1,q):
id[i]=①
val[i]= a[id[i]]
上述代码中,划线部分应填入代码为①____、②____。
(3)查询:查找演员的序号所在的方阵,若返回值为-1表示找不到
def search(key):
left=0; right=q-1;
while left <= right:
mid=(left+right)//2
if key == val[mid]:
return mid
if key >val[mid]:
left = mid+1
else:
right= mid-1
return right
按题目所给例子,执行该查找代码,若函数返回结果为-1,则输入的key值为____ (填写一个整数,表示演员的序号)。
(4)主程序
n=int(input("请输入演员的数量"))
#抽取n个演员编号存入a数组,代码略
sort()#调用排序函数,按演员序号升序排序
cut()#调用分割函数
key = int(input("请输入要查询的演员序号"))
pos= search(key)
flag=False
if pos!=-1:
for i in range(size[pos]* size[pos]):
if a[id[pos]+i]== key:
print("编号为"+str(key)+"|"的演员在第"+str(pos+1)+"个方阵: ")
print(i// size[pos}+1, )#输出行号和列号
print(chr(pos+ord("A"))+ str(key)) #输出该演员的编码
flag=True
break
if not flag:
print("该编号的演员不在排列名单中")
上述代码中,划线部分应填入代码为____
【答案】 ①. D40 ②. n -= m * m ③. id[i -1] + size[i - 1] * size[i - 1] ④. 1 ⑤. i % size[pos] + 1
【解析】
【详解】本题考查Python综合应用。
(1)增加一个序号为40的演员,总共22个演员。可以依次化为4个方针,有16个演员组成第一个4×4的方阵(A1~A16),4个演员组成第二个2×2的方阵(B17~B20),1个演员组成第三个1×1的方阵(C21),所以40号演员应该在第四个方阵,即D方阵,编码为D40。故答案为:D40。
(2)在cut函数中,我们需要把演员人数n分成尽可能大的m×m的区间,每次分割完一个区间后需要更新剩余的演员人数和每个区间的第一个演员的编号。故答案为:n -= m * m。计算每个区间第一个人的编号,除了第一个区间,后续区间第一个人的编号应该是前一个区间最后一个人的编号加上前一个区间的人数。故答案为:id[i -1] + size[i - 1] * size[i - 1]。
(3)函数返回-1表示输入的key值比val[0]还小,val[0]是第一个区间第一个演员的序号。如果key值为1且val[0]大于1,则函数返回-1。故答案为:1。
(4)这里要输出列号,应该用当前演员在该方阵中的索引 i 对当前方阵的大小size[pos]取余再加1,即i % size[pos] + 1。故答案为:i % size[pos] + 1。
第1页/共1页
学科网(北京)股份有限公司
$$