浙江省余姚名校2022-2023学年高二上学期信息技术期中考试试卷
试卷更新日期:2022-12-13 类型:期中考试
一、选择题(单选,本大题共 14 小题,每小题 2 分,共 28 分)
-
1. 下列关于数字化的说法正确的是( )A、经过采样、量化两个步骤即可将模拟信号转换成数字信号 B、使用“作业帮”APP 拍照搜题获取难题解析的过程中涉及到图像数字化 C、计算机中的数据,以二进制形式或十六进制形式存储 D、水银温度计呈现的温度值是数字信号2. 某十进制偶数n转换为二进制数x,下列说法正确的是()A、x中1的个数一定比0的个数多 B、n%4的值一定与x最右侧两位的值相等 C、n+1转换为二进制数后,位数可能比x多 D、n转化为十六进制数,其最低位一定等于03. 下列有关人工智能的说法,错误的是( )A、人脸识别过程中使用了人工智能技术( ) B、人工智能的开发和应用要遵守法律法规 C、人工智能是以机器为载体,模仿、延伸和扩展人类智能 D、人工智能技术推动人类社会进步的同时,不可能威胁人类安全4. 使用UltraEdit软件查看文字的内码,部分界面如图所示。
下列说法正确的是 ( )
A、GB2312 的字符有 8 个 B、字符“j”的内码对应二进制数是“01101010” C、如图所示文字占用存储空间为 14bit D、字符“10”的内码用十六进制数表示是“3A”5. 下列关于数据结构的说法正确的是( )A、“撤销”操作,是“队列”的应用 B、排队就餐,是“栈”的应用 C、“数组”存储相邻节点需要连续空间 D、“树”中每个节点的前后都只有一个相邻节点6. 已知某BMP图像文件的总像素量为1024×768像素,颜色位深度为24位,则该图像文件的存储容量约为( )A、18MB B、2.25KB C、480KB D、2.25MB7. 列表a的值为[0,1,2,3,5],下列表达式的值等于a[1]的是( )A、a[2]*a[3]//2 B、a[4]-len(a) C、a[-1]-a[1] D、a[3]**2%28. 某算法的部分流程图如图所示。执行这部分流程后,则输出ret的值为( )A、16 B、32 C、64 D、2569. 如果一个数正读和倒读一样,则称为回文数。若将任意一个三位数存储到整型变量 a 中,下列语句可实现构造回文数的是:( )A.sw=a/10%10
bw=a/100
new=a*100+sw*10+bw
B.gw=a%10
sw=a//10%10
bw=a//100
new=gw*100+sw*10+bw
C.sw=a//10%10
bw=a//100
new=a*100+sw*10+bw
D.gw=a%10
sw=a%10/10
bw=a//100
new=gw+sw+bw
A、A B、B C、C D、D10. 由“qp=[[0 for i in range(6)]for j in range(6)]”代码定义的数组, 如qp[1][2]在行优先存储方式下存在序列的第9个位置,则其在列优先存储方式下,在序列中的位置是( )A、10 B、12 C、14 D、1611. 有如下Python程序段:
s=input("请输入一串字符串:")
m=cnt=1for i in range(1,len(s)):
if s[i]>s[i-1]:cnt+=1
if cnt>m:
m=cnt
else:
cnt=1 print(m)
该程序段输出的是( )
A、字符串 s 中最大的字符的索引 B、字符串 s 中最长的递增序列 C、字符串 s 中最大的字符 D、字符串 s 中最长的递增序列长度12. 现要求使用 Python 模拟数组的操作,将一个一维数组中的偶数分离出来存储到新的数组,形成分别存储奇数和偶数的两个数组,具体代码如下:a=[6,7,3,4,7,1,9,12,543,345,354] b=[]
i=0
while i<len(a):
if a[i]%2==0:
b.append(a[i])
_________
else:
i=i+1
print(a, b)
划线处应填入的代码是( )
A、a.pop(i) B、a.append(a[i]) C、break D、continue13. 有如下 python 程序段:a=[1]*6
b=[96,88,84,91,90,80]
for i in range(6):
for j in range(i+1, 6):
if b[j]>b[i]:
a[i]+=1
else:
a[j]+=1
该程序段运行后,列表a的值为:( )
A、[5,3,2,4,6,1] B、[1,4,5,2,3,6] C、[10,6,4,8,12,2] D、[2,4,5,3,16,6]14. 某短信平台对短信内容长度进行审查,超过 100 个字符的短信将被过滤掉, 将符合要求的短信根据推送的时间逐一发送。#所有短信按推送过来的时间已存入列表 s 中,共有 1000 条待发送的短信
q=[""]*1000
head=0;tail=0
for i in range(1000):
if len(s[i])<=100:
①
②
while ③ :
print("现在发送的消息内容为:",q[head])
head+=1
上述程序段中划线处可选语句为:
①tail=tail-1②tail=tail+1 ③q[tail]=s[i] ④head<=tail ⑤head!=tail
则①②③处的语句依次为( )
A、②③⑤ B、③②④ C、③②⑤ D、③①⑤二、非选择题(本题共3小题,8+7+7,共22分)
-
15. 小明搜集了某网络购物平台2021年1月1日至2021年9月30日时间段内的日用化妆品销售数据,原始数据如下图a所示。
图 a
(1)、小明对数据进行了整理,下列操作不恰当的是( )(单选,填字母)。A、发现记录中有6条重复,对这6条记录进行了删除 B、发现记录中有38处数据项缺失,直接删除相关记录 C、将某条记录中订单日期“2050-6-9”订正为“2021-6-9” D、将某条记录中订单日期“2021#3#11”修改为“2021-3-11”(2)、图a 所示的数据为(A .结构化数据\ B .非结构化数据\ C .半结构化数据)(3)、小明发现数据中仍有极少量时间段外的记录混杂其中,利用Python 及pandas 模块进行处理。请回答问题:①采用 pandas 模块中的 (单选:填字母:A .Series/B .DataFrame) 数据结构存储全部数据会比较高效。
②全部数据保存于变量 df 中,为筛选出订单日期为 2021 年第一季度内的所有记录,可以执行 Python语句 dfl= , 则 dfl 中保存筛选结果。(单选,填字母。提示:多条件筛选时,条件之间用“&”连接,表示需要同时满足这多个条件)
A.df[(df['订单日期']<='2021-1-1')&(df['订单日期']<='2021-3-31')]
B.df[(df['订单日期']>='2021-1-1')&(df['订单日期']>='2021-3-31')]
C.df[(df['订单日期']>='2021-1-1')&(df['订单日期']<='2021-3-31')]
(4)、经过以上两步处理之后,为了解“所在地市”第一季度“订购数量”前 10 名的情况,编写如下 Python 程序段:#数据整理结果保存于变量 dfl 中,代码略
g=dfl.groupby(“所在地市”,as_index=False).sum( )
print( ▲ )
并生成图 b 所示的图表:
图 b
则划线处的代码可为( )(多选,填字母)
A、g.sort_values(“订购数量”,ascending=False)[0:10] B、g.sort_values(“订购数量”,ascending=True).tail(10) C、g.sort_values(“订购数量”,ascending=True)[0:10] D、g.sort_values(“订购数量”,ascending=False).head(10)(5)、根据以上数据整理结果,小明对第一季度所在地市的“订购数量”进行可视化处理,如图b所示。实现上述功能的Python程序部分代码如下,程序中划线处代码请填空。
#按“所在地市”对第一季度数据分组并求和,再按“订购数量”升序排序
#选取最后10 条数据,存入变量s,代码略
import matplotlib.pyplot as plt
x=s[‘所在地市’]
y=________
plt.barh(x,y,color=r)
plt.show( )
16. 有一个背包可放入的物品总重量20公斤,共有m件物品,单个物品重量不超过15公斤。问:从这些物品中如何找出若干件,刚好是20公斤?(不考虑体积)例如共有8个物品,分别为1,7,3,8,5,10,11,4公斤。算法思路如下:
把8件物品,看作8个位置,每个物品被选中记作1,不被选中记作0。显然,共有28=256种不同的选择方法。在这256种选择方法中,如果选中的物品重量之和等于20,就是我们要寻找的方案。
小李编写了python程序:由用户输入物品件数m,程序随机生成[1,15]之间的整数,表示每种物品的重量。请将程序划线⑴、⑵、⑶、⑷处填入适当的代码,将程序补充完整。
import random
def DToB(x,n):
if n<1: n=1
n=0
R=[0 for i in range(0,n)]
for i in range(n-1,-1,-1):
x=x//2
return R
m=int(input(“请输入物品件数 m”))
w=[for i in range(m)] #随机生成 m 件物品重量的列表
total=20
nm=
k=0
for x in range(0,nm): a=DToB(x,m)
T=[ ]
for i in range(0,m): if
a[i]==1:
if total==sum(T):
k=k+1
print(T)
print("共有",k,"种装入方法")
17. 小王设计“模拟撤销”程序,需要用一个“历史记录”,“历史记录”是在对字符串s进行插入或删除时,将每步操作信息依次存储得到的,操作信息由操作符(“+”表示插入,“-”表示删除)、操作位置和操作字符串(只包含英文字母)构成,例如,“+23abc”表示在字符串s 第 23 个位插入了“abc”, “模拟撤销”过程按照“历史记录”的逆序进行,将字符串s的内容恢复到初始状态。对字符串“Book”的操作与撤销过程,如图所示。小王编写的“模拟撤销”python 程序如下,输入撤销字符串和历史记录,显示撤销过程。
(1)、请在划线处填入合适的代码。s=input("输入撤销前的字符串:")
t=input("历史记录:")
t=t[::-1]
c,num="","" ss=s;n=0 for ch in t:
if "a"<=ch<="z" or "A"<=ch<="Z":
c=ch+c
elif "0"<=ch<="9":
num=ch+num
else:
if ch=="-":
else:
s=s[:n-1]+s[n-1+len(c):]
ss=s+"←"+ss
c=""
print("撤销过程:"+ss)
(2)、运行该程序,输入的内容分别是“April”和“-3p+3ri-6e”,字符串s的值为: