浙江省舟山市2023-2024学年高二上学期期末检测信息技术试题 (解析版)

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

浙江省舟山市2023-2024学年高二上学期期末检测信息技术试题 (解析版)

资源简介

舟山市 2023 学年第一学期期末检测
高二技术试题卷
考生须知:
本试题卷分两部分,即:第一部分信息技术(50 分),第二部分通用技术(50 分)。全卷共 14 页,第一部分信息技术 1 至 7 页,第二部分通用技术 8 至 14 页。满分 100 分,考试时间 90 分钟。答题前,考生务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上,并按规定用笔将所有试题的答案涂、写在答题纸上,答案写在本试题卷上无效。选择题的答案须用 2B 铅笔将答题纸上对应题目的答案标号涂黑,如要改动,须将原填涂处用橡皮擦擦净。非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可使用 2B 铅笔,确定后须用黑色字迹的签字笔或钢笔描黑。
第一部分 信息技术(共 50 分)
一、选择题(本大题共 12 小题,每小题 2 分,共 24 分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)
1. 体感技术与自然语言交互是继键盘+鼠标、多点触控之后获得广泛应用的第三大类操作方式。体感技术使人们无须借助复杂的控制设备,直接使用肢体动作与数字设备和环境进行互动,并根据人的动作来完成各种指令,就像为计算机配备了一双精准有效的“眼睛”。体感技术不但是一种创新的操控方式,在大数据和人工智能技术的助力下,它还拥有强大的数据监测和数据分析功能,为人们提供更加个性化的服务。可以预期,未来的体感交互将体现为可穿戴设备的形式,成为“数字土著”一代身上的必备学习品,为用户带来更刺激、更具现场感的愉悦学习体验。下列有关数据、信息和知识的说法不正确的是( )
A. 数据是对客观事物符号表示
B. 体感技术中所监测到的数据需要加以分析解释才能成为信息
C. 体感技术的出现使得信息的传递可以不依附载体
D. “数字土著”可以借助体感交互获得知识
2. 体感技术与自然语言交互是继键盘+鼠标、多点触控之后获得广泛应用的第三大类操作方式。体感技术使人们无须借助复杂的控制设备,直接使用肢体动作与数字设备和环境进行互动,并根据人的动作来完成各种指令,就像为计算机配备了一双精准有效的“眼睛”。体感技术不但是一种创新的操控方式,在大数据和人工智能技术的助力下,它还拥有强大的数据监测和数据分析功能,为人们提供更加个性化的服务。可以预期,未来的体感交互将体现为可穿戴设备的形式,成为“数字土著”一代身上的必备学习品,为用户带来更刺激、更具现场感的愉悦学习体验。下列关于大数据和大数据处理说法正确的是( )
A. 处理大数据时一般采用分治思想
B. 体感技术中所监测到的数据都属于静态数据
C. 大数据通常对抽样数据进行分析,强调事物之间的关联性
D. 文本数据处理一般先进行数据分析,再进行分词、特征提取等处理
3. 体感技术与自然语言交互是继键盘+鼠标、多点触控之后获得广泛应用的第三大类操作方式。体感技术使人们无须借助复杂的控制设备,直接使用肢体动作与数字设备和环境进行互动,并根据人的动作来完成各种指令,就像为计算机配备了一双精准有效的“眼睛”。体感技术不但是一种创新的操控方式,在大数据和人工智能技术的助力下,它还拥有强大的数据监测和数据分析功能,为人们提供更加个性化的服务。可以预期,未来的体感交互将体现为可穿戴设备的形式,成为“数字土著”一代身上的必备学习品,为用户带来更刺激、更具现场感的愉悦学习体验。下列有关人工智能的说法正确的是( )
A. 人工智能是一门单一学科的前沿科学
B. 试错学习是行为主义的典型代表
C. 材料中提到的“自然语言交互”并不属于人工智能
D. 人工智能的发展不会对人类产生任何风险
4. 下列关于算法的说法不正确的是( )
A. 在计算机科学领域内,算法指的是用计算机解决问题的步骤
B. “计算斐波那契数列的所有元素”违背了算法的确定性
C. 数据、运算和控制转移是算法的三大要素
D. 常见的算法描述方式有自然语言、流程图、伪代码、计算机程序设计语言等
5. 已知 n 是一个 6 位二进制数 1■01■0,其中有两位数字模糊不清。下列数中,可能与它相等是( )
A. 37D B. 54D C. 28H D. 44H
6. 音频和图像的采样、量化过程如下图所示:
下列说法正确的是( )
A. 一般而言,音频采样时降低采样频率能提高保真率
B. 图中所示的音频数字化后至少需要 8 位量化位数
C. 图中所示的图像数字化后若存储为 256 色位图,则存储容量为 14×12×256 字节
D. 将模拟信号转换成数字信号一般需要经过采样、量化与编码
7. 某算法的部分流程图如图所示。执行这部分流程图,输入 m 值为 39,n 值为 26,则下列说法正确的是( )
A. "m!=n"语句执行了2 次 B. "m>n"语句执行了3 次
C. n 最后的值为 26 D. m 最后的值为13
8. 在Python语言中,用字典hero存储《水浒传》中的人物数据:hero={"天罡星":["宋江","卢俊义","吴用"],"地煞星":["朱武","黄信","孙立"]},下列表达式值为"吴用"的是( )
A. hero[0][2] B. hero{"天罡星"}[2] C. hero["天罡星"][3] D. hero["天罡星"][2]
9. 下列 Python 表达式的值为 True 的是( )
A. "Python"[5:]=="n" B. len("4-1")!=3 C. 1750//100%10==5 D. "zhou" in "Zhoushan"
10. 有如下 Python 程序段:
t = 0
s = "3abc21"
for i in s:
if "0" <= i <= "9":
t = t*2+1
else:
t = t*2
print(t)
执行该程序段后,输出的内容为( )
A. 6 B. 7 C. 35 D. 321
11. 有如下 Python 程序段:
s1 = input()
s2 = input()
f = [False]*10
a = [-1]*10
result = ""
for i in range(len(s1)):
for j in range(len(s2)):
if s1[i] == s2[j]:
if not f[j]:
a[i] = j
f[j] = True
break
result += str(a[i])
若 s1 值为"ABCDEA",s2 的值为"CDEAAB",则执行该程序段后,变量 result 的值为( )
A. "350124" B. "461235" C. "350123" D. "461234"
12. 有如下python程序段:
def myhash(key,m):
pos = key % m
while h[pos] != -1:
pos = (pos + 1) % m
return pos
lst = [47,7,29,11,22]
m = 11
h = [-1] * m
for i in lst:
t = myhash(i,m)
h[t] = i
print(h[1])
执行该程序段后,输出的内容是( )
A. -1 B. 11 C. 22 D. 29
二、非选择题(本大题共 3 小题,第 13 小题 7 分,第 14 小题 9 分,第 15 小题 10 分,共 26 分)
13. 某校教务处需要对高三年级学生的学业水平考试质量做个评价,先将每位学生的学考等级折算成相应分数,折算方式如下表所示:
学业水平考试等级 A B C D E
折算成绩(分) 10 9 7 4 0
若某学生10个科目的学考等级如下表所示,根据以上折算方式,则该学生的折算成绩为95分。
科目 语文 数学 英语 物理 化学 生物 政治 历史 地理 技术
等级 A A A A A B C A B A
教务处再把折算后的分数score分成4个等级,分级标准如下表所示:
分数范围 score>=90 90>score>=80 80>score>=70 score<70
等级 优秀 良好 中等 一般
现在需要统计每个等级的学生数。已知高三年级所有学生的学业水平考试等级存储在文件“data.txt”中,如下图所示(每一行对应一位学生10个科目的学业水平考试等级):
实现上述功能的python代码如下:
#读取文件“data.txt”数据到列表data中(data=["ADADBDDCAD","ADCACDDCCD",......])
#代码略
def convert1(grade):
if grade == "A":
return 10
elif grade == "B":
return 9
elif grade == "C":
return 7
elif grade == "D":
return 4
else:
return 0
def convert2(score):
t = "一般"
if score >= 70:
t = "中等"
if
if
return t
dic = {"优秀":0,"良好":0,"中等":0,"一般":0}
for each in data:

