2023年 5月柯桥区高考及选考科目适应性考试
技术适应性试卷
第一部分 信息技术(共 50分)
一、选择题(本大题共 12小题,每小题 2分,共 24分,每小题列出的四个备选项中只有一个是符合题目
要求的,不选、多选、错选均不得分)
阅读下列材料,回答弟 1至 2题。
ChatGPT开发团队收集了海量的优质文档作为语料库,并对语料属性进行标注,使用神经网络算法进
行训练,使其能像人类一样聊天、编写文案、编程等。ChatGPT 还引入了强化学习,实现了在与人类互动
时,能根据用户反馈进行迭代优化。
1.下列关于 ChatGPT中语料库的说法,正确的是
A开发团队收集的海量优质文档是一种动态数据
B.ChatGPT的语料库是大数据,价值密度高
C.如果语料库中有个别知识点错误,会影响系统推理的结果
D.ChatGPT通过海量语料库的学习才能具备聊天、编写文案等能力
【答案】D
【解析】
本题考查大数据的特征、分类、思维方式
选项 A 错误 应该是静态数据
选项 B 错误 大数据价值密度低
选项 C 错误 当数据量大到一定程度时,个别数据的不准确就显得不那么重要
选项 D正确 深度学习通过大量的数据进行训练,生成数据模型。
2.下列关于 ChatGPT人工智能技术的说法,正确的是
A.ChatGPT的智能应用不会带来社会担忧
B.ChatGPT用到了联结主义和行为主义的人工智能方法
C.网络收集的文字材料可直接“喂”给 ChatGPT进行训练学习
D.ChatGPT在与人类互动时,从反馈中开展深度学习
【答案】B
【解析】
本题考查人工智能
选项 A 错误 会带来社会担忧
选项 B 正确 神经网络算法是联结主义,强化学习是行为主义。
选项 C 数据 处理之前,必须经过数据整理
选项 D 错误 从反馈中开展的是强化学习
阅读下列材料,回答第 3至 5题。
某校园大门出入口“智能门禁系统”采用人脸识别或刷校园卡的方式识别出入人员。本校人员识别通
过,自动开启闸机,并将学生出入学校的相关信息发送给家长:外来人员需通过闸机伴侣拍照登记后方可开
信息技术试题 第 1 页 共 11 页
启闸机,相关数据上传到服务器;系统管理员具备设置门禁参数、查看出入记录、管理数据库等特殊权限。
该系统的主要组成部分如图所示:
第 3-5 题图
3.下列关于该信息系统组成的说法,不.正.确.的是
A.服务器属于该系统的硬件设备
B.Unix属于该系统的系统软件
C系统管理员设置门禁参数使用到了系统的数据输入和存储功能
D.本校人员信息属于该系统的用户
【答案】D
【解析】
本题考查信息系统的组成
选项 D 错误 本校人员信息属于该系统的数据
4.下列关于该信息系统安全性的说法,不.正.确.的是
A.对数据进行加密,以提高数据的保密性
B.开启服务器防火墙后,仍需安装杀毒软件
C访客登记的手机号码信息属于个人一般信息
D.不同的授权用户授予不同的操作权限
【答案】C
【解析】
本题考查信息安全
选项 C 错误访客登记的手机号码信息属于个人敏感信息
5.下列关于该信息系统中数据的说法,不.正.确.的是
A.采集的数据被临时存储在 ROM直到被处理
B.该系统中输入的数据都已从模拟信号转为数字信号
C.系统管理员查看出入记录,属于信息系统的数据查询功能
D.校园卡使用无源电子标签,具有唯一的电子编码
【答案】A
【解析】
本题考查数据的存储、信息系统的功能、电子标签、模拟信号与数字信号的区别
选项 A 错误 采集的数据被临时存储在 RAM直到被处理
信息技术试题 第 2 页 共 11 页
6.下列关于网络技术的说法,正确的是
A.网络具有数据通信、资源共享和并行处理三个主要功能
B.5G移动通信技术是指数据的传输速率达到 5G
C.传输控制协议是负责将信息从一个地方传送到另一个地方
D.传输介质是传输数据信号的物理通道
【答案】D
【解析】
本题考查网络技术。
选项 A 错误 网络具有数据通信、资源共享和分布处理三个主要功能
选项 B 错误 5G移动通信技术是指第 5代移动通信技术
选项 C 错误 传输控制协议(TCP)是负责将信息从一个地方完整地传送到另一个地方
选项 D 正确
7.某算法的流程图如图所示。执行这部分流程,输入 41,则输出的值是
A.0 B.19 C.22 D. 32
【答案】B
【解析】
本题考查十进制数转换成二进制数
41 = (10 1001)
x%2 1 0 0 1 0 1
k 1 2 4 8 16 32
s = 1 -2 -4 +8 -16 +32 = 3+16 = 19
8.已知一棵二叉树的前序遍历序列为 ABCDEFG,则该二叉树中序遍历序列可能为
A.CABDEFG B.ABCDEFG
C.DACEFBG D.ADBCFEG
【答案】B
【解析】
本题考查二叉树的相关知识
已知前序遍历和中序遍历,可以确定对应的二叉树。若某个中序遍历序列有错,则无法还原二叉树。利用
这个特点,我们可以逐个选项尝试画出二叉树。
选项 A,前序遍历看出 A为根结点,中序遍历以 A为根,可以看出 C为左子树,BDEFG 在右子树,形式
如下:
根据前序遍历的根-左-右原则,访问顺序应为 AC***,与已知条件不符,A错。
选项 B,当二叉树所有分支结点都没有左子树,则 B正确,形式如下:
信息技术试题 第 3 页 共 11 页
选 B;C、D选项分析方法同 A。
9.有一个环形队列,长度为 10,头指针为 head,尾指针为 tail,则下列选项中队列元素个数与其它三项不.
同.的是
A.head=1,tail=6 B.head=3,tail=8 C.head=6,tail=0 D.head=9,tail=4
【答案】C
【解析】
本题考查循环队列的基本知识
循环队列中,tail指向最后一个元素的下一位置,而 head和 tail的先后顺序不一定,数据循环放置。
A选项,放置位置分别为 1,2,3,4,5,共 5个
B选项,放置位置为 3,4,5,6,7,共 5个;
D选项,放置位置为 9,0,1,2,3,共 5个;
C选项,放置位置分别为 6,7,8,9,只有 4个,选 C
10.有如下 Python程序段:
import random
d=[28, 37, 39, 42, 45, 50, 70, 80]
i, j, n=0, len(d)-1, 0
key=random.randint(20, 35)*2
while i<=j:
m=(i+j)//2; n+=1
if key==d[m]:
break
elif keyj=m-1
else:
i=m+1
print(i, j, m, n)
执行该程序段后,下列说法正确的是
A.n的值可能为 4 B.若 n值为 2,则必定满足 i<=j
C.m的值可能为 1 D.若 n值为 3,则 key的值可能是 45
【答案】B
【解析】
考查二分查收算法、系统随机数函数。
Key是[40,70]区间的偶数,n是循环次数,也是习惯说的二分查找次数。
正确答案还是容易找到的,列表 d中有 8个元素,3层满二叉树的节点个数是 7,如果 n<3,说明循环一定
信息技术试题 第 4 页 共 11 页
被提前中断了(break),所以必定满足 i<=j,正确答案 B
选项 A,由于 key<=70、m=(i+j)//2(中点取值偏左),n<=3
选项 C,m==1 时,查找区间还有 3 个元素:[28,37,39],d[1]==37,不可能和 key 相等,接下来无论 j=1-1
或 i=1+1(根据 key 的范围,应该执行 i=1+1),下标 1肯定不在接下来查找区间了,所以最后 m不可能为 1
选项 D,无论如何,key也不可能是 45。
11.有如下 Python程序段:
def f(s):
if len(s)==1:
return True
elif len(s)==2:
return s[0]==s[l]
elif s[0]==s[-l]:
return f(s[l:-l])
else:
return False
print(f("1234321"))
执行该程序段后,下列说法正确的是
A.输出结果为 False B.函数 f运用了迭代算法
C.函数 f的调用次数为 4 D.函数 f的时间夏杂度为 O(n2)
【答案】D
【解析】
考查函数递归的分析和理解
根据代码,这是利用递归判断一个字符串是否是“回文串”
选项 A,"1234321"是“回文串”应该输出 True,错误
选项 B,运用了递归算法,错误
选项 C,f("1234321")→f("23432")→f("343")→f("4")→True,4次正确
选项 D,根据以上分析,算法复杂度是 O(n)
12.有如下 Python程序段:
lst=[3, 5, 6, 7, 10, 11, 14, 16]
i=len(lst)-1
stk=[0]*len(lst)
top=-1
while i>=0:
if lst[i]%2==0:
top+=1
stk[top]=lst[i]
else:
lst[i+top+1]=lst[i]
i-=1
i=0
while top>-1:
信息技术试题 第 5 页 共 11 页
lst[i]=stk[top]
top-=1
i+=l
执行该程序段后,lst[3]的值是
A.3 B. 6 C. 14 D. 16
【答案】D
【解析】
考查数据结构栈,分析数据的移动的规律
分析代码,首先是从后往前查依次判断列表中元素的奇偶性,将其中的偶数元素入栈、奇数元素往后移动
top+1个位置,其中 top+1是表示栈的元素个数,也就是当前发现的偶数元素个数。接下来,栈内元素出栈,
依次放在列表前面。程序执行后,lst元素依次是:[6,10,14,16,3,5,7,11],lst[3]的值是 16,正确答案 D。
二、非选择题(本大题共 3小题,其中第 13题 8分,第 14题 9分,第 15题 9分,共 26分)
13.小明为他们教室搭建了环境温湿度监测系统,该系统结构示意图如第 13题图所示。该系统可实时监测
教室温湿度数据,并持续运行一周,数据由智能终端经 loT模块发送至Web服务器,若环境温湿度监测
值超过设定阀值区间,则控制执行器调节温湿度,用户可以使用浏览器查看实时数据。本系统服务器端
程序采用 Flask Web框架编写,数据库管理系统选择 sqlite3,服务器的 IP地址是 192.168.0.1,端口是
5000。网站功能页面规划如下:
第 13题图 1
序号 子页面路径 功能说明
1 / 实时显示温湿度数据
2 /input 提交温湿度数据
3 /count 显示温湿度统计数据
4 /search 查询显示某一天的历史数据
(1)上述页面规划属于搭建信息系统的前期准备的哪个阶段? 。
A.需求分析 B.可行性分析 C.概要设计 D.详细设计
(2)根据该系统的功能要求,第 13题图中①②处的设备分别为 、 。
(3)教空里的学生最舒服的温度是范围是 tmin~tmax,现要实现温度 t正常、非正常(偏高或偏低)时,
将对应的状态 sta的值设为 0和 1。下列 Python程序段中符合要求的有 (多选,填字母)。
A. if ttmax: D. sta=1
sta=1 if tif t>tmax: sta=1 else: sta=0
sta=1 elif t>tmax: sta=0 elif t>=tmin:
sta=0 sta=1 sta=0
信息技术试题 第 6 页 共 11 页
(4)小明在某次系统调试时,输入 URL后浏览器出现“404”错误信息(服务器反锁 404信息表示服务
器端无法找到对应的网页),简要说明系统中可能造成上述问题的原因:
(注:回答两项,1项正确得 1分)
【答案】
(1)C 2分
(2)传感器 执行器 2分
(3)BC 2分
(4)1.路由地址发生了改变 2.输入地址出错 3.路由视图函数被删除 2分
【解析】
本题考查 microbit及 Flask等相关知识。
(1) 图中的页面规划属于概要分析中的模块设计,选 C
(2)传感器采集数据传送给智能终端,智能终端控制执行器,填:传感器 执行器
(3)A选项,程序的执行自上而下,赋值语句 sta=0放在 if--else--语句后,导致 if语句判断无效,A错;
D选项,若 t<=tmax,则 sta=0,满足这个分支后不会再判断 t是否大于 tmin,D错;BC正确。
(4)服务器无法找到对应的网页,可能是路由地址输错,还有可能路由没有对应的视图函数
14.一球迷收集了近 3个赛季的 CBA 比赛数据,每个赛季的数据分别保存在独立文件中,如 14题图 a所示,
文件中数据记录格式如 14题图 b所示,以球员“布莱克尼”的“二分”数据“7.9-16.3”为例,7.9表
示二分球平均命中数量,16.3表示二分球平均投篮次数。
14题图 a 14题图 b 14题图 c
该球迷想根据历史赛季数据预测各球队下个赛季的首发阵容,编写了如下 Python程序,请回答下列问题:
(1)定义 readData函数,功能为:读取某赛季的 excel文件,返回每个队员的得分(得分=二分球命中数
量*2+三分球命中数量*3+罚球命中数量。函数代码如下,划线处应填入的代码为 (单选,
填字母)。
A.df["得分"][i]+=n*cols[col] B.df["得分"][i]=n*cols[co1]
C.df["得分"]+=n*cols[col] D.df["得分"]=df.二分*2+df.三分*3+df.罚球
import pandas as pd
def readData(file):
df=pd.read_excel(file)#读取文件 file 中的数据
cols={"二分":2,"三分":3,"罚球":1}
for i in range(len(df)):#计算每个队员的得分
for col in cols:
p=df[col][i].find("-")#在字符串中找到“-”的位置
n=float(df[col][i][:p])
信息技术试题 第 7 页 共 11 页
return df
(2)定义 select函数,功能为:筛选各球队得分最高的 5名球员作为首发阵容,并把球员名字及得分存入
列表 members后返回。其中 n号球队各球员名字存入 members[2*n]中,得分存入 members[2*n+1]
中,请在划线处填写合适的代码。
def select(teams) :
#teams是字典变量,如:{"浙江":0,"上海":1},字典的值代表球队编号
seasons=["20-21","21-22","22-23"]
members=[0]*len(teams)*2
df=readData(seasons[0]+".x1sx")
for season in ① :
file=season+".xlsx"
df1=readData(file)
df=pd.concat([df, df1])#合并两个 DataFrame 对象数据
for team in teams:
df1= ②
df1=df1.groupby("球员" , as_index=False).mean()#计算各球员平均得分
df1=df1.sort_values("得分",ascending=False).head(5)#按得分降序排序并选取前 5名
③
members[2*n]=df1["球员"].values
members[2*n+1]=df1["得分"].values
return members
(3)定义 showChart函数,功能为:查询某球队的首发阵容,绘制柱形图,图表如 14题图 c所示,程序
如下,请在划线处填写合适的代码。
import matplotlib.pyplot as plt
def showChart(tean, menbers) :
n=teams[team]
plt.bar( , )
plt.title(team+"队首发阵容")
plt.show()
(4)主程序代码如下。
teams={"浙江":0,"上海":1,"山东":2,"广东":3,"北京":4}
members=select (teams)
while True:
team=input("输入球队:")
if team=="" : break
showChart(team, members)
【答案】
(1) A 1分
(2) ①seasons[1:] 2分
②df[df.球队==team] 2分
③n=teams[team] 2分
(3) members[n*2], members[2*n+1] 2分
【解析】
信息技术试题 第 8 页 共 11 页
本题考查 Pandas数据处理和可视化。
(1)遍历每位队员的二分、三分和罚球的平均命中数量,根据公式求队员的 3种投篮得分之和。col是字
典中的键(二分、三分和罚球),cols[col]是投篮得分,df[col]表示二分等某列值数据,p是第 i位球员命中
数量和投篮次数分隔位置,因此 n*cols[col]的乘积之和该球员总得分。
(2)①seasons列表中存储了 3场比赛的文件名,将这 3个文件合并为一个文件。语句
df=readData(seasons[0]+".x1sx")已经读取第 1个文件,需对剩余的文件进行合并。②筛选各球队得分最高的
5名球员作为首发阵容。teams是字典变量,键是球队名称,对每个球队进行遍历,筛选出该队全部队员,
找出在 3场比较得分和最高 5名球员。③取出球队编号,将每个球队的球员姓名和得分存储到 members对
应的数组元素中。teams字典值为球队的编号,members中元素个数为 len(teams)*2,n号球队各球员名字存
入 members[2*n]中,得分存入 members[2*n+1]中。
15.操作系统在管理磁盘时,会将磁盘分为一个个“盘块”。在为文件分配空间时,可以将文件装到离散的
盘块中。读取一个文件时,首先在目录结构中找到文件项。从文件项中可以获取文件名、存储时间、该
文件在存储块中的起始地址等基本信息,但不包含文件具体内容,然后在磁盘文件分配表中找到对应的
文件。磁盘文件分配表如第 15题图 1所示。
文件结束块用-1表示,空闲盘块用 0xff表示。
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
12 0xff 0xff 7 3 8 0xff -1 0 4 0xff 0xff 13 -1 0xff 0xff
文件分配表
文件名 … 起始地址
abc 9
xyz 5
目录结构
第 15题图 1
(1)根据文件的起始地址,能方便地找到文件的其它盘块。如第 15题图 1中,文件 abc在磁盘中的盘块
号依次是 (注:各盘块号用→分隔)。
(2)如果目录结构损坏,就不能获取文件的基本信息和起始地址。但我们可以借助文件分配表来恢复部
分数据(不考虑恢复文件名、存储时间等信息)。
函数 regain的功能是模拟数据恢复,找到各个文件的起始地址和大小(盘块数量),并返回以[[起
始地址, 文件大小], …]形式的列表 lst。变量 allot存储文件分配表信息。
def regain(allot):
lst=[]
visited=[] #记录 allot的访问情况
for i in range(len(allot)):
if allot[i] != 0xff and i not in visited: #盘块 i需要处理
fsize=0
p=i
while p!=-1 and p not in visited:
visited.append(p)
fsize+=l
p=allot[p]
if p==-1:
lst.append([i,fsize])
信息技术试题 第 9 页 共 11 页
else:
for j in range(len(Ist)):
if lst[j][0]==p:
lst[j][0]=i
lst[j][1]=lst[j][1]+fsize
return lst
若 allot为[3,7,13,9,0xff,0xff,0xff,8,-l,-l,0xff,l,0,1l,0xff,0xff],调用 regain函数,
①则语句 lst[j][1]=lst[j][1]+fsize一共会被执行 次。
②如果把 while p!=-1 and p not in visited改写为 while p!=-l,对程序的影响是 (多选,填字母)。
A.会增加 while的循环体执行次数
B.返回的 lst中的节点数量保持不变
C.while循环不能正常结束
D.返回的 lst中,文件的起始地址部分不正确
(3)在创建文件时,若新文件需要占据 5个盘块大小,只需要从头到尾找到空闲盘块,并依次链接,并
把首地址存放到文件项中。为了有效管理空闲块,我们可以将所有空闲盘区(每个空闲盘区可以包
括若干个空闲盘块)构建到一条空闲链 freelst中。freelst每个节点存储本空闲盘区的盘块号、长度
和指向下个盘块的指针,创建时把新节点链接到 freelst尾部。
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
3 7 13 9 0xff 0xff 0xff 8 -1 -1 0xff 1 0 11 0xff 0xff
第 15题图 2
如第 15题图 2所示,共有 3个空闲盘区,盘块号依次为 4、5、6、10、14、15
请在划线处填上合适的代码。
def mergefree(allot): #mergefree的功能是从头到尾扫描文件分配表,创建空白盘区链
freeh=-1:freelst=[]
n=len(allot)
i=0
while iif allot[i]==0xff:
j=i+1
while ①
j+1
freelst.append([i,j-i,-1])
if freeh==-1:
freeh=cur=len(freelst)-1
else:
freelst[cur][2]=len(freelst)-1
②
i=j+l
else:
i+=l
return freeh,freelst
#读取文件分配表信息存储到 a11ot中,代码略
head,freelst=mergefree(allot)
信息技术试题 第 10 页 共 11 页
p=head
whi1e p!=-1: #打印出所有空闲盘块号
for i in range(freelst[p][1]):
print( ③ ,end=',')
p=freelst[p][2]
【答案】
(1)9→4→3→7
(2) ①2
②AD
(3) ①j < n and allot[j] == oxff
②cur=freelst[cur][2] 或 cur=len(freelst)-1
③freelst[p][0] + i
【解析】
本题考察了标记数组、链表插入和连续子串问题的处理。
第(1)题根据图 1的数据模拟,文件 abc的起始地址是 9,分配表 allot[p]表示地址 p的下一个文件的地址,
直到 allot[p] = -1为止。注意用→分隔地址,答案为 9→4→3→7。
第(2)题第①问代码的作用是读取到已记录的文件,将当前文件合并到已记录的文件中,lst[j][0]=i重置文
件起点,lst[j][1]=lst[j][1]+fsize修改文件大小。本题中的文件连接关系如下:
文件 1:0→3→9、文件 2:1→7→8、文件 3:2→13→11→1、文件 4:12→0
可见文件 4与文件 1合并,文件 3与文件 2合并,因此修改大小的语句执行 2次;
第②问代码删除了 p not in visited 后,对已记录文件会重复访问,因此会增加 while循环的次数。同时,循
环结束后文件必定已-1结束,因此合并文件部分的代码将不会执行,无法完成重置文件起点的操作,所以
结果中的文件起点可能不正确。
第(3)题记录连续的空白区域,实际上就是连续重复子序列问题。第①空 allot[i]==0xff时,从 j=i+1 开始
查找连续的重复数据,这里额外约束 j不超过最大索引值即可。答案 j < n and allot[j] == oxff;第②空将当前
新增空白区域的结点插入到链表 freelist末尾,其中 cur标记了链表的尾结点,代码 freelst[cur][2]=len(freelst)-1
将尾结点的后继更新为当前新增结点,同时移动尾结点标记 cur为当前新增节点,答案 cur = len(freelist) – 1。
第③空输出连续的空白盘符,freelst[p][1]是 p指针所指向结点的连续盘符的长度,freelst[p][0]是其起始地址,
所以从 freelst[p][0]开始的 freelst[p][0] + i就是连续盘符的。
信息技术试题 第 11 页 共 11 页