浙江省台州市山海协作体2023-2024学年高二上学期期中联考技术试题(解析版)

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

浙江省台州市山海协作体2023-2024学年高二上学期期中联考技术试题(解析版)

资源简介

2023学年第一学期台州山海协作体期中联考
高二年级技术学科试题
信息命题:黄岩二高城峰中学 信息审题:三门二高
通用命题:平桥中学三门二高 通用审题:三门二高
考生须知:
1.本卷共10页满分100分,考试时间90分钟。
2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字。
3.所有答案必须写在答题纸上,写在试卷上无效。
4.考试结束后,只需上交答题纸。
第一部分 信息技术(共50分)
一、选择题部分(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分)
1. 下列关于数据、信息和知识的说法,不正确的是( )
A. 单纯的数字是没有意义的,需要经过解释才变得有意义
B. 信息具有载体依附性,但无线通信技术可以使信息在传输时短暂的脱离载体
C. 微信中“发送位置”给朋友,主要体现了信息的共享性
D. 与数据和信息相比,知识更接近行动,它与决策相关
2. 关于大数据和大数据应用,下列说法不正确的是( )
A. 大数据追求数据的准确性,通过各种技术或人工手段来保证每个数据准确无误
B. 基于用户购买行为的大数据,挖掘用户偏好,实现个性化推荐,属于大数据应用
C. 大数据蕴含着巨大的价值,但是价值密度低
D. 大数据更关注事物的相关性而不是因果关系
3. 下列关于信息编码说法正确的是( )
A. 信息编码只能使用二进制表示
B. 一维条形码可承载的信息量通常比二维码多
C. 将末位为0十六进制数转换为二进制数后,二进制数的末位一定是0
D. “B”的ASCII码值为66D,由此可知字符“b”的ASCII码值为86D
4. 将一幅未经压缩的1024*768像素、256色的BMP图像存储为512*384、颜色模式改成黑白图像的BMP图像,则处理前后的存储容量比约为( )
A. 16:1 B. 32:1 C. 48:1 D. 96:1
5. 下列Python表达式中,值为True是( )
A. 6%3**2==0 B. "110">"12"
C. abs(-8)>=len("2023年11月") D. round(4.6)==5 and "he"in"Chinese"
6. 已知s="杭州亚运会",下列说法正确是( )
A. s[1:4]的值是:"杭州亚运" B. s[1:4]的值是:"州亚运会"
C. s[-3:-5]的值是:"亚州" D. s[::-1]的值是:"会运亚州杭"
7. 某流程图如图所示:
若输入k的值为9,最终i,s的值分别为( )
A. 11,0 B. 11,-11 C. 9,0 D. 9,-9
8. 身体质量指数(BMI)的正常范围是18.5~24kg/m2,现要求当bmi数值位于正常、偏低、偏高时,将变量s的值对应设为"正常"、"消瘦"、"超重"。下列Python程序段中符合要求的是( )
A. B. C. D.
9. 一张纸上有个五位数密码,其中的千位数字和十位数字已经模糊不清,如图所示,已知这个数字是27或者37的倍数。现要设计一个算法,找出所有满足这些条件的5位数,并统计个数。现有Python程序段如下:
count=0
for i inrange(0,10):
for j in range(0,10):
m=20000+i*1000+500+j*10+6
if ① :
count=count+1
print(m)
print("一共找到"+str(count)+"个符合条件的密码!")
划线处应填的代码是( )
A. m//27==0 or m//37==0 B. m%27=0 or m%37=0 C. m%27==0 or m%37==0 D. m%27==0 and m%37==0
10. 丑数是指只包含质因子2、3和5的数。判断丑数的自定义函数程序如下:
def ugly(n):
for i in [2, 3, 5]:
while n%i==0:
n=n//i
if n=1:
return True
return False
下列说法正确的是( )
A. 若执行ugly(30),函数返回值为False B. 若执行ugly(30),条件语句n%i==0执行了3次
C. 自定义函数时,函数内部必须包含return语句 D. 若执行ugly(1),函数返回值为True
11. 某Python程序如下:
s="No. 0214"
c=""
for ch in s:
if ch>="0"and ch<="9":
c+=str (9-int (ch))
elif ch>="A"and ch<="Z":
c+=chr (ord (ch)-ord ("A") +ord ("a"))
else:
c+=ch
print (c)
程序运行后,输出的结果是( )
A. NO.0214 B. NO.9785 C. no.9785 D. no.0214
12. 有如下Python程序:
import random
a=[0,0,0,0,0,0]
for i in range(6):
a[i]=random.randint(1,10)
for i in range(0,6):
if i%2==0 and a[i]%2==0:
a[i]//=2
else:
a[i]+=1
print(a)
执行程序后,列表a各元素可能是( )
A. 1,5,1,11,2,11 B. 7,2,8,10,5,9 C. 6,9,3,7,8,12 D. 3,9,0,8,2,7
二、非选择题部分(本大题共3小题,第13题6分,第14题10分,第15题10分,共26分)
13. 某超市打折促销,规定如下:
①购物未超过500元按原价支付;
②购物超过500元但未超过1000元,超过500元部分按9折优惠计价;
③购物超过1000元但未超过2000元,超过1000元部分按8折优惠计价;
④购物超过2000元,超过2000元部分按7.5折优惠计价;
解决此问题相应的python程序如下:
x=int(input("请输入消费金额:"))
if x<=500:
y=x
elif ①____:
y=500+(x-500)*0.9
elif 1000y=500+500*0.9+(x-1000)*0.8
else:
y=500+500*0.9+1000*0.8+(x-2000)*0.75
print("实际支付金额为:"+ ②____)
(1)在程序①和②划线处,填入适当语句或表达式,把程序补充完整。
(2)解决此问题的算法是____。(选填“解析算法”或“枚举算法”)
14. 用英文字母A~D对数字字符0~9进行编码,编码规则如下表所示:
例如,数字字符串“718”的编码为“BDABCA”。
用Python程序实现上述编码,功能如下:输入待编码的一串数字字符,输出编码结果,程序运行界面如下图所示。
请输入数字字符串:718 编码结果为:BDABCA
实现上述功能的Python程序如下,请回答下列问题:
(1)运行该程序,若输入的数字字符串为“8462”,则输出的编码结果为____。
(2)请在程序划线处填入合适的代码。
def dtob(x):
st,r="",0
for i in range(4):
①____
st=str(r)+st
x=x//2
return st
code={"00":"A","01":"B","10":"C","11":"D"}
s=input("请输入数字字符串:")
result=""
for i in range(len(s)):
②____
if"0"<=ch<="9":
ans=③____
result+=code[ans[0:2]]+ ④____
if result!="":
print("编码结果为:",result)
else:
print("输入错误!")
15. 最小覆盖子串。输入一个字符串s、一个字符串t,从左往右遍历字符串s,返回s中涵盖t所有字符的最小子串。如果s中存在多个最小子串,则输出第一次出现的子串,如果s中不存在涵盖t所有字符的子串,则输出“找不到覆盖子串”。
注意:对于t中重复字符,我们寻找的子字符串中该字符数量必须不少于t中该字符数量。
示例1:输入:s:ADOBECODEBANC
t:ABC
输出:BANC
实现上述功能的Python程序代码如下,请回答下列问题。
def count (t):
dic={}
for i in t:
if i in dic:
①____
else:
dic[i]=1
return dic
s=input("s: ")
t=input("t: ")
f=False
length=len(t)
dic_t=count (t)
while length<=len(s):
start=0
for i in range(start,len(s)):
temp= ②____
dic_temp=count (temp)
for i in dic_t:
if i not in dic_temp or ③____:
break
else:
print (temp)
f=True
break
if f==True:
break
else:
④____
if f=False:
print("找不到覆盖子串")
(1)请在程序划线处填入合适的语句。2023学年第一学期台州山海协作体期中联考
高二年级技术学科试题
信息命题:黄岩二高城峰中学 信息审题:三门二高
通用命题:平桥中学三门二高 通用审题:三门二高
考生须知:
1.本卷共10页满分100分,考试时间90分钟。
2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字。
3.所有答案必须写在答题纸上,写在试卷上无效。
4.考试结束后,只需上交答题纸。
第一部分 信息技术(共50分)
一、选择题部分(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分)
1. 下列关于数据、信息和知识的说法,不正确的是( )
A. 单纯的数字是没有意义的,需要经过解释才变得有意义
B. 信息具有载体依附性,但无线通信技术可以使信息在传输时短暂的脱离载体
C. 微信中“发送位置”给朋友,主要体现了信息的共享性
D. 与数据和信息相比,知识更接近行动,它与决策相关
【答案】B
【解析】
【详解】本题考查数据、信息和知识的描述。通过无线网络传输的信息依附的是电磁波等介质,因此无线通信技术不可以使信息在传输时短暂的脱离载体。故选B。
2. 关于大数据和大数据应用,下列说法不正确的是( )
A. 大数据追求数据的准确性,通过各种技术或人工手段来保证每个数据准确无误
B. 基于用户购买行为的大数据,挖掘用户偏好,实现个性化推荐,属于大数据应用
C. 大数据蕴含着巨大的价值,但是价值密度低
D. 大数据更关注事物的相关性而不是因果关系
【答案】A
【解析】
【详解】本题考查大数据相关内容。在大数据处理中,不需要对每一条数据的精确性要求非常高,只需要保证数据的总体准确性即可,A选项错误;B选项,个性化推荐,属于大数据应用,正确;C选项,大数据通常价值巨大但价值密度低,正确;D选项,大数据不讲究因果关系,它更加关注事物的相关性,正确。故本题答案是A选项。
3. 下列关于信息的编码说法正确的是( )
A. 信息编码只能使用二进制表示
B. 一维条形码可承载的信息量通常比二维码多
C. 将末位为0十六进制数转换为二进制数后,二进制数的末位一定是0
D. “B”ASCII码值为66D,由此可知字符“b”的ASCII码值为86D
【答案】C
【解析】
【详解】本题考查信息编码相关内容。信息的表现形式多种多样,编码的方案也非常多,不局限于二进制,A选项错误;一维条码的信息密度低,信息容量较小,二维码的信息密度高,信息容量大,可承载的信息量比一维条码多,B选项错误;1位十六进制数可由4位二进制数表示,十六进制数0,转换为二进制数:0000,将末位为0的十六进制数转换为二进制数后,二进制数的末位一定是0,C选项正确;“b”与“B”ASCII码值相差32,“B”的ASCII码值为66D,则“b”的ASCII码值为98D,D选项错误。故本题答案是C选项。
4. 将一幅未经压缩的1024*768像素、256色的BMP图像存储为512*384、颜色模式改成黑白图像的BMP图像,则处理前后的存储容量比约为( )
A. 16:1 B. 32:1 C. 48:1 D. 96:1
【答案】B
【解析】
【详解】本题考查图像处理相关内容。图像存储容量=水平像素*垂直像素*每个像素色彩所占位数/8,256色的BMP图像颜色深度是8位(28=256),黑白图像的颜色深度是1位(21=2)。将一幅未经压缩的1024*768像素、256色的BMP图像存储为512*384、颜色模式改成黑白图像的BMP图像,前后图像文件的存储容量比约为(1024*768*8/8):(512*384*1/8)=32:1,故本题答案是B选项。
5. 下列Python表达式中,值为True的是( )
A 6%3**2==0 B. "110">"12"
C. abs(-8)>=len("2023年11月") D. round(4.6)==5 and "he"in"Chinese"
【答案】C
【解析】
【详解】本题考查Python运算符与表达式相关内容。A选项,6%3**2=6%9=6,错误;B选项,"110">"12",不成立,错误;C选项,abs(-8)>=len("2023年11月"),结果为:8>=8,正确;D选项,round函数作用是四舍五入取整,round(4.6)结果为5,"he" in "Chinese"结果为False,两者不相等,错误。故本题答案是C选项。
6. 已知s="杭州亚运会",下列说法正确的是( )
A. s[1:4]的值是:"杭州亚运" B. s[1:4]的值是:"州亚运会"
C. s[-3:-5]的值是:"亚州" D. s[::-1]的值是:"会运亚州杭"
【答案】D
【解析】
【详解】本题考查Python字符串处理相关内容。s="杭州亚运会",s[1:4]的值是:"州亚运"(截取序号1-3的字符),A、B选项错误;s[-3:-5]的值是:""(从右往左编号:-1、-2、-3...。s[-3:-5]即为从右侧序号-3开始往右截取,但-3右侧是-2、-1,不会出现-5,无法截取字符),C选项错误;s[::-1]的值是:"会运亚州杭"(从右侧第一个字符开始,逆序),D选项正确。故本题答案是D选项。
7. 某流程图如图所示:
若输入k的值为9,最终i,s的值分别为( )
A. 11,0 B. 11,-11 C. 9,0 D. 9,-9
【答案】C
【解析】
【详解】本题考查的知识点是循环结构流程图。各变量在执行过程中变化情况如表所示。
变量 k i s
进循环前 9 1 0
第一次循环后 9 3 0+3
第二次循环后 9 5 0+3-5
第三次循环后 9 7 0+3-5-7
第四次循环后 9 9 0+3-5-7+9
退出循环
程序结束,i的值是9,s的值是0。故正确答案为C选项。
8. 身体质量指数(BMI)的正常范围是18.5~24kg/m2,现要求当bmi数值位于正常、偏低、偏高时,将变量s的值对应设为"正常"、"消瘦"、"超重"。下列Python程序段中符合要求的是( )
A. B. C. D.
【答案】B
【解析】
【详解】本题考查Python分支结构的应用。选项A有2个选择结构,均会进行判断,不符合;选项C,大于等于18.5,均输出超重,不符合;选项D,小于等于24均会输出消瘦,不符合。故选B。
9. 一张纸上有个五位数密码,其中的千位数字和十位数字已经模糊不清,如图所示,已知这个数字是27或者37的倍数。现要设计一个算法,找出所有满足这些条件的5位数,并统计个数。现有Python程序段如下:
count=0
for i inrange(0,10):
for j in range(0,10):
m=20000+i*1000+500+j*10+6
if ① :
count=count+1
print(m)
print("一共找到"+str(count)+"个符合条件的密码!")
划线处应填的代码是( )
A. m//27==0 or m//37==0 B. m%27=0 or m%37=0 C. m%27==0 or m%37==0 D. m%27==0 and m%37==0
【答案】C
【解析】
【详解】本题考查Python程序执行与调试。已知这个数字是27或者37的倍数,可以通过余数是否为0进行判断,and是且关系,or是或关系,因此①处判断条件是m%27==0 or m%37==0。故选C。
10. 丑数是指只包含质因子2、3和5的数。判断丑数的自定义函数程序如下:
def ugly(n):
for i in [2, 3, 5]:
while n%i==0:
n=n//i
if n=1:
return True
return False
下列说法正确的是( )
A. 若执行ugly(30),函数返回值为False B. 若执行ugly(30),条件语句n%i==0执行了3次
C. 自定义函数时,函数内部必须包含return语句 D. 若执行ugly(1),函数返回值为True
【答案】D
【解析】
【详解】本题考查的是自定义函数。30=2*3*5,故30是丑数,函数返回值为True,选项A说法错误。i取值2时进入while循环判断n%i==0,执行n=n//i后又回去while循环判断n%i==0;i取值3时,n%i==0也执行2次;i取值5时n%i==0也执行2次,一共执行了6次,选项B说法错误;自定义函数,函数内部可以没有return语句。故本题应选D。
11 某Python程序如下:
s="No. 0214"
c=""
for ch in s:
if ch>="0"and ch<="9":
c+=str (9-int (ch))
elif ch>="A"and ch<="Z":
c+=chr (ord (ch)-ord ("A") +ord ("a"))
else:
c+=ch
print (c)
程序运行后,输出的结果是( )
A. NO.0214 B. NO.9785 C. no.9785 D. no.0214
【答案】C
【解析】
【详解】本题考查Python程序设计字符串处理相关内容。分析代码段,可知其功能是:若字符为数字字符,则将其与9进行减法运算后转换为字符;若为大写字母,则将其转换为小写字母;若为其他字符,保持不变。s="No. 0214"经过循环后,变为:no.9785。故本题答案是C选项。
12. 有如下Python程序:
import random
a=[0,0,0,0,0,0]
for i in range(6):
a[i]=random.randint(1,10)
for i in range(0,6):
if i%2==0 and a[i]%2==0:
a[i]//=2
else:
a[i]+=1
print(a)
执行程序后,列表a各元素可能是( )
A. 1,5,1,11,2,11 B. 7,2,8,10,5,9 C. 6,9,3,7,8,12 D. 3,9,0,8,2,7
【答案】A
【解析】
【详解】本题考查的是Python循环语句。random.randint(1,10)生成1~10的随机整数。经 a[i]//=2或 a[i]+=1不可能为0、12,故选项C、D不可能;选项A中,a[0]=7,只能由a[i]+=1得到结果(如果由a[i]//=2得到,则初始a[0]=14,超出1~10),故初始a[0]=6,初始a[0]=6满足if条件,应执行a[i]//=2,与执行a[i]+=1矛盾了,故选项B不可能。本题应选A。
二、非选择题部分(本大题共3小题,第13题6分,第14题10分,第15题10分,共26分)
13. 某超市打折促销,规定如下:
①购物未超过500元按原价支付;
②购物超过500元但未超过1000元,超过500元部分按9折优惠计价;
③购物超过1000元但未超过2000元,超过1000元部分按8折优惠计价;
④购物超过2000元,超过2000元部分按7.5折优惠计价;
解决此问题相应的python程序如下:
x=int(input("请输入消费金额:"))
if x<=500:
y=x
elif ①____:
y=500+(x-500)*0.9
elif 1000y=500+500*0.9+(x-1000)*0.8
else:
y=500+500*0.9+1000*0.8+(x-2000)*0.75
print("实际支付金额为:"+ ②____)
(1)在程序①和②划线处,填入适当的语句或表达式,把程序补充完整。
(2)解决此问题的算法是____。(选填“解析算法”或“枚举算法”)
【答案】 ①. x<=1000或500【解析】
【详解】本题考查Python程序设计相关内容。
(1)分析题意及代码段可知,x<=500时,y=x;x>500 and x<=1000时,y=500+(x-500)*0.9;x>1000 and x<=2000时,y=500+500*0.9+(x-1000)*0.8;x>2000 时,y=500+500*0.9+1000*0.8+(x-2000)*0.75。故①应填写:x<=1000或500(2)解析算法,指用解析的方法找出表示问题的前提条件与结果之间关系的数学表达式,并通过表达式的计算来实现问题求解;枚举算法是一种常用的算法,它通过尝试所有可能的解决方案来寻找问题的解。分析题意及代码段可知,该算法采用的是:解析算法。
14. 用英文字母A~D对数字字符0~9进行编码,编码规则如下表所示:
例如,数字字符串“718”编码为“BDABCA”。
用Python程序实现上述编码,功能如下:输入待编码的一串数字字符,输出编码结果,程序运行界面如下图所示。
请输入数字字符串:718 编码结果为:BDABCA
实现上述功能的Python程序如下,请回答下列问题:
(1)运行该程序,若输入的数字字符串为“8462”,则输出的编码结果为____。
(2)请在程序划线处填入合适的代码。
def dtob(x):
st,r="",0
for i in range(4):
①____
st=str(r)+st
x=x//2
return st
code={"00":"A","01":"B","10":"C","11":"D"}
s=input("请输入数字字符串:")
result=""
for i in range(len(s)):
②____
if"0"<=ch<="9":
ans=③____
result+=code[ans[0:2]]+ ④____
if result!="":
print("编码结果为:",result)
else:
print("输入错误!")
【答案】 ①. CABABCAC ②. r=x%2 ③. ch=s[i] ④. dtob(int(ch)) ⑤. code[ans[2:]]或code[ans[2:4]]
【解析】
【详解】本题考查Python程序设计相关内容。
(1)“8462”转换为二进制字符串为:“1000 0100 0110 0010”,对照编码规则:'A':00、'B':01、'C':10、'D':11,则“8462”的编码为:CABABCAC。
(2)分析题意及代码段,可知:②处,需要将输入的x转换为二进制,采用除基取余可以转换二进制。故此处应填写:r=x%2。③处,要对字符串s中的每个字符进行处理,则此处ch应获得对应的字符,故此处填写:ch=s[i]。④处,当遇到数字字符时,需要调用dtob函数完成二进制转换,则此处应填写:dtob(int(ch))。⑤处,每个数字字符转换成4位二进制,分别对前后两位进行编码,code[ans[0:2]]完成对前两位的编码,则⑤处应完成后两位的编码,故此处填写:code[ans[2:]]或code[ans[2:4]]。
15. 最小覆盖子串。输入一个字符串s、一个字符串t,从左往右遍历字符串s,返回s中涵盖t所有字符的最小子串。如果s中存在多个最小子串,则输出第一次出现的子串,如果s中不存在涵盖t所有字符的子串,则输出“找不到覆盖子串”。
注意:对于t中重复字符,我们寻找的子字符串中该字符数量必须不少于t中该字符数量。
示例1:输入:s:ADOBECODEBANC
t:ABC
输出:BANC
实现上述功能的Python程序代码如下,请回答下列问题。
def count (t):
dic={}
for i in t:
if i in dic:
①____
else:
dic[i]=1
return dic
s=input("s: ")
t=input("t: ")
f=False
length=len(t)
dic_t=count (t)
while length<=len(s):
start=0
for i in range(start,len(s)):
temp= ②____
dic_temp=count (temp)
for i in dic_t:
if i not in dic_temp or ③____:
break
else:
print (temp)
f=True
break
if f==True:
break
else:
④____
if f=False:
print("找不到覆盖子串")
(1)请在程序划线处填入合适的语句。
(2)若s="ADOBECODEBANC",t="ABBC",则结果为____。
【答案】 ①. dic[i]+=1 ②. s[i:i+length] ③. dic_t[i]>dic_temp[i] ④. length+=1 ⑤. BECODEBA
【解析】
【详解】本题考查Python程序设计相关内容。
(1)分析题意及代码段,可知:①处,count函数统计t中每个字符的出现次数,对于字符串t,当dic中已存在相同字符时,其键值加1,即:dic[i]+=1,从未出现时,其键值设为1,即dic[i]=1。故此处应填写:dic[i]+=1。②处,判断s内是否覆盖t,每次应截取从start处开始,到length(t的长度)-1处的字符串,置入temp,用于后续for循环进行比对,故此处应填写:s[i:i+length]。③处,由“对于t中重复字符,我们寻找的子字符串中该字符数量必须不少于t中该字符数量”可知,如果子串中某个字符数量小于t中对应字符数量时,说明该子串并未覆盖t,需要进行下一轮操作,故此处应填写:dic_t[i]>dic_temp[i]。④处,如果是从字符串开始到结束,都找不到符合要求的子串,下一轮操作应在s串中截取更长的子串进行判断,每次可以增加1个,故此处应填写:length+=1。

展开更多......

收起↑

资源列表