for i in each:
score += convert1(i)
② += 1
print(dic)
请回答下列问题:
(1)若某学生的学业水平考试等级为:BABABBCBCB,则她最终的等级为 _________
(2)若交换convert2函数两个方框代码的位置,程序运行结果会出错,当score为哪个值时可以测试出该错误 _________ (填字母:A. 75 / B. 85/ C. 95)
(3)请完善划线处的代码。①_________、②_________
14. 小王收集了舟山市某届中小学阳光体育运动会部分小学、初中学校的获奖数据,保存在medal.xlsx 文档中,部分数据如图 a 所示。
(1)观察表格数据,“定海五中”所在数据行存在的问题是( )
A.数据缺失 B.数据重复 C.逻辑错误 D.格式不一致
(2)小王对错误数据进行修改后用 Python 程序读取该文件,统计了普陀区中小学金牌数并使用matplotlib 绘制图表,呈现结果如图 b 所示。部分程序如下,请在划线处填入合适的代码。
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]="SimHei"
df=pd.read_excel("medal.xlsx" )
g=
#pyplot 画出的图形中可以显示中文
g=g.sort_values("金",ascending=①___).head(5)
plt.title("普陀区部分学校金牌数据")
x=g["学校"]
y=②_____
plt.xlabel("学校")
plt.ylabel("金牌数量")
plt.③___ (x,y)
plt.show()
加框处代码应为: ___(单选,填字母)
A. df["县(区)"]=="普陀"
C. df["县(区)"=="普陀"]
B. df[df["县(区)"]=="普陀"]
D df[df["县(区)"]]=="普陀"
(3)由图 b 可知,普陀区金牌数量超过 20 的学校有_____个。
15. 已知列表 nums 存储了 n 个 1~100 的整数,现在要通过以下操作使列表 nums 中的元素严格递增排列(对于任意两个相邻元素,满足 nums[k]>nums[k-1]):选择其中任意一个元素 nums[i] ,减去一个小于 nums[i] 的质数 p ,每个元素最多只能进行一次操作。如果能通过上述操作使得 nums 成为严格递增序列,则输出操作后的 nums ,否则输出“nosolution”。例如:对于 nums = [4,9,6,10],选 择 nums[1],nums[1]-5=4,再选择 nums[0],nums[0]-2=2,最后输出[2,4,6,10];但是对于 nums = [5,8,3],无法通过上述操作使 nums 成为严格递增序列,故输出“no solution”。程序运行界面如图所示:
实现该功能的程序代码如下:
from random import randint
def prime(x): #判断x否为质数,若是返回True,否则返回False
if x == 1:
return False
for i in range(2, x):
if① :
return False
return True
def find_prime(a, b):
for i in range(a, b+1):
if prime(i):
return i

n = 10
nums = [randint(1, 100) for i in range(n)] #生成长度为n的列表,元素范围1~100
print("原始序列:",nums)
flag = True
for i in range(n-2, -1, -1):
if nums[i] >= nums[i+1]:
minv = nums[i]-nums[i+1]+1
maxv =③
t = find_prime(minv, maxv)
if t == -1:

break
else:
nums[i] -= t
if flag:
print("处理后序列:",nums)
else:
print("no solution")
请回答下列问题:
(1)若原始序列为:[17, 3, 22, 82, 97, 74, 7, 26, 39, 53],则输出_________舟山市 2023 学年第一学期期末检测
高二技术试题卷
考生须知:
本试题卷分两部分,即:第一部分信息技术(50 分),第二部分通用技术(50 分)。全卷共 14 页,第一部分信息技术 1 至 7 页,第二部分通用技术 8 至 14 页。满分 100 分,考试时间 90 分钟。答题前,考生务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上,并按规定用笔将所有试题的答案涂、写在答题纸上,答案写在本试题卷上无效。选择题的答案须用 2B 铅笔将答题纸上对应题目的答案标号涂黑,如要改动,须将原填涂处用橡皮擦擦净。非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可使用 2B 铅笔,确定后须用黑色字迹的签字笔或钢笔描黑。
第一部分 信息技术(共 50 分)
一、选择题(本大题共 12 小题,每小题 2 分,共 24 分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)
1. 体感技术与自然语言交互是继键盘+鼠标、多点触控之后获得广泛应用的第三大类操作方式。体感技术使人们无须借助复杂的控制设备,直接使用肢体动作与数字设备和环境进行互动,并根据人的动作来完成各种指令,就像为计算机配备了一双精准有效的“眼睛”。体感技术不但是一种创新的操控方式,在大数据和人工智能技术的助力下,它还拥有强大的数据监测和数据分析功能,为人们提供更加个性化的服务。可以预期,未来的体感交互将体现为可穿戴设备的形式,成为“数字土著”一代身上的必备学习品,为用户带来更刺激、更具现场感的愉悦学习体验。下列有关数据、信息和知识的说法不正确的是( )
A. 数据是对客观事物的符号表示
B. 体感技术中所监测到的数据需要加以分析解释才能成为信息
C. 体感技术的出现使得信息的传递可以不依附载体
D. “数字土著”可以借助体感交互获得知识
【答案】C
【解析】
【详解】本题考查数据、信息和知识。体感技术虽然改变了人机交互的方式,但信息的传递仍然需要通过某种载体,比如数字设备的屏幕或者声音等形式。故答案为:C。
2. 体感技术与自然语言交互是继键盘+鼠标、多点触控之后获得广泛应用的第三大类操作方式。体感技术使人们无须借助复杂的控制设备,直接使用肢体动作与数字设备和环境进行互动,并根据人的动作来完成各种指令,就像为计算机配备了一双精准有效的“眼睛”。体感技术不但是一种创新的操控方式,在大数据和人工智能技术的助力下,它还拥有强大的数据监测和数据分析功能,为人们提供更加个性化的服务。可以预期,未来的体感交互将体现为可穿戴设备的形式,成为“数字土著”一代身上的必备学习品,为用户带来更刺激、更具现场感的愉悦学习体验。下列关于大数据和大数据处理说法正确的是( )
A. 处理大数据时一般采用分治思想
B. 体感技术中所监测到的数据都属于静态数据
C. 大数据通常对抽样数据进行分析,强调事物之间的关联性
D. 文本数据处理一般先进行数据分析,再进行分词、特征提取等处理
【答案】A
【解析】
【详解】本题考查大数据。A选项正确,分治思想是一种处理大规模数据的常用方法,即将大数据分解成小规模的子问题,然后分别解决这些子问题,最后将结果合并。这种方法有助于提高数据处理的效率和可扩展性。B选项错误,体感技术通常监测到的数据是动态数据,即与人的肢体动作、姿态等相关的实时数据。这些数据随着时间的推移会不断变化,而不是静态的。静态数据通常指固定不变的数据,例如存储在数据库中的信息,与体感技术所涉及的实时监测和动态交互不符。C选项错误,大数据通常不对抽样数据进行分析,而是利用全部数据进行分析,以获取更全面、更准确的结果。大数据分析的重点是发现数据之间的模式、规律和趋势,而非仅仅强调事物之间的关联性。D选项错误,通常,在处理文本数据时,首先进行的是数据预处理,包括文本清洗、标准化等操作,然后才进行数据分析和特征提取。数据预处理的目的是清理数据,减少噪音和不必要的信息,为后续的分析和建模提供高质量的数据。故答案为:A。
3. 体感技术与自然语言交互是继键盘+鼠标、多点触控之后获得广泛应用的第三大类操作方式。体感技术使人们无须借助复杂的控制设备,直接使用肢体动作与数字设备和环境进行互动,并根据人的动作来完成各种指令,就像为计算机配备了一双精准有效的“眼睛”。体感技术不但是一种创新的操控方式,在大数据和人工智能技术的助力下,它还拥有强大的数据监测和数据分析功能,为人们提供更加个性化的服务。可以预期,未来的体感交互将体现为可穿戴设备的形式,成为“数字土著”一代身上的必备学习品,为用户带来更刺激、更具现场感的愉悦学习体验。下列有关人工智能的说法正确的是( )
A. 人工智能是一门单一学科的前沿科学
B. 试错学习是行为主义的典型代表
C. 材料中提到的“自然语言交互”并不属于人工智能
D. 人工智能的发展不会对人类产生任何风险
【答案】B
【解析】
【详解】本题考查人工智能。选项A错误,人工智能并不是一门单一学科,而是涉及多个学科交叉的前沿科学;选项B正确,试错学习是一种基于反馈机制的学习方法,属于行为主义心理学范畴。在人工智能领域中,试错学习也被广泛运用,例如在强化学习中,智能体通过与环境交互,不断试错并根据反馈调整策略,以实现特定目标;选项C错误,自然语言交互是人工智能领域中的重要研究方向之一,例如自然语言处理、对话系统等;选项D错误,人工智能的发展可能会对人类产生一定风险,例如就业变革、隐私安全等方面的挑战。故答案为:B。
4. 下列关于算法的说法不正确的是( )
A. 在计算机科学领域内,算法指的是用计算机解决问题的步骤
B. “计算斐波那契数列的所有元素”违背了算法的确定性
C. 数据、运算和控制转移是算法的三大要素
D. 常见算法描述方式有自然语言、流程图、伪代码、计算机程序设计语言等
【答案】B
【解析】
【详解】本题考查算法。算法的有穷性是指算法在有限步骤内能够结束,不会出现无限循环或无法终止的情况。而斐波那契数列是一个无限序列,每个元素都是前两个元素之和,因此在计算所有元素时,计算过程将永远不会结束,违反了算法的有穷性。故答案为:B。
5. 已知 n 是一个 6 位二进制数 1■01■0,其中有两位数字模糊不清。下列数中,可能与它相等的是( )
A. 37D B. 54D C. 28H D. 44H
【答案】B
【解析】
【详解】本题考查进制转换。A选项:(37D)10=(100101)2。B选项,(54D)10=(110110)2。C选项,(28H)16=(101000)2。D选项,(44H)16=(1000100)2。因此,只可能与B选项相等。故答案为:B。
6. 音频和图像的采样、量化过程如下图所示:
下列说法正确的是( )
A. 一般而言,音频采样时降低采样频率能提高保真率
B. 图中所示的音频数字化后至少需要 8 位量化位数
C. 图中所示的图像数字化后若存储为 256 色位图,则存储容量为 14×12×256 字节
D. 将模拟信号转换成数字信号一般需要经过采样、量化与编码
【答案】D
【解析】
【详解】本题考查音频和图像的数字化。A选项错误,降低采样频率会导致信息丢失,从而降低音频信号的保真率。保真率通常与采样频率和量化位数有关,提高采样频率和量化位数可以提高音频信号的保真率。B选项错误,根据图中的描述,图中整个幅度分为0~7级,音频信号的量化位数为3位。C选项错误,对于一个256色位图,每个像素需要8位来表示颜色,则存储容量为14×12×8/8字节。D选项正确,字信号处理的过程通常包括三个步骤:采样、量化和编码。首先,通过采样将连续的模拟信号转换为离散的数字信号;然后,对采样后的信号进行量化,将其转换为离散的幅度值;最后,对量化后的信号进行编码,以便存储或传输。故答案为:D。故答案为:D。
7. 某算法的部分流程图如图所示。执行这部分流程图,输入 m 值为 39,n 值为 26,则下列说法正确的是( )
A. "m!=n"语句执行了2 次 B. "m>n"语句执行了3 次
C. n 最后的值为 26 D. m 最后的值为13
【答案】D
【解析】
【详解】本题考查流程图。首先输入m=39,n=26,m!=n条件成立,m>n条件成立,m=m-n=39-26=13。进入下一轮循环,m=13,n=26,m!=n条件成立,m>n条件不成立,n=n-m=13。进入下一轮循环,m!=n条件不成立,输出m为13。A选项错误,"m!=n"语句执行了3次。B选项错误,"m>n"语句执行了2次。C选项错误,n最后的值为13。D选项正确,m最后的值为13。故答案为:D。
8. 在Python语言中,用字典hero存储《水浒传》中的人物数据:hero={"天罡星":["宋江","卢俊义","吴用"],"地煞星":["朱武","黄信","孙立"]},下列表达式值为"吴用"的是( )
A. hero[0][2] B. hero{"天罡星"}[2] C. hero["天罡星"][3] D. hero["天罡星"][2]
【答案】D
【解析】
【详解】本题考查数据结构。给定的字典hero中,键是字符串,值是列表。根据字典索引的规则,hero["天罡星"][2]才能正确获取到值"吴用",因为首先通过键"天罡星"获取到对应的值,得到包含"宋江"、"卢俊义"、"吴用"的列表,然后再通过索引[2]获取到列表中的第三个元素,即"吴用"。故答案为:D。
9. 下列 Python 表达式的值为 True 的是( )
A. "Python"[5:]=="n" B. len("4-1")!=3 C. 1750//100%10==5 D. "zhou" in "Zhoushan"
【答案】A
【解析】
【详解】本题考查Python表达式。A选项正确,表达式的意思是取字符串"Python"从索引5(包括)到末尾的子串,即"n",与"n"进行比较,两者相等,结果为True。B选项错误,这个表达式的意思是计算字符串"4-1"的长度,即3,与3进行比较,结果为False。C选项错误,先进行整数除法1750//100得到17,再取结果的个位数17%10得到7,与5进行比较,结果为False。D选项错误,判断字符串"Zhoushan"是否包含子串"zhou",结果为False,因为子串"zhou"在"Zhoushan"中不存在,大小写敏感。故答案为:A。
10. 有如下 Python 程序段:
t = 0
s = "3abc21"
for i in s:
if "0" <= i <= "9":
t = t*2+1
else:
t = t*2
print(t)
执行该程序段后,输出的内容为( )
A. 6 B. 7 C. 35 D. 321
【答案】C
【解析】
【详解】本题考查Python程序。在给定的字符串s="3abc21"中,循环遍历每个字符。当字符为数字时,执行t=t2+1;当字符为字母时,执行t=t2。根据遍历过程:遇到数字"3"时,t=0*2+1=1;遇到字母"a"时,t=1*2=2;遇到字母"b"时,t=2*2=4;遇到字母"c"时,t=4*2=8;遇到数字"2"时,t=8*2+1=17;遇到数字"1"时,t=17*2+1=35。因此,执行该程序段后,输出的内容为35。故答案为:C。
11 有如下 Python 程序段:
s1 = input()
s2 = input()
f = [False]*10
a = [-1]*10
result = ""
for i in range(len(s1)):
for j in range(len(s2)):
if s1[i] == s2[j]:
if not f[j]:
a[i] = j
f[j] = True
break
result += str(a[i])
若 s1 的值为"ABCDEA",s2 的值为"CDEAAB",则执行该程序段后,变量 result 的值为( )
A. "350124" B. "461235" C. "350123" D. "461234"
【答案】A
【解析】
【详解】本题考查Python程序。程序首先接收两个输入字符串s1和s2,然后创建了两个列表f和a,其中f 列表用于标记s2中字符是否已经匹配过,a列表用于存储匹配的索引位置。接着,通过双重循环遍历 s1 和 s2 的所有字符,如果在 s1 的第 i 个字符与 s2 的第 j 个字符相同时,且该字符在 s2 中未被匹配过,则将 j 存入 a[i],并将 f[j] 置为 True 表示已匹配。最后将结果字符串 result 依次添加到 a[i] 的值。 根据输入的字符串 "ABCDEA" 和 "CDEAAB",执行程序后的结果如下: 第一个字符 'A' 在 s2 中第 3 个位置匹配; 第二个字符 'B' 在 s2 中第 4 个位置匹配; 第三个字符 'C' 在 s2 中第 0 个位置匹配; 第四个字符 'D' 在 s2 中第 1 个位置匹配; 第五个字符 'E' 在 s2 中第 2 个位置匹配; 第六个字符 'A' 在 s2 中第 5 个位置匹配。 因此,结果字符串 result 的值为 "350124"。故答案为:A。
12. 有如下python程序段:
def myhash(key,m):
pos = key % m
while h[pos] != -1:
pos = (pos + 1) % m
return pos
lst = [47,7,29,11,22]
m = 11
h = [-1] * m
for i in lst:
t = myhash(i,m)
h[t] = i
print(h[1])
执行该程序段后,输出的内容是( )
A. -1 B. 11 C. 22 D. 29
【答案】C
【解析】
【详解】本题考查Python程序。程序段中的myhash函数是一个简单的哈希函数,用于计算关键字key在哈希表中的位置。如果该位置已经被占用(即h[pos]不为-1),则采用线性探测法寻找下一个可用的位置。程序首先创建了一个大小为m的哈希表h,并初始化为-1。然后遍历列表lst中的元素,依次插入到哈希表中。最后,输出h[1]的值。根据程序逻辑,哈希表中的值是根据列表lst中的元素计算得到的,而列表lst中的元素是插入到哈希表中的。由于哈希表使用的是线性探测法解决冲突,因此元素会根据哈希函数计算的位置进行插入,如果位置已被占用,则会继续向后探测,直到找到可用的位置。对于给定的列表lst=[47,7,29,11,22]和哈希表大小m=11,根据哈希函数计算位置,并插入元素后,h[1]的值为22。故答案为:C。
二、非选择题(本大题共 3 小题,第 13 小题 7 分,第 14 小题 9 分,第 15 小题 10 分,共 26 分)
13. 某校教务处需要对高三年级学生的学业水平考试质量做个评价,先将每位学生的学考等级折算成相应分数,折算方式如下表所示:
学业水平考试等级 A B C D E
折算成绩(分) 10 9 7 4 0
若某学生10个科目的学考等级如下表所示,根据以上折算方式,则该学生的折算成绩为95分。
科目 语文 数学 英语 物理 化学 生物 政治 历史 地理 技术
等级 A A A A A B C A B A
教务处再把折算后的分数score分成4个等级,分级标准如下表所示:
分数范围 score>=90 90>score>=80 80>score>=70 score<70
等级 优秀 良好 中等 一般
现在需要统计每个等级的学生数。已知高三年级所有学生的学业水平考试等级存储在文件“data.txt”中,如下图所示(每一行对应一位学生10个科目的学业水平考试等级):
实现上述功能的python代码如下:
#读取文件“data.txt”数据到列表data中(data=["ADADBDDCAD","ADCACDDCCD",......])
#代码略
def convert1(grade):
if grade == "A":
return 10
elif grade == "B":
return 9
elif grade == "C":
return 7
elif grade == "D":
return 4
else:
return 0
def convert2(score):
t = "一般"
if score >= 70:
t = "中等"
if
if
return t
dic = {"优秀":0,"良好":0,"中等":0,"一般":0}
for each in data:

