资源简介 宁波市九校联考高二技术参考答案第一部分:信息技术(50分)一、选择题(每题2分,共24分)1 2 3 4 5 6 7 8 9 10 11 12B 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].index15.①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.25MC.汉字在计算机内使用汉字国标码来表示,不使用二进制编码D.二维码可以存储包括网址、名片、文本、特定代码在内的各种信息3.下列关于信息系统及其组成要素说法不正确的是A.信息系统由五个关键要素组成,分别是硬件、软件、数据、通信网络和用户B.常见的操作系统有 windows、Linux、Unix、Mac OS 等C.主存储器是计算机硬件的一个重要部件,常见的有硬盘和闪存盘D.声卡、网卡、光盘驱动器既是输入设备又是输出设备4.下列关于数据结构的说法正确的是A.同一数据元素中各数据项的数据类型一定相同B.跳跃表是立足链表、借鉴二分查找的思想而形成的数据结构C.若入栈序列为 abcd,则出栈序列可能为 dbcaD.在浏览器中执行“后退”、“前进”操作的原理与队列的特点相同5.有如下 python 程序段,运行该段代码后, a[2]的值为a,b,c = [1],[2,3],[4,5]a.append(b)a = a+cA.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)%26code_new+=chr(s1)return code_newcode=input("code=")print(encrypt(code,2))A.该加密程序段所用的加密算法是换位密码法B.若输入字符串 code 为“App”,则输出的结果为 crrC.若要对数字字符逐个右移进行加密,则只需将加框处语句修改为“(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 = 0while b**w <= a:w += 1st = [0]*w ; top = -1while a>0:top = top+1st[top] = a%b ; a = a//bwhile top > -1:print(st[top],end="")top = top-1A.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-CB.不能唯一确定, 中序遍历序列可能为: B-D-A-E-CC.能唯一确定,中序遍历序列为:D-C-B-A-ED.不能唯一确定, 中序遍历序列可能为: D-C-B-A-E10.有如下 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.nohty11.有如下 python 程序段,运行该程序段后, 列表a 中的值可能是import randoma = []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-1a[j] = kA.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,1112.某二分查找算法的 python 程序段如下, 运行该段代码后, 输出的结果不可能是import randoma = [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)//2if key == a[m]:s = s+"M"; breakelif 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, requestimport sqlite3app = 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 pdimport 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 题图b15.根据网上选课系统的报名导出数据(存放在"社团选课.xlsx"文件中)(如第 14 题图 a 所示),小北又设计了程序对该名单做了进一步处理, 生成了以班级名称为名(如第 15 题图a 所示) 和以社团名称为名(如第 15 题图 b 所示) 的电子表格文件, 以便分发给对应的社团指导老师和各班班主任。生成第 15 题图 b 所示名单的 python 程序如下,该程序的功能: 先对导出数据按社团名称进行分类,再对选报同一社团的学生按班级为关键字进行升序排序,最后生成相应的社团名单。请在划线处填入合适的代码。第 15题图 a 第 15题图 b 第 15题图 cimport pandas as pddef 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 = 0for i in range(len(rs)):①left,right = s,s+num-1while left < right:imin = imax = leftfor k in range(left+1,right+1):if a[k][0] < a[imin][0]:imin = kelif a[k][0] > a[imax][0]:imax = kif 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+1right = right-1③s = s+numsave_file(a[s:])16.根据前面几题的分析发现, 部分社团的选报人数超过了 40 人,由于人数太多不便于开展活动,学校团委决定将人数超过 40 人的社团随机分成两个班。小北使用链式结构实现了该分班功能。现以对“MULA 商社”进行分班为例(“MULA 商社.xlsx”文件截图如第 15 题图c 所示),具体实现程序如下,请在划线处填入合适的代码。import pandas as pdimport randomdf = pd.read_excel("MULA 商社.xlsx")namelist = df.values.tolist() #将数据转换成列表# 将数据转换成列表后, namelist=[[101, "邓**","MULA 商社"], ]宁波九校联考 高二技术 试题 第 7 页 共 8 页k = 0data = [["" for i in range(2)] for j in range(len(namelist))]for item in namelist: #初始化链表结构data[k][0] = itemdata[k][1] = k+1k+=1①head = 0n = length = len(data) #每次抽取时剩余人数namelist1 = []namelist2 = []for i in range(n//2+1): #生成 MULA 商社 1 班名单t = random.randint(0,length-1)p = headq = data[p][1]if t == 0:namelist1.append(data[head][0])②else:while t != 1: #从头节点开始查找第 t 个节点所在位置p = qq = data[p][1]t = t-1namelist1.append(data[q][0])③length = length-1#生成 MULA 商社 2 班名单及将生成的两份名单保存成电子表格文件,代码略宁波九校联考 高二技术 试题 第 8 页 共 8 页 展开更多...... 收起↑ 资源列表 22.06宁波九校高二信息期末联考试卷答案.docx 浙江省宁波九校联考2021-2022学年下学期高二信息技术期末考试(pdf,含答案).pdf