浙江省宁波九校2021-2022学年高二下学期期末联考信息技术试题(PDF版含答案)

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

浙江省宁波九校2021-2022学年高二下学期期末联考信息技术试题(PDF版含答案)

资源简介

宁波市九校联考高二技术参考答案
第一部分:信息技术(50分)
一、选择题(每题2分,共24分)
1 2 3 4 5 6 7 8 9 10 11 12
B D C B C D D A B B D D
二、非选择题(第13题8分,第14题6分,第15题6分,第16题6分)
13.(1)①user[userlist[i][0]] = userlist[i][1] (2分)
②name=username (1分)
③‘/xk’ 或 "/xk" (1分)
④int(request.form.get("bj")) (1分)
⑤conn.commit() (1分)
(2)ABC (2分)
(全部选对得2分,部分选对得1分,选错或不选得0分)
14.①data.drop('姓名',axis=1)或data.drop('姓名',1) (2分)
或data.drop("姓名",axis=1)或data.drop("姓名",1)
②sort_values (1分)
③ascending=False (1分)
④data.index[0:8] 或 data.index[:8] 或data.head(8).index (2分)
或 data[0:8].index 或 data[:8].index
15.①num = rs[i][1] (2分)
②imax = imin (2分)
③save_file(a[s:s+num]) (2分)
16.①data[k-1][1] = -1 (2分)
②head = data[head][1] 或head = data[p][1] (2分)
③data[p][1] = data[q][1] (2分)绝密★考试结束前
21

