浙江省A9协作体2023-2024学年高二上学期期中联考技术试题(Word版附解析)
展开
这是一份浙江省A9协作体2023-2024学年高二上学期期中联考技术试题(Word版附解析),共11页。试卷主要包含了考试结束后,只需上交答题卷等内容,欢迎下载使用。
高二技术试题
考生须知:
1.本卷满分100分,考试时间90分钟;
2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字;
3.所有答案必须写在答题卷上,写在试卷上无效;
4.考试结束后,只需上交答题卷。
第一部分:信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。在每小题给出的四个选项中,只有一个符合题目要求)
1. 下列关于数据的说法,不正确的是( )
A. 数据的表现形式只能是数字
B 可以通过网络爬虫、传感器等方式自动采集数据
C. 计算机数据的管理经历了人工管理、文件管理、数据库管理三个阶段
D. 对数据进行加密可以提高数据的安全性
【答案】A
【解析】
【详解】本题考查数据相关内容。数据的表现形式多样化,可以是文字、数字、声音、图像等,A选项错误;可以采用网络爬虫、传感器等方式自动采集数据,B选项正确;计算机数据的管理经历了人工管理、文件管理、数据库管理三个阶段,正确;数据加密可以提高数据安全性,D选项正确。故本题答案是A选项。
2. 下列关于编码的说法,正确的是( )
A. 计算机中的汉字也是采用二进制进行编码的
B. 模拟信号是以离散的、不连续的物理量形式存在的
C. 将模拟声音数字化需要经过采样、量化、编码三个过程,该过程为数模转换
D. 对某段声音进行数字化,量化值的范围是0-256,则量化位数最少是8 位
【答案】A
【解析】
【详解】本题考查数字化相关内容。计算机中的数据均采用二进制编码,A选项正确;模拟信号是指随时间变化的连续信号,可以采用连续的值来表示信号的强度、频率、相位等特征,B选项错误;声音信号的数字化需要三个步骤:采样、量化和编码, 把声音模拟信号转换成数字信号的过程称为模/数转换,C选项错误;量化值的范围是0~256,则量化位数最少是9位,D选项错误;故本题答案是A选项。
3. 已知n是一个6位二进制数1■11■1,其中有两位数字模糊不清。下列数中,可能与它相等的是( )
A. 49DB. 64DC. 2DHD. 3CH
【答案】C
【解析】
【详解】本题考查二进制相关内容。二进制每位取值范围是:0、1。故该6位二进制可能为:101101(对应十进制:45D,十六进制:2DH)、101111(对应十进制:47D,十六进制:2FH)、111101(对应十进制:61D,十六进制:3DH)、111111(对应十进制:63D,十六进制:3FH)。故本题答案是C选项。
4. 下列关于大数据的说法,正确的是( )
A. 分析数据时更注重事物因果关系
B. 大数据要分析的是全体数据,而不是抽样数据
C. 数据产生的速度快,但处理的速度慢
D. 大数据蕴含的价值巨大,价值密度高
【答案】B
【解析】
【详解】本题考查的是大数据相关知识。大数据不再强调对事物因果关系的探求,而是更加注重它们的相关性,选项A说法错误;大数据要分析的是全体数据,而不是抽样数据,选项B说法正确;数据产生的速度快,处理的速度也快,选项C说法错误;数据的特征:体量大,速度快,数据类型多,价值密度低,选项D说法错误,故本题应选B。
5. 某算法的部分流程图如图所示,执行这部分后,下列说法不正确的是( )
A. a的值为9
B. b的值为17
C. 循环条件b c:
maxn = a
elif b > a and b > c:
maxn = b
elif c > a and c > b:
maxn = c
print("a,b,c的最大值为:", maxn)
执行该程序段,输入下列4组测试数据,无法正确输出a、b、c的最大值的是( )
A. 10,20,30B. 20,30,10C. 30,10,10D. 10,10,10
【答案】D
【解析】
【详解】本题考查的是Pythn程序调试。阅读程序,可知当a、b、c三个数相等的时候,三个判断条件都不满足,找不到最大值,故本题应选D。
10. 下面pythn循环体执行的次数与其他不同的是( )
A. B. C. D.
【答案】A
【解析】
【详解】本题考查Pythn程序设计fr循环相关内容。A选项,i由0递增到10,循环体共执行11次;B选项,i由10递减到1,循环体执行10次;C选项,i由0递增到9,循环体执行10次;D选项,i由10递减到1,循环体执行10次。故本题答案是A选项。
11. 计算两数的最小公倍数算法如下:
a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
k = 2
Lcd = 1
while a != 1 r b != 1:
if a % k == 0 r b % k == 0:
if :
a = a // k
if :
b = b // k
else:
print("最小公倍数为:", Lcd)
方框中的代码由以下四部分组成:
①Lcd = Lcd * k ②k = k + 1 ③b % k == 0 ④a % k == 0
则(1)(2)(3)(4)处代码顺序依次为( )
A. ③④②①B. ③④①②C. ④③②①D. ④③①②
【答案】D
【解析】
【详解】本题考查的是Pythn循环语句。分析程序可知,采用的是分解质因数法来求最小公倍数。如果k是a的质因数,求下一个质因数前,则要将执行a // k;如果k是b的质因数,求下一个质因数前,则要将执行b // k;相同的质因数只取1个,各自独有的质因数全部乘上,得出的值就是最小公倍数,故(1)(2)(3)依次为④a % k == 0③b % k == 0①Lcd = Lcd * k,逐个验证是否为a、b质因数,故(4)处代码为 ②k = k + 1。选项D正确。
12. 有如下Pythn程序段:
imprt randm
a=[0,0,0,0,0,0]
fr i in range(6):
x = randm.randint(1, 10)
if i % 2 == 0:
a[i] = 2 * x + 1
elif x % 2 == 0:
a[i] = x // 2
else:
a[i] = x - 1
执行该程序段后,a[0]~a[5]各元素可能的值是( )
A. 3,3,9,0,19,8B. 5,0,9,4,13,10
C. 9,3,11,5,17,7D. 3,2,7,4,22,6
【答案】A
【解析】
【详解】本题考查的是Pythn循环及选择语句。x = randm.randint(1, 10)生成1~10的随机整数,阅读程序可知列表a中索引为0、2、4为奇数且值在3~21,故选项D不可能(a[4]=22>21);列表a中索引为1、3、5的值在0~9,故选项B不可能(a[5]=10>9);选项C中a[5]=7,倒推x的值可能是8(执行 a[i] = x - 1后得到7),8是偶数不是奇数不可能执行 a[i] = x - 1,那么x的值可能是14(执行 a[i] = x // 2后得到7),这与x的取值范围1~10相矛盾,故也不能执行 a[i] = x // 2,既a[5]不可能是7,选项C不可能,排除BCD,本题应选A。
二、非选择题(本大题共3小题,其中第13小题8分,第14小题10分,第15小题8分,共26分)
13. 寻找素单词。素数是指大于 1 的自然数中,除了1和它本身以外不再有其他因数的自然数。例如,2,3,5,7等是素数。本题输入一个单词,每个单词由小写字母组成。每个字母对应一个特定的值,字母a对应1,字母 b对应2,以此类推,字母z对应26。如果这个单词的字母值的总和是素数,则这个单词是素单词( prime wrd)。请编写程序,判定一个单词是否为素单词。
(1)实现上述功能的部分 Pythn程序如下,请在划线处填入合适的代码。
def isprime(n): #判断n是不是素数
fr i in range():
if n%i==0:
①______
else:
return True
def strsum(wrd): #统计单词的字母值总和
dic={"a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9,"j":10,
"k":11,"l":12,"m":13,"n":14,"":15,"p":16,"q":17,"r":18,"s":19,
"t":20,"u":21,"v":22,"w":23,"x":24,"y":25,"z":26}
n=0
fr ch in wrd:
②_______________
return n
wrd=input("请输入一个单词:")
s=strsum(wrd)
③_________
if flag:
print("这是一个素单词")
else:
print("这不是一个素单词")
(2)下列选项中不可以填入加框处的代码是______(单选,填字母)。
A.2,n B.2,n+1 C.2,int(n**0.5)+1 D.2,n//2+1
【答案】 ①. return False ②. n+=dic[ch] 或 n+=rd(c)-rd('a') + 1或 n=n+rd(c)-96 ③. flag=isprime(s) ④. B
【解析】
【详解】本题考查Pythn程序设计相关内容。
(1)①处,isprime函数作用是判断n是否为素数,分析该函数代码,可知,除了1和n能把n整除外,若还有数i能把n整除,则n不是素数,即n%i==0成立时,n不是素数,此时应返回结果:False。故此处填写:return False。②处,结合上下文分析,此处应计算单词中字母特定值之和,故此处应填写:n+=dic[ch] 或 n+=rd(c)-rd('a') + 1或 n=n+rd(c)-96。③处,此处上文代码已计算出字母特定值之和,下文是依据flag值输出相应信息,故此处需要判断该数值是否为素数,此处应填写:flag=isprime(s)。
(2)④判断一个数n是否为素数的方法有:(1)在[2,n-1]范围内,逐个与n进行取余运算,如能整除,说明n不是素数。(2)在[2,int(n**0.5)]范围内,逐个与n进行取余运算,如能整除,说明n不是素数。(3)在[2,n//2]范围内,逐个与n进行取余运算,如能整除,说明n不是素数。分析ABCD4个选项,ACD选项符合取值范围,能得出正确结论,而B选项,取值范围错误,[2,n+1]范围内包含了n,不能准确判断素数,错误。故本题答案是B选项。
14. 用1~26的二进制值对大写英文字母A~Z进行编码,编码如下表所示:
小明使用该编码对由大写字母组成的明文字符串进行加密,加密算法如下:
依次将明文中每个字符转换为其对应的二进制编码;
依次将密钥中每个字符转换为其对应的二进制编码;
依次取出密钥的每个二进制位与原文的二进制位进行异或运算(若密钥长度不够,则循环重复使用),得到的结果即为密文编码;
二进制位异或运算原则:
例如,明文:HELLO,密钥:ZHE,则按上述方式进行加密:
(1)若原文为“HUI”,密钥为“TZ”,则密文编码为____。
(2)实现上述功能的部分 Pythn程序如下,请在划线处填入合适的代码。
def ctb(c): # 将一个字符转换为其对应的5位二进制编码
n =①____
ans = ""
fr i in range(5):
r =②____
n = n // 2
ans = str(r) + ans
return ans
def xr(s1, s2): # 将二进制数s1和s2进行异或运算
ans = ""
fr i in range(len(s1)):
if③____:
ans += "0"
else:
ans += "1"
return ans
s = input("请输入明文(大写字母):")
key = input("请输入密钥(大写字母):")
ans = ""
fr i in range(len(s)):
s1 = ctb(s[i])
k =④____
s2 = ctb(key[k])
b = xr(s1, s2)
ans = ans + b
print("密文编码为:", ans)
【答案】 ① 11100 01111 11101 ②. rd(c) - rd('A') + 1 ③. n%2 ④. s1[i] == s2[i] ⑤. i % len(key)
【解析】
【详解】本题考查字符编码相关内容。
(1)H明文:01000,U明文:10101,I明文:01001,T明文:10100,Z明文:11010,加密过程如图所示: 故“HUI”的密文编码为:11100 01111 11101。
(2)大写字母A的ASCII码值为:65,在本题中,其编码为:00001,由题目中“用1~26的二进制值对大写英文字母A~Z进行编码”可知,大写字母需要转换成1-26的数值,方法是将要编码的大写字母ASCII码值-大写字母A的ASCII码值+1,即可转换为1-26,然后再转换为对应的5位二进制编码,故②处应填写:rd(c) - rd('A') + 1。
③处所在fr循环的作用是将大写字母转换后的十进制数值n再转换为5位二进制编码,采用的是十进制转换成二进制的除基取余法,故此处应填写:n%2;
④处所在循环功能是将明文编码与密钥编码进行异或运算,当对应二进制位值相同时,结果为0,不相同,结果为1,并且将相应值进行连接成密文编码。故此处应填写:s1[i] == s2[i]。
⑤处,分析此处代码上下文及题中:密钥长度不够,则循环重复使用,可知,密钥长度不一定与明文长度相等,需要循环使用,此处运算即为保证密钥循环使用,取余运算i % len(key)可以使得密钥长度不够时,再从第一个开始,循环使用。故此处应填写:i % len(key)。
15. 有n个从小到大排列的整数依次存储在列表nums中,现要求将上述n个数的平方按从小到大的顺序依次存入列表ans中。如nums = [-4,-1,0,3,10],则ans = [0,1,9,16,100]。
(1)实现上述功能的部分 Pythn程序如下,请在划线处填入合适的代码。
# 输入n个数从小到大依次存储到列表nums中,代码略
k = -1
fr i in range(n):
if nums[i] < 0:
k = i
else:
break
ans = []
i, j = k, k + 1
while i >= 0 r j < n:
if i < 0:
ans.append( ①____)
j += 1
elif j==n:
ans.append(nums[i] * nums[i])
②____
elif ③____:
ans.append(nums[i] * nums[i])
i -= 1
else:
ans.append(nums[j] * nums[j])
j += 1
print(ans)
(2)若输入nums的数据为[-4,1,4],则输出ans的值为____。
【答案】 ①. nums[j] * nums[j] 或 nums[j]**2 ②. i-=1 ③. nums[i] * nums[i] < nums[j] * nums[j] 或 nums[i]**2 < nums[j]**2 ④. [1,16,16]
【解析】
【详解】本题考查Pythn程序设计相关内容。
(1)i的初值是标识最后一个负数的位置,j的初值是标识第一个非负数的位置。①处,若i>0,说明序列中有负数,若i=0且j==n,说明原序列中的非负数平方值较小,均已纳入ans,此时需要将i位置的负数的平方纳入ans,然后i再-1,去判断是否还有负数。故此处应填写:i-=1。③处,若i>=0且j
相关试卷
这是一份浙江省台州市山海协作体2023-2024学年高二上学期期中联考技术试题(Word版附解析),共11页。试卷主要包含了考试结束后,只需上交答题纸,5折优惠计价;等内容,欢迎下载使用。
这是一份浙江省天域全国名校协作体2024届高三上学期联考技术试题(Word版附解析),共13页。试卷主要包含了考试结束后,只需上交答题纸, 国家发改委提出的“新基建”, 利用栈求逆波兰表达式等内容,欢迎下载使用。
这是一份浙江省浙南名校联盟2023-2024学年高二上学期期中联考技术试题(Word版附解析),共12页。试卷主要包含了考试结束后,只需上交答题纸等内容,欢迎下载使用。