2023年9月浙江省嘉兴市高三模拟检测信息技术卷(Word版含答案)

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

2023年9月浙江省嘉兴市高三模拟检测信息技术卷(Word版含答案)

资源简介

嘉兴市2023年9月高三模拟检测
技术 参考答案及评分标准
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中,只有一个是符合题目要求的,不选、多选、错选均不得分)
1 2 3 4 5 6 7 8 9 10 11 12
D A D A B B D C A D B A
二、非选择题(本大题共3小题,其中第13小题8分,第14小题9分,第15小题9分,共26分)
13.
(1)B 1分
(2)A 1分
(3)account.db 1分
(4) ①len(pwd)>5 1分
②check(name,pwd) 或check(name,pwd)==True 2分
(5)AD 2分
14.
①学校代码 1分
②df1['技术'] 2分
③df1.学校代码,df1.技术比例 2分
①row[0] not in dic 或 not row[0] in dic 2分
②return dic 2分
15.
(1)lst[i].append(i+1) 1分
(2)4 1分
(3)v[2] != -1 或 v[2] >= 0 1分
(4)① found = False 2分
② [d,dis,i] 2分
③ pass_dis[i] 或pass_dis[i] == True 2分
命题组:丁光明、周加峰、虞颖健、张红光、魏宁、李梅
审 稿:曾瑜蕾、陆海丰、何海源绝密★考试结束前
2023 年嘉兴市高三基础检测
技术 试题卷 (2023.9)
第一部分 信息技术(共 50 分)
一、选择题(本大题共 12 小题,每小题 2 分,共 24 分。每小题列出的四个选项中,只有一个符合题目的 要求,不选、多选、错选均不得分)
1.下列关于数据、信息和知识的说法,正确的是
A.数据即数字
B.人类在搜索引擎的帮助下就可以拥有海量的知识
C.人们在利用数据的同时, 自身的行为不会产生数据
D.人们接收同样的信息后,建构的知识也是有区别的
2.考生入场时,经安检门时对手机等电子设备进行检查并截留,监考教师用金属探测仪对学生再次进行检 查,身份识别仪采集身份证与人脸信息进行验证,无误后方可入场考试。上述描述中,体现人工智能技 术的是
A.识别仪对考生进行人脸识别 B.监考教师用金属探测仪进行检查
C.安检门处对手机等电子设备的检测和截留 D.身份识别仪读卡处读取身份证信息
阅读下列材料,回答第 3 至 5 题。
智慧家居报警系统由报警主机和各种探测器组成。探测器包括门磁、窗磁、煤气探测器、烟感探测器、 红外探头等。若有特定情况便会触发相应的探测器,家庭报警主机会立即触发警铃,并将相关数据传送至 小区管理中心,同时小区管理中心的报警主机将会记录下这些信息,并发送到用户指定的电话,以备查阅。 3.下列关于该系统的组成及应用说法正确的是
A.该系统运行不需要软件支持 B.该系统的用户是指各家庭成员
C.该系统可以不借助通信网络独立运行 D.该系统具备数据采集、处理和查询等功能
4.下列关于该系统安全和防护说法正确的是
A.登录系统时的身份验证可提升系统安全性
B.该系统只是在有人非法入侵时会发出警报
C.该系统安装防火墙后,不存在信息泄露风险
D.用户登录认证最适合采用 USB Key 认证技术
5.关于该系统的硬件作用,下列说法不正确的是
A.红外探头主要是防止非法入侵
B.烟感探测器采用了人工智能技术
C.该系统中家庭报警主机承担控制器的功能
D.煤气探测器安装在厨房,可以通过无线网络进行通信
6.下列关于网络组成与构建的说法中,正确的是
A.智能家居设备一般通过有线方式联网
B.常见的网络互联设备主要包括调制解调器、路由器和交换机等
C.不同网络之间一般采用 HTTP 协议互联
D.计算机网络分为局域网、广域网与广播电视网
高三基础测试 技术 试题卷 第 1 页(共 8 页)
7.某算法的流程图如所示,关于该算法下列说法正确的是
A.执行这部分流程后,变量 i 的值为 7
B. k 的值为 1*2*3*4*5*6*7 的结果
C.该流程图是双重循环结构
D.将“i≤x/2 ”改成“i8.下列 Python 表达式运算结果为 True 的是
A.3**2<8 and 2%5>1 B.25//4>4 and 3/2<1
C.not 7<8 or 9>6+2 D.not(2**3<9 or 6%4<2)
9.有如下 Python 程序段:
s = "A-b2c " ; ch = ""
1ist=[4 , 3 , 1 , 5 ,2]
for i in range(1en( s)):
if "A " <= s [i] <= "Z " :
ch = ch + chr (ord(s [i]) + list[i])
elif "a " <= s [i] <= "z " :
ch = ch + chr (ord(s [i]) - list[i])
else:
ch= s [i]+ch
print(ch)
该程序运行后,输出的结果是
A.2-Eaa B.2-ECE C. E-c2e D. E-a2b 10.下面有关数据结构的说法不正确的是
A.在程序设计中,数据结构设计时主要考虑对象之间逻辑关系的实现
B.链表结构适用于初始规模确定但在处理过程中频繁进行插入、删除操作的数据
C.数组结构中采用下标访问数据,访问效率要高于链表结构
D.大多数软件中都有“撤销 ”功能,实现此功能应采用队列结构
11.长度为 5 的循环队列 que, que[0]至 que[4]的值依次为'a' ,'b' ,'c' ,'d','e' ,执行如下程序段后,输出的最后一
个字符为
n= 5
head=0
tail=4
que=['a' , 'b' ,'c' ,'d' ,'e' ]
while head!=tail:
if head%4==0:
print (que[head])
else:
tail=(tail+1)%n
que[tail]=que[head]
head= (head+1)%n
print (que[head])
A.b B.c C.d D.e
12.待入栈的序列 a 有多种出栈序列, 以下函数用于判断序列 b 是否是 a 的出栈序列,代码如下:
def judge(a, b):
n=len(a) ;st=[- 1]*n
高三基础测试 技术 试题卷 第 2 页(共 8 页)
top-= 1; i=j=0
while itop+= 1