1.本试卷分两部分,第一部分信息技术,第二部分通用技术。全卷共14页,满分100分,考试
时间90分钟。
2.考生答题前,务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上。
3.选择题的答案用2B铅笔将答题纸上对应题目的答案选项涂黑,
4.非选择题的答案用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用 2B
铅笔,确定后用黑色字迹的签字笔或钢笔描黑,答案写在非答题纸上无效。
(共 50 分)
(本大题共 12 小题, 每小题 2 分, 共 24 分,每小题列出的四个备选项中只有一个是符
合题目要求的, 不选、错选、多选均不得分)
1.下列有关人工智能的说法不正确的是
A.依赖于领域知识和数据的人工智能被称为领域人工智能
B.达芬奇外科手术机器人是跨领域人工智能的典型代表
C.混合增强智能将人的作用或人的认知模型引入人工智能系统
D.专家系统是符号主义的典型代表
2.下列关于数制和编码的说法正确的是
A.若十六进制数末位为 0,则该数转换为十进制数后,末位可能是奇数也可能是偶数
B.一幅 1024*1024 的未经压缩的 BMP 格式的黑白图像的存储容量约为 0.25M
C.汉字在计算机内使用汉字国标码来表示,不使用二进制编码
D.二维码可以存储包括网址、名片、文本、特定代码在内的各种信息
3.下列关于信息系统及其组成要素说法不正确的是
A.信息系统由五个关键要素组成,分别是硬件、软件、数据、通信网络和用户
B.常见的操作系统有 windows、Linux、Unix、Mac OS 等
C.主存储器是计算机硬件的一个重要部件,常见的有硬盘和闪存盘
D.声卡、网卡、光盘驱动器既是输入设备又是输出设备
4.下列关于数据结构的说法正确的是
A.同一数据元素中各数据项的数据类型一定相同
B.跳跃表是立足链表、借鉴二分查找的思想而形成的数据结构
C.若入栈序列为 abcd,则出栈序列可能为 dbca
D.在浏览器中执行“后退”、“前进”操作的原理与队列的特点相同
5.有如下 python 程序段,运行该段代码后, a[2]的值为
a,b,c = [1],[2,3],[4,5]
a.append(b)
a = a+c
A.3 B.[2,3] C.4 D.[4,5]
宁波九校联考 高二技术 试题 第 1 页 共 8 页
6.有如下 python 加密程序段, 以下说法正确的是
def encrypt(code,key):
code_new=""
for s in code:
s1= ord('a')+((ord(s)-ord('a'))+key)%26
code_new+=chr(s1)
return code_new
code=input("code=")
print(encrypt(code,2))
A.该加密程序段所用的加密算法是换位密码法
B.若输入字符串 code 为“App”,则输出的结果为 crr
C.若要对数字字符逐个右移进行加密,则只需将加框处语句修改为“(int(s)+key)%10”
D.若原文全部由小写字母组成,将加框处语句修改为“ord('a')+((ord(s)-ord('a'))-key)%26”
可将加密的密文还原为明文
7.小明将以下代码成功烧录到 micro:bit 板后,以下说法正确的是
from microbit import *
while True:
if button_a.is_pressed():
display.show (Image.HEART)
elif button_b.is_pressed():
display.show (Image.HEART_SMALL)
else:
display.show (Image.SAD)
A.若不按下任何按钮,则 LED 点阵屏不显示任何图案
B.当同时按下按钮 a 和按钮b 时,大小爱心在 LED 点阵屏交替显示
C.当按下按钮 a 再松开时,LED 点阵屏会先显示爱心图案,然后无图案显示
D.当按下按钮 a 再松开时,LED 点阵屏会先显示爱心图案,然后一直显示哭脸
8.有如下 python 程序段,若输入的值为“17 8”,则输出的结果为
a,b = map(int,input().split( ))
w = 0
while b**w <= a:
w += 1
st = [0]*w ; top = -1
while a>0:
top = top+1
st[top] = a%b ; a = a//b
while top > -1:
print(st[top],end="")
top = top-1
A.21 B.12 C.17 D.71
宁波九校联考 高二技术 试题 第 2 页 共 8 页
9.已知一棵二叉树的前序遍历序列为:A-B-D-C-E,后序遍历序列为:D-B-E-C-A,则该二叉树是否
能唯一确定?中序遍历序列是?
A.能唯一确定,中序遍历序列为:B-D-A-E-C
B.不能唯一确定, 中序遍历序列可能为: B-D-A-E-C
C.能唯一确定,中序遍历序列为:D-C-B-A-E
D.不能唯一确定, 中序遍历序列可能为: D-C-B-A-E
10.有如下 python 程序段,运行该段代码后, 程序的输出结果为
s = "python"
def f(t):
if t == 0:
return s[0]
return s[t] + f(t - 1)
print(f(len(s)-1))
A.python B.nohtyp C.pytho D.nohty
11.有如下 python 程序段,运行该程序段后, 列表a 中的值可能是
import random
a = []
for i in range(6):
a.append(random.randint(1,5)*2+i%2)
for i in range(1,5):
j = i; k = a[j]
while a[j-1]0:
a[j] = a[j-1] ; j=j-1
a[j] = k
A.11,8,7,6,5,5 B.8,6,5,5,3,8 C.9,6,7,8,8,11 D.11,11,8,2,2,11
12.某二分查找算法的 python 程序段如下, 运行该段代码后, 输出的结果不可能是
import random
a = [10,20,30,40,50,60,70,80]
key = random.choice(a); i,j = 0,len(a)-1 ; s = ""
while i<=j:
m = (i+j)//2
if key == a[m]:
s = s+"M"; break
elif key < a[m]:
j = m-1; s = s+"L"
else:
i = m+1; s = s+"R"
print(s)
A.LLM B.LRM C.RRRM D.RRLM
宁波九校联考 高二技术 试题 第 3 页 共 8 页
(本大题共 4 小题,其中第 13 小题 8 分, 第 14 小题 6 分,第 15 小题 6 分,第 16 小
题 6 分,共 26 分。)
13.新学年伊始,某校团委需组织高一高二年级学生进行社团选课活动。为了帮助学校团委更好地
开展学生社团选课工作,小北同学设计了一个简易的网上社团选课系统。该选课系统的部分界
面、网页模板文件、数据表文件等如第 13 题图a、图 b、图 c、图 d 所示。
第 13题图 a (选课界面) 第 13题图 b (登陆成功后的欢迎模板)
第 13题图 c (登录账号密码数据表 users) 第 13题图 d (选课表字段结构)
具体实现程序代码如下:
from flask import Flask, render_template, request
import sqlite3
app = Flask(__name__)
#主页面路由命令及对应的视图函数, 代码略
@app.route("/login",methods=["POST"]) #登陆页面路由命令
def login():
conn = sqlite3.connect("data/data.db")
cur = conn.cursor()
cur.execute("SELECT * FROM users") # 数据表 users 如第 13 题图 c 所示
infolist = cur.fetchall()
user = {}
userlist = []
for line in infolist:
userlist.append(line[1:3])
for i in range(0,len(userlist)):

