浙江省镇海中学2022年12月信息技术考前适应性考试卷
试卷更新日期:2023-02-17 类型:高考模拟
一、选择题(本大题共13小题,每小题2分,共26分,在每小题给出的四个选项中,只有一个符合题目要求)
-
1. 阅读如下材料,回答第1至4题
随着安全意识的提高,很多家庭安装了智能监控系统,除了普通的视频监控功能,智能监控还增加了很多新功能,如移动侦测功能,当家里无人,有小偷入室盗窃,系统就自动报警。当快递员把物品送上门时,可以通过手机app远程观看快递员送货的画面并和快递员语音沟通。
(1)、下列关于信息系统的说法,正确的是( )A、智能监控系统运行过程包含了数据的输入、数据的加工和信息产生的过程。 B、摄像头、录像机、显示器、路由器组成了智能监控系统的全部硬件。 C、智能监控系统的软件仅指手机上的接收信息的app客户端 D、监控系统的使用者是该系统的唯一用户(2)、关于该智能监控系统,下列说法不正确的是( )A、图中录像机负责数据处理和网络控制,是智能监控系统的主要资源 B、图中的摄像头和录像机等通过WIFI连接构成了一个局域网 C、若路由器损坏,远程的监控、报警功能不能实现,但本地录像功能不受影响 D、用通过手机APP远程查看监控画面,不需要遵循TCP/IP协议(3)、监控系统实现“移动侦测”功能,最可能用到的传感器类型是( )A、霍尔传感器 B、加速度传感器 C、红外传感器 D、磁场传感器(4)、人工智能的运用,使监控系统更加智能,如移动侦测功能的实现,下列关于人工智能的说法正确的是( )A、监控系统从图像分析出移动的人物,属于数据驱动的人工智能方法 B、通过手机 APP 远程查看监控视频,属于行为主义人工智能方法的应用 C、系统发报警信息到手机 APP,属于符号主义人工智能方法的应用 D、人工智能改善人类生活,人工智能给人类带来的都是有益的影响2. 阅读下列材料,回答问 题元宇宙是一个平行于现实世界的虚拟世界,人们可以通过VR、AR等技术访问这个虚拟世界。在“万物皆可元宇宙”这一全新的生活体验中,每一种场景都离不开数据的支持,每一种传感器设备以及扩展现实服务都需要对个人信息进行深度地收集及分析,无论乐意与否,人类都不可避免地被裹挟进爆发式增长的海量数据生活中。而一旦用户个人信息出现问题,元宇宙中依赖于用户个人信息存在的一切都会遭受颠覆性的影响,同时用户的个人利益乃至国家安全也都会遭受威胁。
(1)、根据阅读材料,下列说法正确的是( )A、元宇宙这个虚拟世界中的信息是脱离载体而独立存在的 B、元宇宙中涉及大量的大数据应用场景,不可能含有结构化数据 C、元宇宙的每种场景都离不开数据的支持说明信息技术已经发展到以数据为核心的阶段 D、玩家在元宇宙世界可以拥有与现实世界完全不同的虚拟身份,说明信息具有真伪性(2)、关于元宇宙中的信息安全,下列说法正确的是( )A、元宇宙中的用户个人信息属于一般信息 B、元宇宙服务器可以通过用户名+口令的认证技术进行访问控制 C、通过设置防火墙可以阻挡来自元宇宙外部的黑客入侵 D、要想保护用户的个人利益乃至国家安全,需从国家立法、行业自律两个层面着手(3)、某科技公司推出一款用于体验元宇宙的VR眼镜一体机,具有内置处理器,传感器,电池,存储内存和显示器,不需要连接到PC或智能手机即可使用。其参数如下:产品型号
PICO 4
主机重量
<300g
分辨率
4320×2160
运行内存
6G
存储内存
128GB
操作系统
Android 6DoF
视角
105°
手柄系统
红外光学
瞳距调节
无极电动调 节 62-72mm
外链内容
Wi- Fi 无线 USB 有线
下列说法正确的是( )
A、PICO4采用的Android系统是基于Linux的开源操作系统开发的 B、该屏幕每平方英寸上的像素数量为4320×2160 C、游戏手柄和屏幕都是VR眼镜一体机中主要的输出设备 D、断电后,PICO4理论上最多可以存储134G的软件与数据3. 已知某计算式的逆波兰表达式为 ab+c*ab+e/-,则该计算式为:( )A、(a+b)-(c*a+b)/e B、(a+b)*c-(a+b)/e C、(a+b*c+a)/b-e D、(a+b*c)-(a+b/e)4. 一幅分辨率为1600*512BMP图像,每一像素的颜色用256级灰度表示,该BMP图像文件以16:1的压缩比压缩为JPEG格式文件,则压缩后文件的存储容量约为( )A、50KB B、1600KB C、400KB D、800KB5. 元素a,b,c,d,e,f依次入栈,若第1个出栈的元素是d,则不可能是第3个出栈的元素是( )A、a B、b C、c D、e6. 有如下 python 程序段:s= 'ccbbac '
a=[i for i in range(6)]
for i in range(5):
for j in range(5-i) :
if s[a[j]]>s[a[j+1]]:
a[j],a[j+1]=a[j+1],a[j]
print(a)
运行该程序段输出的结果为( )
A、[4, 3, 2, 5, 1, 0] B、[4, 5, 3, 2, 1, 0] C、[4, 2, 3, 0, 1, 5] D、[4, 3, 2, 5, 0, 1]7. 有如下 python 程序段:import random
a=[1,3,3,8,8,10,10,14,16,17]
key=random.randint(0,9)*2
ans=-1; f=0
L=0; R=9
while L<=R:
m=(L+R+1)//2
if a[m]==key:
ans=m
break
if a[m]>key:
R=m-1
f-=1
else:
L=m+1
f+=1
运行该程序段后,关于f和ans的结果,下列说法正确的是( )
A、f可能的最小值为-3 B、f的值可能为-1 C、ans的值可能为1 D、ans的值不可能为38. 已知链表结构 a [i][0]表示元素,a [i][1]表示下一个元素的下标,head 表示开头元素,在已知有序的链表 a 中插入数值 p 。代码如下,请在划线处依次填上合适代码( )a=[[0,1],[3,2],[5,3],[6,-1]]
head=0
p=4
tmp=head
while a[tmp][1] !=-1 and :
tmp=a[tmp][1]
a.append([p, ])
a[tmp][1]=len(a)-1
①a[tmp][0]<p;②a[a[tmp][1]][0]<p;③tmp;④a[tmp][1]
A、①③ B、①④ C、②③ D、②④二、非选择题(本大题共3题,7+8+9,共24分)
-
9. 小明利用Python对“足球世界杯历史进球前20名(图a)”数据进行分析,他先按国家分类,统计出各个国家的球员人数,并把球员人数最多国家的球员,按“场均进球”数进行排序,并用图形显示(图b)。请在划线处填入合适的代码。
图 a
图 b
列表 a 内容
字典 country 内容
import csv
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams[ 'font.sans-serif ']=[ 'SimHei'] #用来正常显示中文标签
plt.rcParams[ 'axes.unicode_minus ']=False #用来正常显示负号
=open("历史进球 .csv", 'r')
reader=csv.reader(csvfile)
a=list(reader); country={}
for i in range(1,len(a)): #按国家分类
if a[i][1] not in country:
else:
country[a[i][1]].append(i)
max=0 ; country_max=""
for i in country.keys(): #找出前 20 名中人员最多的国家,country.keys()表示字典的键
if :
max=len(country[i])
country_max=i
df=pd.DataFrame(data=[ ],columns=["姓名","进球个数","出场次数"])
for i in country[country_max]:
df=df.append({"姓名":a[i][0],"进球个数":int(a[i][2]),"出场次数":int(a[i][3])},ignore_index=True) =df["进球个数"]/df["出场次数"] #df 最后插入 1 列”场均进球”
df=df.sort_values( ) #按“场均进球”排序
plt. (df["姓名"],df["场均进球"],label="场均进球")
plt.title("前 20 名中人数最多国家球员场均进球情况")
plt.legend()
plt.xlim(0,1.2)
plt.show()
csvfile.close()
10. 小李为某网吧做了一个网络拓扑设计图,如下图所示,为了提高消防安全性,利用Micro:bit开发板设计了一个烟雾报警系统,每隔10秒将信号发送到服务器并存入数据库,如果监测到烟雾值超标则打开报警装置。管理员可以通过浏览器查询所有记录。(1)、在网络拓扑结构中①处的设备为 (单选,填字母:A .路由器 / B .调制解调器 / C .交换机)(2)、为了让智能终端能够通过无线网络传递数据,需要在智能终端中连接 (单选,填字母: A .Wi-Fi / B .IoT / C .LAN )模块(3)、智能终端测量环境中的湿度和烟雾值的部分代码如下:while True:
s = pin1.read_analog()
errno,resp = Obloq.get("putval?sv="+str(s),10000)
if errno == 200: pin8.write_digital(int(resp))
else: display.show(str(resp))
sleep(10*1000)
根据代码所示,报警装置连接在智能终端的引脚是
(4)、服务器端的部分代码如下,请在划线①处填入合适的代码。app = Flask(__name__)
@app.route('/search ')
def search'():
#从数据库中查询相关记录,并在网页中展示,代码略
@app.route( ① , methods=['GET'])
def putdata():
t=
#将收到的数据存入数据库,并从中查询报警的阈值,存入变量maxs,代码略
if int(t) > maxs:
return 1
else:
return 0
if __name__ == '__main__':
app.run(host='168.34.2.77',port=5000)
(5)、变量t用来接收数据,请为加框处选择合适的代码填入其中( ) (单选,填字母)A、request.args.get('sv') B、request.form.get('sv') C、request.args.get('s') D、request.form.get('s')(6)、根据上述代码,要查询相关记录,对应的URL为11. 学校教室后方放有物品柜,柜子有n层,每层有m个格子,从上到下一次是第0层,第1层,…,第n-1层,从左到右依次是第0个格子,第1个格子,…,第m-1个格子。有k组物品(组号为0~k-1),每组至少有2个物品,物品总数不超过n*m个:将k组物品按组号由小到大依次放入柜中,放置方式有两种:整体放置。按格子编号由小到大的次序查找第一个可放置该组全部物品的空区域(空区域是指从某个空格子开始的同层连续的所有空格子) ,若找到,则在该空区域居中、连续放置该组全部物品,如下图所示。
零散放置。若所有空区域格子数都小于该组物品数,即找不到连续放置的空区域,则将该组每个物品按照从上到下,从左到右的顺序,依次放置到柜中的空格子中,具体次序如下图所示。
小明编写了一个Python程序实现上述功能,程序依次输入n、m代表柜子层数和柜子每层格子数,第三行输入物品组数k,接下来一行输入k个整数代表每组物品个数。程序运行后输出n*m的矩阵代表物品的放置情况,1表示当前格子放置物品,0表示当前格子没有放置物品,运行结果如下图所示。
编写函数init(),功能为预处理i层j列格子开始的同层连续的所有空格子数,保存在数组v中。v[i][j]=0表示i层j列格子不是空格子,v[i][j]=x代表i层j列格子开始的同层连续的所有空格子数为x,代码如下
def init():
for i in range(n):
for j in range(m):
if q[i][j]==0:
k=j+1
while k<m and q[i][k] !=1:
k+=1
①
else:
v[i][j]=0
编写函数getpos(L),功能为寻找查找空格子数>=L的第一个空区域,若找到,返回该空区域的起始坐标[x,y],表示第x层,第y个格子开始的连续空格子的数量大于等于L,否则返回-1
def getpos(L):
ret=-1
for i in range(n):
for j in range(m):
if ② :
ret=[i,j]
return ret
return ret
解决问题的主程序如下:
n=int(input()) #输入层数
m=int(input()) #输入列数
k=int(input()) #输入物品组数
q=[[0 for i in range(m)]
for j in range(n)] # q 保存柜子的放置情况
v=[[0 for i in range(m)]
for j in range(n)] # v 的含义参考 init 函数 init() #预处理
s=input() #输入每组物品数量
a=s.split()
for i in range(k):
a[i]=int(a[i])
start=0
for i in range(k):
p=getpos(a[i])
if p!=-1:
row=p[0]
col=p[1]
k= ③
k=k//2
t=col
for j in range(k, 0, -1):
v[row][t]=j #更新 v 数组
t=t+1
for j in range(t,t+a[i]):
q[row][j]=1
v[row][j]=0
else:
cnt=0
while
:
row=start//m
col=start%m
if q[row][col]==0:
q[row][col]=1
v[row][col]=0
cnt+=1
start+=1
#输出放置情况
for i in range(n):
for j in range(m):
print(q[i][j], end=" ")
print( )
(1)、若柜子有5层,每层有10个格子。第1、第2组的物品数分别为6和2,则第二组第2个物品应放在第0层的第个格子里。(2)、请在划线处填入合适代码①②③
(3)、画框处代码有误,请改正