i+= 1
while top> - 1 and ② : 第 12 题图
top-= 1
j+= 1
return top==- 1
from random import shuffle
a=[1,2,3,4, 5]
b=[1,2, 3, 4, 5]
shuffle (b) #将序列 b 的元素随机排序
if judge(a, b):
print (b,'是' ,a,' 的出栈序列')
else:
print (b,'不是' ,a,' 的出栈序列')
程序运行结果如第 12 题图所示。划线处应填写的语句是
A.①st[top]=a[i] ②st [top]==b[j] B.①st[top]=a[i] ②st[- 1]==b[j]
C.①st [top]=b[i] ②st[top]=a[j] D.①st[top]=b[i] ②st[- 1]= =a[j]
二、非选择题(本大题共 3 小题,第 13 小题 8 分,第 14 小题 9 分,第 15 小题 9 分,共 26 分)
13.小李设计了一个会员管理系统,用户通过浏览器在相应页面可进行会员注册、在线充值、线上查询消费 记录等操作。该系统服务器端程序采用 Flask Web 框架编写,框架结构如第 13 题图 a 所示。
第 13 题图 a
其中会员注册子页面如第 13 题图 b 所示。存储会员信息的 users 表中共 3 个字段,依次保存序号、用户 名和密码,如第 13 题图 c 所示。会员注册时需满足以下条件:①用户名不重复;②密码长度大于 5 。服 务器端部分代码如下。
第 13 题图 b
from flask import Flask , render_template , request import sqlite3
def check(name ,pwd):
第 13 题图 c
高三基础测试 技术 试题卷 第 3 页(共 8 页)
conn= sqlite3 .connect( " account .db ")
cur=conn .cursor()
cur . execute( " select * from users where name= ’%s ’"%name)
val=cur .fetchall()
flag=True
if 1en(val)==0 and ① :
sql= "insert into users(name , password) values(' %s' , '%s ') "%(name , pwd) cur .execute(sql)
mit()
else:
flag=False
cur .close()
conn .close()
return flag
app=Flask(name_)
@app .route( "/reg ")
def reg() :
name=request . args .get( "xm ")
pwd=request .args .get( "psd ")
if ② :
return "注册成功! "
else:
return "请重新注册! "
#其它代码略
if _name_== "_main_ " :
app .run (host= " 192 . 168 . 1 . 10 " , port= 80 , debug=True)
(1)在搭建“会员管理系统 ”的前期准备过程中,选定系统物理配置的过程属于 (单选,填字母: A.需求分析 / B.概要设计 / C.详细设计)。
(2)该系统网络应用软件的实现架构是 (单选,填字母:A.B/S 架构 / B.C/S 架构)。 (3)分析程序可知,该系统中存储会员用户名和密码数据的数据库文件名为 。
(4)分析程序,①处应填写的代码为 ,②处应填写的代码为 。
(5)下列关于该信息系统的描述正确的是 (多选,填字母)。
A.服务器采用 GET 方式接收用户名和密码数据
B.程序代码中 debug=True 语句的作用是打开调试功能,在实际的网站应用环境中,也可以打开该 功能,方便调试程序。
C.注册新会员时,用户名为 admin03 ,密码为 123abc ,提交数据到 Web 服务器的 URL 为 http://192.168.1.10/check xm=admin03&psd=123abc
D.对 users 表中的密码进行加密,可以提高该信息系统的安全性
(注:全部选对的得 2 分,选对但不全的得 1 分,不选或有选错的得 0 分)
高三基础测试 技术 试题卷 第 4 页(共 8 页)
14.某地高中的技术选考数据,保存在 “jsxk.xls ”文件中,如第 14 题图 a 所示。
第 14 题图 a
第 14 题图 b
请回答下列问题:
(1)统计各学校技术选考人数占本校总人数的比例,找出占比最高的前 5 所学校并绘制柱形图,如第 14 题图 b 所示。部分 Python程序如下,请在划线处填写合适的代码。
import pandas as pd
import matplotlib.pyplot as plt
#图表支持中文字体显示,代码略
df= pd.read_excel("jsxk.xls",dtype={'学校代码':'string'}) #学校代码列为字符串
df1 = df.groupby(" ① ", as_index=False).count() #按学校统计人数
df1 = df1.rename(columns={'姓名':'学生总数'})#重命名列
df1['技术比例'] = round( ② /df1['学生总数']* 100,2)
df1 = df1.sort_values('技术比例',ascending=False).head(5)
plt.title('技术选考比例前 5 的学校')
plt.bar( ③ )
plt.show()
(2)在本问题的解决中,为了探究函数 groupby() ,某同学编写了自定义函数 zdygroupby() ,其功能为统 计各校技术选考总人数,并以字典的形式返回。函数代码如下,请在划线处填写合适的代码。(注: 代码中 lst 为二维列表,列表中每个元素包含 3 个数据项,格式如[['201901','顾筱扬',NaN],['201901',' 俞凯睿', 1.0],['201901',' 陈丹祺', 1.0] … …])
def zdygroupby(1st):
dic = {}
for row in lst:
if row[2] == 1:
if ① :
dic[row[0]]=1
else:
dic[row[0]]+= 1