宁波九校联考 高二技术 试题 第 4 页 共 8 页
cur.close()
conn.close()
username = request.form.get("username")
password = request.form.get("password")
if username in user and user[username] == password:
return render_template("welcome.html", ② ,Title="欢迎界面")
#当输入的用户名密码错误时,弹出账号不存在或密码错误页面,代码略
@app.route( ③ , methods=["GET","POST"]) #选课页面路由命令
def xk():
if request.method == "GET":
return render_template("xk.html",text="请填报你喜欢的社团")
else:
xm = request.form.get("xm")
bj = ④ #登录页面中输入班级的文本框的名称为“bj”
kc = request.form.get("kc")
conn = sqlite3.connect("data/data.db")
cur = conn.cursor()
cur.execute("create table if not exists 选课表(班级 integer, 姓名 text,课程
名称 text)")
cur.execute("insert into 选 课 表 ( 班 级 , 姓 名 , 课 程 名 称 )
values(%d,'%s','%s')" %(bj,xm,kc ))

cur.close(); conn.close()
return render_template("login.html", text="恭喜你, 选课成功!")
if __name__ == "__main__":
(1) 结合相关截图,请在划线处填入合适的代码。
(2)(多选)根据第 13 题图a 所示, 程序中加框语句应修改为 ▲
A.app.run(host="0.0.0.0",port=8080)
B.app.run(host="192.168.10.106",port=8080)
C.app.run("192.168.10.106", 8080)
D.app.run(host="127.0.0.1",port=8080)
(注: 全部选对得 2 分, 部分选对得 1 分,选错或不选得 0 分)
14.社团选课结束后, 高一高二年级学生的社团选报数据已导出存放在“社团选课.xlsx”文件(如
第 14 题图 a 所示)。小北同学结合所学知识, 编写了一个统计各社团受欢迎程度的程序,以图
表(如第 14 题图 b 所示) 的形式呈现最受欢迎的前八社团。部分程序代码如下, 请在划线处填
入合适的代码。
import pandas as pd
import matplotlib.pyplot as plt
宁波九校联考 高二技术 试题 第 5 页 共 8 页
plt.rcParams["font.sans-serif"] = ["SimHei"]
data = pd.read_excel("社团选课.xlsx")
data = data.groupby("课程名称").count( ) #统计各社团的报名人数
data = ① #删除姓名列
data = data.rename(columns = {"班级":"人数"})
data = data. ② ("人数", ③ ) #根据选课人数降序排序
plt.bar ( ④ , data.人数[0:8], label="社团报名人数")
plt.title("最受欢迎的八大社团", fontsize=18) #设置图表标题
plt.legend()
plt.show ()
第 14题图 a 第 14 题图b
15.根据网上选课系统的报名导出数据(存放在"社团选课.xlsx"文件中)(如第 14 题图 a 所示),
小北又设计了程序对该名单做了进一步处理, 生成了以班级名称为名(如第 15 题图a 所示) 和
以社团名称为名(如第 15 题图 b 所示) 的电子表格文件, 以便分发给对应的社团指导老师和各
班班主任。
生成第 15 题图 b 所示名单的 python 程序如下,该程序的功能: 先对导出数据按社团名称进行
分类,再对选报同一社团的学生按班级为关键字进行升序排序,最后生成相应的社团名单。请
在划线处填入合适的代码。
第 15题图 a 第 15题图 b 第 15题图 c
import pandas as pd
def read_file(filename):
#读入电子表格文件,并将表中的数据转换成列表,代码略
def save_file(a): #保存名单至电子表格文件
宁波九校联考 高二技术 试题 第 9 页 共 8 页
df = pd.DataFrame(a,columns=["班级","姓名","选报社团"])
df.to_excel (a[0][2]+".xlsx",index=False)
a = read_file("社团选课.xlsx")
n = len(a)
for i in range(1,n): #按社团名称(参照字符的编码大小) 进行升序排序
for j in range(0,n-i):
if a[j][2] > a[j+1][2]:
a[j],a[j+1] = a[j+1],a[j]
# 统计各社团人数, 存放在列表 rs 中, rs=[["SDV",32], ],代码略
s = 0
for i in range(len(rs)):

left,right = s,s+num-1
while left < right:
imin = imax = left
for k in range(left+1,right+1):
if a[k][0] < a[imin][0]:
imin = k
elif a[k][0] > a[imax][0]:
imax = k
if imin != left:
a[imin],a[left] = a[left],a[imin]
if imax == left:

if imax != right:
a[imax],a[right] = a[right],a[imax]
left = left+1
right = right-1

s = s+num
save_file(a[s:])
16.根据前面几题的分析发现, 部分社团的选报人数超过了 40 人,由于人数太多不便于开展活动,
学校团委决定将人数超过 40 人的社团随机分成两个班。小北使用链式结构实现了该分班功能。
现以对“MULA 商社”进行分班为例(“MULA 商社.xlsx”文件截图如第 15 题图c 所示),具体实
现程序如下,请在划线处填入合适的代码。
import pandas as pd
import random
df = pd.read_excel("MULA 商社.xlsx")
namelist = df.values.tolist() #将数据转换成列表
# 将数据转换成列表后, namelist=[[101, "邓**","MULA 商社"], ]
宁波九校联考 高二技术 试题 第 7 页 共 8 页
k = 0
data = [["" for i in range(2)] for j in range(len(namelist))]
for item in namelist: #初始化链表结构
data[k][0] = item
data[k][1] = k+1
k+=1

head = 0
n = length = len(data) #每次抽取时剩余人数
namelist1 = []
namelist2 = []
for i in range(n//2+1): #生成 MULA 商社 1 班名单
t = random.randint(0,length-1)
p = head
q = data[p][1]
if t == 0:
namelist1.append(data[head][0])

else:
while t != 1: #从头节点开始查找第 t 个节点所在位置
p = q
q = data[p][1]
t = t-1
namelist1.append(data[q][0])

length = length-1
#生成 MULA 商社 2 班名单及将生成的两份名单保存成电子表格文件,代码略
宁波九校联考 高二技术 试题 第 8 页 共 8 页

展开更多......

收起↑

资源列表