for i in each:
score += convert1(i)
② += 1
print(dic)
请回答下列问题:
(1)若某学生的学业水平考试等级为:BABABBCBCB,则她最终的等级为 _________
(2)若交换convert2函数两个方框代码的位置,程序运行结果会出错,当score为哪个值时可以测试出该错误 _________ (填字母:A. 75 / B. 85/ C. 95)
(3)请完善划线处的代码。①_________、②_________
【答案】 ①. 良好 ②. C ③. score = 0 ④. dic[convert2(score)]
【解析】
【详解】本题考查Python综合应用。
(1)根据折算方式,将每个等级转换为相应的分数,然后求平均分,得到该学生的总分。BABABBCBCB对应的分数为:9+10+9+10+9+9+7+9+7+9=88。根据总分,得出最终等级为良好。故答案为:良好。
(2) 交换了两个判断语句的位置后,程序会先判断score是否大于等于90,再判断score是否大于等于80,当score为75或者85时,输出结果与交换前一致。当score为95,输出结果与交换前不一致,因此程序运行结果会出错。故答案为:C。
(3)在统计每个学生的折算分数之前,需要先将折算分数的变量score初始化为0,以便在后续的循环中进行累加。故答案为:score=0。在每次统计完一个学生的折算分数后,需要根据该分数调用convert2函数,将得到的分数对应到相应的等级,并将该等级作为键值,在字典dic中对应的计数器上加1。故答案为:dic[convert2(score)]。
14. 小王收集了舟山市某届中小学阳光体育运动会部分小学、初中学校的获奖数据,保存在medal.xlsx 文档中,部分数据如图 a 所示。
(1)观察表格数据,“定海五中”所在数据行存在的问题是( )
A.数据缺失 B.数据重复 C.逻辑错误 D.格式不一致
(2)小王对错误数据进行修改后用 Python 程序读取该文件,统计了普陀区中小学金牌数并使用matplotlib 绘制图表,呈现结果如图 b 所示。部分程序如下,请在划线处填入合适的代码。
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]="SimHei"
df=pd.read_excel("medal.xlsx" )
g=
#pyplot 画出的图形中可以显示中文
g=g.sort_values("金"ascending=①___).head(5)
plttitle("普陀区部分学校金牌数据")
x=g["学校"]
y=②_____
plt.xlabel("学校")
plt.ylabel("金牌数量")
plt.③___ (x,y)
plt.show()
加框处代码应为: ___(单选,填字母)
A. df["县(区)"]=="普陀"
C. df["县(区)"=="普陀"]
B. df[df["县(区)"]=="普陀"]
D. df[df["县(区)"]]=="普陀"
(3)由图 b 可知,普陀区金牌数量超过 20 的学校有_____个。
【答案】 ①. D ②. False ③. g["金"]或 g.金 ④. bar ⑤. B ⑥. 2
【解析】
【详解】本题考查Python综合应用以及数据可视化。
(1)“定海五中”所在数据行银牌数据格式为文本,而其他银牌数据格式均为数字,因此存在的问题为格式不一致。故答案为:D。
(2)ascending=False的含义是按降序排序。在本题中,我们需要按金牌数量从高到低排序,因此需要设置为False。故答案为:False。g["金"]或g.金都是访问数据框g中金牌数量的列。这两种方法都是合法的,选择其中一种都可以用于获取金牌数量的数据。故答案为:g["金"]或g.金。使用plt.bar绘制柱状图,因为我们要展示不同学校的金牌数量,柱状图可以清晰地呈现这种数据关系。故答案为:bar。加框处代码应为df[df["县(区)"]=="普陀"]。这段代码的作用是从数据框df中筛选出县(区)为“普陀”的数据。在给定的Excel文件中,我们需要从中选择普陀区的数据,以便统计该地区中小学的金牌数量。故答案为:B。
(3)观察图可知,普陀区金牌数量超过 20 的学校有2个,分别为普陀区舟渔学校以及东港中学。故答案为:2。
15. 已知列表 nums 存储了 n 个 1~100 的整数,现在要通过以下操作使列表 nums 中的元素严格递增排列(对于任意两个相邻元素,满足 nums[k]>nums[k-1]):选择其中任意一个元素 nums[i] ,减去一个小于 nums[i] 的质数 p ,每个元素最多只能进行一次操作。如果能通过上述操作使得 nums 成为严格递增序列,则输出操作后的 nums ,否则输出“nosolution”。例如:对于 nums = [4,9,6,10],选 择 nums[1],nums[1]-5=4,再选择 nums[0],nums[0]-2=2,最后输出[2,4,6,10];但是对于 nums = [5,8,3],无法通过上述操作使 nums 成为严格递增序列,故输出“no solution”。程序运行界面如图所示:
实现该功能的程序代码如下:
from random import randint
def prime(x): #判断x是否为质数,若是返回True,否则返回False
if x == 1:
return False
for i in range(2, x):
if① :
return False
return True
def find_prime(a, b):
for i in range(a, b+1):
if prime(i):
return i