15.最短路径问题。以 m*n 个边长为 1 的正方形组成的矩形,各顶点按行优先从 0 开始编号,如第 15 题图 a 所示为 3*2 的矩形及顶点编号。从顶点 x(起点)经由各正方形的边移动到顶点 y(终点)有多种移动 路径,编程求解所有的最短路径。
高三基础测试 技术 试题卷 第 5 页(共 8 页)
(1)分析问题,将矩形转换为计算机可处理的数据。可采用列表存储矩形中各顶点的相邻关系,如第 15 题图 b 所示。
编写函数 init ,根据横向和纵向的正方形数量,返回所有顶点及其所有的相邻顶点数据。完善 程序,在划线处填入合适的代码。
def init(m,n):
tot=(m+1)*(n+1) #顶点总数
lst=[[] for i in range(tot)]
for i in range(tot):
if i>m:
lst[i].append(i-m- 1)
if i<(m+1)*n:
lst[i].append(i+m+1)
if i%(m+1) != 0:
lst[i].append(i- 1)
if i%(m+1) != m:
__________________
return lst
(2)分析问题,查找所有从起点到终点的最短路径。例如:查找从起点 1 到终点 10 的所有最短路径,
可先查找终点 10 的所有相邻顶点(6,9, 11),然后再逐个查找顶点 6 、9 、11 的相邻顶点,直到查 找到起点 1 ,获得所有最短路径,如第 15 题图 c 所示,共有 3 条长度为 3 的最短路径,分别为 1→ 2 →6 → 10, 1 →5 →6 → 10, 1 →5 →9 → 10 。若从起点 4 到终点 11 ,共有 (填数字)条最短路径。
第 15 题图 c
(3)分析问题,存储查询到的路径。可采用链表结构保存路径数据,例如:查找从起点 1 到终点 10 的 所有最短路径,首先将终点 10 的数据[10,0,- 1]保存在 path[0]中,然后将其相邻顶点 6 、9 、11 的数 据保存到 path 中,path[i][0]保存顶点的编号,path[i][1]保存当前顶点到终点的距离,path[i][2]保存 下一顶点在 path 中的位置,其值为- 1 表示当前顶点为终点。
编写函数 print_path ,输出所有的最短路径。完善程序,在划线处填入合适的代码。
高三基础测试 技术 试题卷 第 6 页(共 8 页)
def print_path(x,path,length): #为起点编号,length 为 Path 中有效元素个数。 cnt=0
for i in range(length):
if path[i][0] == x:
cnt+= 1
s="最短路径"+str(cnt)+":"
v=path[i]
while :
s=s+str(v[0])+","
v=path[v[2]]
s=s+str(v[0])+" 。"
print(s)
(4)实现上述功能的 Python程序如下,运行结果如第 15 题图 d 所示。请在划线处填入合适的代码。
第 15 题图 d
m=3 #横向正方形数量
n=2 #纵向正方形数量
mtx=init(m,n)
x=int(input("请输入起点:"))
y=int(input("请输入终点:"))
path=[[] for i in range(30)]
passed=[False]*len(mtx) #保存顶点是否已途经

dis=0
head=0
tail=0
path[tail]=[y,0,- 1]
tail+= 1
passed[y]=True
while not found:
dis+= 1
pass_dis=[False]*len(mtx)
tmp=tail
for i in range(head,tail):
高三基础测试 技术 试题卷 第 7 页(共 8 页)
v=path[i]
for d in mtx[v[0]]:
if not passed[d]:
path[tail]= ②
tail+= 1
pass_dis[d]=True
if d == x:
found=True
head=tmp
for i in range(len(mtx)): #标记已途经的顶点
if ③ :
passed[i]=True
#输出结果
print_path(x,path,tail)
高三基础测试 技术 试题卷 第 8 页(共 8 页)

展开更多......

收起↑

资源列表