高三年级技术试题 参考答案
信息技术
一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)
1 2 3 4 5 6 7 8 9 10 11 12
C B A B A D C B C A D B
二、非选择题(本大题共3小题,其中第13小题8分,第14小题10分,第15小题8分,共26分)
13. (1)A A 2分
(2) ①user 1分
②res[0][1] 2分
③/test 1分
(3)index.html login 2分
14. (1) ①i+=step 2分
②df.sort_values("总分",ascending=False) 2分
③n*percent[0] 2分
④pre=now+1 2分
(2)k2-1-now 或 abs(now-k2+1) 2分
15. (1) ①i+=2 2分
②d[j][1]③f[d[i][0]]=1 2分
④change(diff,qA,qB) 2分22.12北斗星盟高三技术学科试题
考生须知:
1.本卷共 16页满分 100分,考试时间 90分钟;
2.答题前,在答题卷指定区域填写班级、学号和姓名;考场号、座位号写在指定位置;
3.所有答案必须写在答题纸上,写在试卷上无效;
4.考试结束后,只需上交答题纸。
第一部分 信息技术
一、选择题(本大题共 12 小题,每小题 2 分,共 24 分。每小题列出的四个备选项中只有一个是
符合题目要求的,不选、错选、多选均不得分)
阅读下列材料,请回答第 1~2题:
某大型超市使用自助收银系统,方便顾客自助结账,特别是遇到营业高峰期大大缩短了顾客排
队结账的等候时间。顾客使用自助收银系统时,先逐个将商品条形码对准扫码口扫描,商品的名称、
单价和数量在屏幕上显示,然后再选择扫码或人脸识别完成支付,随即,移动支付 APP 会发来扣款
消息。
1.关于该自助收银系统,以下说法不.正.确.的是
A.除了顾客以外,超市收银员、系统分析员等也是自助收银系统的用户
B.商品的名称、单价和数量属于自助收银系统的数据
C.只要不断电,自助收银系统就可以正常使用
D.自助收银系统的使用体现了“规范工作流程,提高工作效率”的优势
2.关于该自助收银系统的工作过程和支付方式,以下说法不.正.确.的是
A.扫描商品条形码属于信息的采集
B.扫码识别的支付方式采用了 RFID技术
C.人脸识别的认证方式具有防伪性能好、随时随地可用等优点
D.系统可以通过刷脸支付,说明人脸也是信息的载体
3.下列有关信息和信息编码的说法,正确的是
A.计算机中的汉字是使用二进制进行编码的
B.根据不同的编码方式,数字图像可分为多种格式,如 BMP、JPG、WAV 等
C.16色未压缩的位图图像位深度为 16位
D.声音数字化过程中,量化位数越大,量化精度越低
4.某智能设备部分参数如下表所示:
屏幕尺寸 1.5英寸 WiFi、蓝牙 都支持
光学心率传感器、加速度传
操作系统 Ticwear OS 传感器
感器、陀螺仪、电子罗盘
Android 4.3及以上,
匹配系统 控制类型 触控:多点电容式触摸屏
iOS 8.0 及以上
屏幕分辨率 320*320 运行内存 512MB
联发科 MT2601,
处理器 机身存储 4GB
1.2GHz双核
下列有关该智能设备的说法中,不.正.确.的是
高三信息技术学科 试题 第 1 页 共 8 页
A.该设备可以监测心率和记录运动数据
B.该设备使用的是四核处理器
C.该设备支持触屏控制
D.该设备可以通过蓝牙传输数据
5.以下有关数据和大数据的说法,不.正.确.的是
A.大数据中价值密度的高低与数据总量的大小成正比
B.基于用户购买行为的大数据,网站对其进行深度挖掘实现个性化推荐
C.大数据给生活带来便利的同时也会带来信息泄露、数据安全等社会问题
D.数据可视化可以使用户通过直观的方式浏览和观察数据
6.为了保障个人信息安全,下列做法不.可.取.的是
A.不同的社交账号尽量设置不同的密码
B.重要的数据经常备份或加密后存放在云盘上
C.个人计算机安装并开启防火墙
D.公共场所的免费 Wi-Fi用起来很方便,可以随意连接
7.下列 Python表达式中,与表达式 abs(int(-4.62))的值不.相.等.的是
A. len([True,4, ”score”,[3,2.7]]) B. int(”324”[1])*2
C. round(24/7,0) D. [”red”,True,4][-1]
8.某算法的部分流程图如第 8题图所示:
第 8 题图
执行该部分流程,若依次输入的数据为 2、-3、5、-1、2、1、-3、0,则输出 m的值为
A.7 B.6 C.5 D.4
9.有二叉树用数组表示如下表所示:
0 1 2 3 4 5 6 7 8 9 10 11 12
D A H F G C M
则关于该二叉树的说法正确的是
A.该二叉树是完全二叉树
B.该二叉树的叶子节点有 3 个,分别是 C、H、M
C.该二叉树的后序遍历序列为 C-F-A-M-G-H-D
D.该二叉树的层数为 3,节点 F在第 3层
高三信息技术学科 试题 第 2 页 共 8 页
10.有如下 Python程序段:
def sp(a,i):
if ”a”<=a[i]<= ”z”:
a=a[:i]+a[i+1:]
elif ”0”<=a[i]<= ”9”:
a=a[:i]+str((int(a[i])+3)%10)+a[i+1:]
return a
s=”cfi3H8qwz4”;i=0
while is=sp(s,i)
i+=1
执行上述程序段后,s的值为
A. ”f3H1w4” B. ”3H84” C. ”6H17” D. ”f6H1w7”
11.生成一个元素个数为 6、元素的值在 1~9之间且不重复的数组 a,Python代码如下:
import random
n=9
b=[[1,1],[2,2],[3,3],[4,4],[5,5],[6,6],[7,7],[8,8],[9,-1]]
head=0
a=[]
for i in range(6):
k=random.randint(0,n-i-1)
if k==0:
a.append(b[head][0])
①
else:
p=head
for j in range(k):
pre=p
p=b[p][1]
a.append(b[p][0])
②
划线处应填入的代码为
A. ①head=b[head][1] ②b[pre][1]=p
B. ①head=b[0][1] ②b[pre][1]=p
C. ①head=b[0][1] ②b[pre][1]=b[p][1]
D. ①head=b[head][1] ②b[pre][1]=b[p][1]
12.有如下 Python程序段:
#随机产生 n个两位正整数存入数组 a中
q=[-1]*n;top=-1
for i in range(n):
if a[i]%3==0 :
高三信息技术学科 试题 第 3 页 共 8 页
top+=1
q[top]=a[i]
elif a[i]>q[top] and a[i]%2==0:
top+=1
q[top]=a[i]
while top>-1:
print(q[top],end=',')
top-=1
执行上述程序段后,输出结果不.可.能.是
A.48,57, B. 74,80,76, C. 74,68,62,33,44, D. 98,45,78,88,
二、非选择题(本大题共 3小题,第 13 小题 8分,第 14小题 10分,第 15小题 8分,共 26 分)
13.小明为学校搭建一个信息技术知识竞赛的信息系统,服务器网站基于 Python 的 Flask Web 框架
编写,考生信息存储在数据库文件“data.db”的 “user” 数据表中,如第 13 题图 a 所示;
考生通过浏览器访问网站,登录页面如第 13 题图 b所示;登录成功后网站自动跳转到答题页面,
如第 13题图 c所示。
第 13 题图 a
第 13 题图 b 第 13 题图 c
请回答下列问题。
(1)考生登录系统采用的身份认证技术是 ▲ (填字母:A.用户名+口令 B.依靠生物
特征识别 C.USB-Key),该信息系统采用的架构为 ▲ (填字母:A. B/S模式 B.
C/S 模式)
(2)服务器端的部分程序如下,请在划线处填入合适的代码。
import sqlite3
from flask import Flask,render_template,request,redirect
ip="192.168.1.100"
port="8080"
app=Flask(__name__)
@app.route("/")
def index():
return render_template("index.html")
高三信息技术学科 试题 第 4 页 共 8 页
@app.route("/",methods=['POST'])
def login():
sid=request.form.get("sid")
psw=request.form.get("psw")
conn=sqlite3.connect("data/data.db")
cur=conn.cursor()
cur.execute("SELECT * FROM ① where sid='%s' and psw='%s'"%(sid,psw))
res=cur.fetchall()
cur.close()
conn.close()
if len(res)==1:
return redirect("/test sid="+sid+"&name="+ ② )
#redirect表示跳转指定的 URL
else:
return "用户名或密码错误,请检查后重新登录!"
@app.route(" ③ ")
def test():
#显示答题页面,代码略。
if __name__=="__main__":
app.run()
(3)图 b所示的登录页面渲染的网页模板文件为 ▲ ,考生填写了考号和密码后,点击
“登录”按钮,浏览器将考号和密码提交给服务器,服务器端执行的视图函数名为 ▲ ;
登录成功后,网站跳转到答题页面。
14.知识竞赛结束后,小明从信息系统中导出参赛学生的成绩,存储在“知识竞赛.xlsx”文件中,
如第 14 题图 a 所示,并编写 Python 程序,按总分降序排序,分别输入一二三等奖的获奖比例,
计算获奖人数和分数线,程序运行结果如第 14 题图 b所示。由于同分人数较多,计算奖次时按最
接近规定比例的人数划定分数线,若按两个相邻分数线划定的人数与规定比例的人数同样接近,
则取较低的分数线。例如:总人数 100人,应有 10人获一等奖,若 98分及以上有 9人,97分及
以上有 15人,则一等奖分数线为 98分;若 98 分及以上有 9人,97 分及以上有 11人,则一等奖
分数线为 97分。Python程序如下,请回答下列问题。
第 14 题图 a 第 14 题图 b
(1)请在划线处填入合适的代码。
(2)加框处代码有误,请改正。
高三信息技术学科 试题 第 5 页 共 8 页
def find(now,step):
i=now
while score[i][2]==score[now][2]:
①
return i
import pandas as pd
df=pd.read_excel("知识竞赛.xlsx")
df= ②
score=df.values #二维数组 score存储所有参赛学生的考号、班级和总分,按总分降序排列
n=len(score)
prize=["一等奖","二等奖","三等奖"]
print("总人数:"+str(n))
s=input("请分别输入一二三等奖的比例:")
percent=list(map(float,s.split(","))) #一二三等奖比例转换成实数存储在列表 percent中
nums=[0,0,0]
nums[0]=round( ③ )
for i in range(1,3):
nums[i]=nums[i-1]+round(n*percent[i])
pre=0;res=[""]*n #res 存储学生的奖次
for i in range(3):
now=nums[i]-1
k1=find(now,-1)
k2=find(now,1)
if k2-now<=now-k1:
now=k2-1
line=score[k2-1][2]
else:
now=k1
line=score[k1][2]
print(prize[i],"人数:",now-pre+1,"分数线:",line)
for j in range(pre,now+1):
res[j]=prize[i]
④
高三信息技术学科 试题 第 6 页 共 8 页
15.小明所在的班级共有 20 名男生,要参加学校举办的拔河比赛,赛前根据体重分成 AB两组进行训
练,要求每组 10人,且.每.组.男.生.的.体.重.之.和.尽.量.接.近.。小明设计了如下算法:
①初步分组:将所有男生按体重从高到低排序,并以 ABAB…进行初步分组;
②计算体重差:计算每组对应两个男生的体重差;
③交换学生:按体重差从高到低判断是否交换学生。
例如 20名男生的体重(单位:kg)从高到低为:
95, 93, 93, 90, 90, 90, 84, 83, 83, 78, 77, 75, 74, 69, 64, 61, 61, 60, 56, 55。
步骤 体重 体重和
初步 A组 95 93 90 84 83 77 74 64 61 56 777
分组 B组 93 90 90 83 78 75 69 61 60 55 754
体重差 2 3 0 1 5 2 5 3 1 1 23
交换学生 否 否 否 是 是 否 是 否 否 否
最终 A组 95 93 90 83 78 77 69 64 61 56 766
分组 B组 93 90 90 84 83 75 74 61 60 55 765
小明按照以上算法编写 Python程序如下,请在划线处填入合适的代码。
def group(student): #初步分组
a=[];b=[]
i=0
while ia.append(student[i])
b.append(student[i+1])
①
return a,b
def cal_diff(a,b): #计算体重差并降序排序
d=[]
for i in range(len(a)):
d.append([i,a[i]-b[i]])
for i in range(len(d)-1):
for j in range(0,len(d)-i-1):
if ② :
d[j],d[j+1]=d[j+1],d[j]
return d
高三信息技术学科 试题 第 7 页 共 8 页
def change(d,a,b): #标记是否交换
k=(sum(a)-sum(b))//2
f=[0]*len(d)
ssum=0
for i in range(len(d)):
ssum+=d[i][1]
if ssum>k:
ssum-=d[i][1]
else:
③
if ssum==k:
break
return f
student=[95, 93, 93, 90, 90, 90, 84, 83, 83, 78, 77, 75, 74, 69, 64, 61, 61, 60,
56, 55]
qA,qB=group(student)
print("初步分组后 A组体重:",qA,"和为:",sum(qA))
print("初步分组后 B组体重:",qB,"和为:",sum(qB))
diff=cal_diff(qA,qB)
flag= ④
for i in range(len(flag)): #交换
if flag[i]==1:
qA[i],qB[i]=qB[i],qA[i]
print("交换后 A组体重:",qA,"和为:",sum(qA))
print("交换后 B组体重:",qB,"和为:",sum(qB))
高三信息技术学科 试题 第 8 页 共 8 页