n = 10
nums = [randint(1, 100) for i in range(n)] #生成长度为n的列表,元素范围1~100
print("原始序列:",nums)
flag = True
for i in range(n-2, -1, -1):
if nums[i] >= nums[i+1]:
minv = nums[i]-nums[i+1]+1
maxv =③
t = find_prime(minv maxv)
if t == -1:

break
else:
nums[i] -= t
if flag:
print("处理后序列:",nums)
else:
print("no solution")
请回答下列问题:
(1)若原始序列为:[17, 3, 22, 82, 97, 74, 7, 26, 39, 53],则输出_________
(2)请完善划线处代码:①_______、②_________、③_________、④_________
【答案】 ①. no solution ②. x % i == 0 ③. return -1 ④. nums[i] - 1 ⑤. flag = False
【解析】
【详解】本题考查Python综合应用。
(1)对于原始序列[17,3,22,82,97,74,7,26,39,53],我们从第一个元素开始向后遍历,即从17开始。对于17,它比下一个元素3大,我们需要对它进行操作。我们寻找一个小于17的质数,使得17减去质数后小于3。在范围(17-3+1,17-1)内,我们无法找到一个符合条件的质数,因此该序列不能成为严格递增序列。故答案为:no solution。

展开更多......

收起↑

资源列表