绝密★考试结束前(23 年 11 月)
台州市 2023 年 11 月第一次质量评估试题
技术试题
第一部分 信息技术(共 50 分)
一、选择题(本大题共 12 小题,每小题 2 分,共 24 分。每小题列出的四个备选项中只有一个是符合
题目要求的,不选、多选、错选均不得分)
1.下列关于数据、信息和知识的说法,正确的是
A.数据的表现形式只有数字和文字
B.同一种信息的获取途径和方法可以不同
C.通过搜索引擎搜索出来的内容都是知识
D.信息的价值不会因为时间的变化而改变
阅读下列材料,回答第 2至 4题:
杭州亚组委推出的“亚运会票务管理系统”,用户可使用移动终端等设备,通过浏览器进行实名注册
登录,选择相应赛事及座位号后,使用电子支付方式进行支付,即完成购票。生成的电子票会发送至用户
终端设备。系统使用了 web漏洞自动防护技术,降低网页篡改、数据泄露等风险,并且采取多种加密技术
保护个人信息。亚组委也在线下设置了多个门票代售网点,方便群众购买纸质门票。用户持电子票或纸质
门票均可到会场检票设备扫票入场。
2.下列关于该系统组成的说法,正确的是
A.该票务系统属于系统软件
B.该系统网络架构模式采用 C/S架构
C.移动终端属于该系统的硬件设备
D.该系统的用户是购票成功的人员
3.结合上述材料,下列关于信息系统功能和应用的说法,不.正.确.的是
A.用户注册过程包含了系统的数据收集和输入功能
B.线上购票跨越时空限制,给用户带来了方便
C.用户的购票数据保存在检票设备中,方便其快速人场
D.设置线下代售网点,是一种解决“数字鸿沟”的方法
4.下列关于该信息系统安全的说法,正确的是
A.加密技术的使用是为了保证系统数据的完整性
B.用户在登录该系统时获得的短信验证码属于静态口令
C.管理员和普通用户的用户权限不同,是身份认证技术应用的一种体现
D.漏洞自动防护技术的使用,是为了降低系统被黑客及病毒入侵的风险
5.下列关于人工智能的说法,不.正.确.的是
A.某应用中的语音识别技术属于人工智能的应用
B.人工智能技术对经济发展、社会进步都有巨大的推动作用
C.通过模仿人类大脑中神经元之间的复杂交互来进行认知推理,属于符号主义的表现
D.AlphaGo Zero不依赖人类棋手数据而在自我博弈中不断提升棋力,属于强化学习机制
6.某多选题有 A、B、C三个选项,程序阅卷时,各选项采用 True和 False来表示是否进行了选择(例如:
变量 a的值为 True时,表示选择了 A选项;变量 b 的值为 False,则表示未选择 B选项)。若该题正确
答案为“BC”,下列表达式中能判定考生该题答案全部正确的是
A. a and b and c
台州市技术选考试题 第 1 页 共 7 页
B. a or b and c
C. not a and b and c
D. not a or b and c
7.斐波那契数列(1、1、2、3、5、8、13、21、34……),其特点是从第三项开始,每一项都是前面两项的和。
用流程图描述“求斐波那契数列第 n项值(n>2)”的部分算法如第 7题图所示,则虚线框中应该填入的是
第 7题图
8.使用数组存储某二叉树的形式如第 8题图所示,下列描述正确的是
A.该二叉树的后序遍历为 BDCA
B.该二叉树的深度为 2
C.该二叉树是一棵完全二叉树
D.该二叉树的叶子节点个数为 3
9.有如下 Python程序段:
kcy=int(input())
i=0;j=len(a)-1
s=""
while i<=j:
m=(i+j+1)//2
if key==a[m]:
break
if key
j=m-1
else:
i=i+1
s+=str(a[m])+","
print(s[:-1])
若数组元素 a的值为[6,15,18,20,25,30,35,38,41,46],输入正整数 key值,执行该程序段,输出的值可能是
A.30,20 B.30,41,38 C. 25,15,6 D. 25,38,41
10.定义如下函数:
def DK(n):
if n<8:
return str(n) #①
else:
台州市技术选考试题 第 2 页 共 7 页
rm=str(n%8)
return rm+DK(n//8)
以下关于该函数的说法正确的是
A.该函数使用了枚举算法
B.DK(43)返回的值为"53"
C.该函数的功能是将十进制数 n转换为八进制数
D.调用该函数时,无论 n为任何正整数值,①处语句均只执行 1次
11.利用冗余压缩的方法对字符串进行压缩,例 如字符串“aabbbcccd” ,压缩后“a2b3c3d1”。实现上述压缩功
能的 Python程序如下:
s=input("请输入长度大于 1的待压缩字符串:")
ys=s[0]; k=1
for i in range(1,len(s)):
print("压缩后的结果为:",ys)
在程序方框处应填入的代码是
A. B.
if s[i]==s[i-1]: if s[i]==s[i-1]:
k+=1 k+=1
else: else:
ys=ys+st(k)+s[i] ys=ys+st(k)+s[i]
k=1 k=1
if i==len(s)-1: if i==len(s)-1:
ys+=str(k) ys+=str(k)
C. D.
if s[i]==s[i-1]: if i!=len(s)-1 and s[i]!=s[i-1]:
k+=1 ys=ys+st(k)+s[i]
elif i!=len(s)-1: k=1
ys=ys+st(k)+s[i] elif s[i]==s[i-1]:
k=1 k+=1
else: else:
ys+=str(k) ys+=str(k+1)
12.有如下 Python程序段:
s=input("请输入一个仅由小写英文字母组成的字符串:")
st=[""]*len(s); top=-l
t=[-1]*26
for i in range(len(s)):
id=ord(s[i])-97
if t[id]==-1:
top+=1
st[top]=s[i]
t[id]=top
else:
台州市技术选考试题 第 3 页 共 7 页
first=t[id]
while top>=first and top!=-1:
num=ord(st[top])-97
t[num]=-1; top-=1
print(st[:top+1])
若从键盘输入的值为"hellopython",则输出的值为
A.['o','n']
B.['h','e','n']
C.['h','e','l','o','p','y','t','n']
D.['h','e','o','p','y','t','h','o','n']
二、非选择题(本大题共 3 小题,其中第 13 小题 8 分,第 14 小题 8 分,第 15 小题 10 分)
13.小峰做了一个“搭建学生寝室管理系统”的实验,该系统可通过人脸识别、指纹识别、校园卡等方式模
拟进出寝室管理,并将进出数据发送给服务器。通过浏览器可以查看学生在寝、离寝情况。小峰选择的
硬件有:智能终端、IoT模块、摄像头、指纹采集仪、射频识别设备、进出口闸机、服务器等。该系统
结构示意图如第 13题图所示,其中Web服务器端程序采用 Flask Web框架开发。
第 13题图
(1)下列硬件设备中,属于执行器的有 (单选,填字母: A.摄像头 / B.指纹采集仪 / C.射频识
别设备 / D.进出口闸机)。
(2)下列关于该系统应用软件的网络架构,说法正确的是 (单选,填字母:A.客户端无需安装专
用软件,升级维护方便 / B.对服务器要求较低 / C.能够降低系统通信开销)。
(3)下列功能需要在服务器端程序中实现的是 (多选,填字母:A.原始指纹数据的采集 / B.在
数据库中查找指纹特征数据 / C.闸机的开关 / D.根据浏览器的请求返回数据)。
(注:全部选对的得 2 分,选对但不全的得 1 分,不选或有选错的得 0 分)
(4)小峰基于 Flask Web框架编写服务器端程序,部分代码如下。编写完后,若要通过浏览器获取视图
函数 entry()返回的页面,则访问的 URL是 http:// 。
#导入 Flask框架模块及其它相关模块,代码略
app= Flask(__ name__ )
@app.route('/ ')
def index():
#在模板文件上显示从数据库读取的入寝、离寝学生数据,代码略
@app.route('/dorm', methods=['GET', 'POST')
def entry():
#从数据库读取对应班级学生的在寝、离寝数据,并返回页面,代码略
#服务器其它功能,代码略
if_name_ =='_main_'
app.run(host = '10.16.1.18', port = 8080)
(5)小峰对系统进行动态测试,使用校园卡刷卡,闸机能正常打开,在浏览器中查看系统首页,页面中
台州市技术选考试题 第 4 页 共 7 页
标题、表格等内容能正常显示,但却未显示刷卡数据,刷新后仍不变(Web服务器数据库的数据读写
功能正常)。从服务器端的程序角度说明造成上述问题的原因有 、
(注:回答 2项,1项正确得 1分)。
14.小明通过调查问卷收集了食堂满意度情况数据,保存在“data.csv”文件中,如第 14题图 a所示。
第 14题图 a 第 14题图 b
第 14题图 c
为统计分析每个调查项目不同选项的人数及不满意率,编写 Python程序。回答下列问题:
(1)统计每一项调查内容的总票数、满意、一般及不满意人数,程序运行结果如第 14题图 b所示,请
在划线处填入合适的代码。
import pandas as pd #导入 pandas模块
import matplotlib.pyplot as plt #导入 pyplot模块
plt.rcParams["font.sans-serif"]=["SimHei"] #设置图表显示中文字体
df=pd.read_csv("data.csv",encoding="utf-8") #读取 csv文件中的数据
cols=df.columns[1:]
poll=len(df)
data={("调查项目":[],"总票数":[],"满意":[],"一般":[],"不满意":[]}
for colname in cols:
dfc=df.groupby( ① ,as_index=False)["序号"].count()
data["调查项目"].append(colname)
data["总票数"].append(poll)
for j in dfc.index:
name=dfc.at[j,colname]
data[name].append( ② )
df2=pd.DataFrame(data)
print(df2)
(2)计算每个项目的“不满意率”(=“不满意”/“总票数” *100),并使用柱形图分析每个项目的“不满意率”
情况,如第 14题图 c所示,请在划线处填入合适的代码。
df2["不满意率(%)"]= ①
x= ②
y=df2["不满意率(%)"]
plt.figure(figsize=(8,4))
plttitle("食堂调查问卷不满意率(%)情况")
plt.bar(x,y,label="不满意率(%)")
台州市技术选考试题 第 5 页 共 7 页
plt.legend()
plt.show()
15.某工厂的业务较多,每个业务 i都有对应的截止时间 ti以及收益 vi,工厂每天最多能完成 k个业务,且
每个业务所需的加工时长相同。由于业务量多,有时候无法完成所有的业务,因此工厂管理者需要对一
段时间内的业务进行规划安排,以实现工厂累计收益的最大化。
例如工厂 3天内的业务明细如第 15题图 a 所示,已知工厂每天能够完成的业务量 k为 2。为了实
现 3天的累计收益最大化 ,工厂安排的业务方案如第 15 题图 b 所示,这样工厂能够获得最大累计收
益为 105。
编写程序,实现在任意时间段内,根据每个业务的截止时间和收益,统计工厂在该时间段内的最大
累计收益。
第 15题图 a 第 15题图 b
请回答下列问题:
(1)如第 15题图 a所示,若工厂每天能够完成的业务量 k为 3,则工厂在 3天内获得的最大收益为 。
(2)定义如下 insert(lst,head,pos)函数,参数 lst是一个由列表模拟的链表结构数据,其每个节点由收益数
据和指向下一个位置的指针组成;参数 head是其中一条链表的头指针,由该指针构建的链表已经按
收益数据升序排列;参数 pos是某个节点的指针。函数功能是将 pos节点插入到 head指针指向的链
表中,并保持链表按收益数据升序排列,最后返回头指针数据。
def insert(lst,head,pos):
p=head
while p!=-1 and lst[p][0]q=p
p=lst[p][1]
if p==head:
lst[pos][1]=head
head=pos
else:
lst[pos][1]=p
▲
return head
①若函数加框处代码误写为“lst[p][0]调用 insert(lst,head,pos)函数,下列 4组数据中能测试出这一问题的是 (单选,填字母)。
②请在划线处填入合适的代码。
(3)实现对每个业务完成时间的合理安排,使得工厂获得最大累计收益的部分 Python程序如下,请在划
台州市技术选考试题 第 6 页 共 7 页
线处填入合适的代码。
def pushlst(info,lst,cur,v): #cur表示当前时间
if info[cur][1]lst.append([v,-1]) #列表 lst 追加一个元素
pos=len(lst)-1
if info[cur][0]==-1:
①
else:
info[cur][0]=insert(lst,info[cur][0],pos)
info[cur][1]+=1
else:
pos=info[cur][0]
if v#如果 cur>0,尝试将当前业务提至前一天完成,代码略
else:
tmpv=lst[pos][0] #获取原安排中收益最少的业务收益
lst[pos][0]=v
p=lst[pos][1]
info[cur][0]=insert(lst, ② ,pos)
#如果 cur>0,尝试将原安排中收益最少的业务提至前一天完成,代码略
'''
先输入规划安排的天数 n 和每天能够处理的最大业务量 k,代码略。
依次输入 m个业务的截止时间 t(t≤n)和收益 v,存储在数组 tran中,如:[[1,25][1,10][2,15]],表
示共有 3个业务,第一个业务的截止时间为 1,收益为 25……,代码略
'''
info=[]; lst=[]; k=0
for i in range(n):
info.append([-1,0]) #列表 info 追加一个元素
while kcur=tran[k][0]; v=tran[k][1] #获取截止时间和对应收益
pushlst(info,lst,cur-1,v)
k+=1
s=0
for i in range(n):
p=info[i][0]
while p!=-1:
s+= ③
p=lst[p][1]
print("最大收益为:",s)
台州市技术选考试题 第 7 页 共 7 页台州市2023 年 11 月高三第一次质量评估试题
技术答案及评分参考
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分)
题号 1 2 3 4 5 6 7 8 9 10 11 12
答案 B C C D C C B A B D B A
二、非选择题(本大题共3小题,其中第13小题8分,第14小题8分,第15小题10分,共26分)
13.(1)D (1分)
(2)A (1分)
(3)BD (2分)
(注:全部选对的得2分,选对但不全的得1分,不选或有选错的得0分)
(4)10.16.1.18:8080/dorm (2分)
(5)①index模块(主页路由对应的模块)中从数据库中读取数据代码有误
②index模块(主页路由对应的模块)中将参数传递给模板文件的代码有误
③主页模板文件中,显示服务器传递的数据代码有误
④其他模块中,将在寝、离寝数据写入数据库代码有误
(只说代码有误不给分,需要指出具体哪个位置及哪个内容的代码有误)
(2分)
(1) ① colname (2分)
② dfc.at[j,"序号"] 或dfc["序号"][j] 或dfc.序号[j] (2分)
(2) ① df2["不满意"]/df2["总票数"]*100
或 df2["不满意"]/poll*100(2分)
或df2.不满意/df2.总票数*100 或 df2.不满意/poll*100
或其它等价答案 (2分)
② df2["调查项目"] 或 df2.调查项目 (2分)
(1)135 (1分)
(2) ① B (1分)
② lst[q][1]=pos (2分)
(3) ① infor[cur][0]=pos 或 infor[cur][0]=len(lst)-1 (2分)
② p (2分)
③ lst[p][0] (2分)