资源简介 绝密★考试结束前浙江省A9协作体2023学年第一学期期中联考高二技术试题考生须知: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. 49D B. 64D C. 2DH D. 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的值为9B. b的值为17C. 循环条件b<=15?共判断4次D. 当第3次判断循环条件b<=15?时,b的值为9【答案】C【解析】【详解】本题考查算法流程图相关内容。分析流程图可知,循环体内,a值每次递增2,即3、5、7、9...,b的值随a的变化而变化(b=2*a-1),b的值为:5、9、13、17...。当b的值为17时,循环条件不满足,结束循环。此时,a的值为9,b的值为17,A、B选项正确。对于循环条件,当b=0时,第一次执行,当b=17时,最后一次执行,共执行了5次,选项C错误。第三次判断循环条件时,b的值为9,D选项正确。故本题答案是C选项。6. 在Python中,判断a不等于0且b不等于0的条件表达式是( )A. not a == 0 or not b == 0 B. not (a == 0 or b == 0)C. not(a == 0 and b == 0) D. a != 0 or b != 0【答案】B【解析】【详解】本题考查Python运算符与表达式相关内容。A选项,not a == 0 or not b == 0即为:a!=0 or b!=0,不符合题意;B选项,not (a == 0 or b == 0)即为a!=0 and b!=0,符合题意;C选项,not(a == 0 and b == 0)即为:a!=0 or b!=0,不符合题意;D选项,a != 0 or b != 0不符合题意。故本题答案是B选项。7. 在Python中,下列能作为变量名的是( )A. a/b B. 2two C. a_b D. for【答案】C【解析】【详解】本题考查Python变量相关内容。变量的命名要符合标识符规定,即:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。A选项, 有特殊符号‘/’,错误;B选项,数字开头,错误;C选项,符合标识符规定,正确;D选项,for为关键字,错误。故本题答案是C选项。8. Python表达式7%2**3+abs(19//2-10)*len("123")值是( )A 2 B. 4 C. 8 D. 10【答案】D【解析】【详解】本题考查Python运算符与表达式相关内容。在Python中,指数运算符(**)是最高优先级的运算符。7%2**3=7%8=7,abs(19//2-10)=1,len("123")=3,最终结果:7+1*3=10。故本题答案是D选项。9. 有如下Python程序段:# 输入3个整数分别存储到变量a、b、c中,代码略if a > b and a > c:maxn = aelif b > a and b > c:maxn = belif c > a and c > b:maxn = cprint("a,b,c的最大值为:", maxn)执行该程序段,输入下列4组测试数据,无法正确输出a、b、c的最大值的是( )A. 10,20,30 B. 20,30,10 C. 30,10,10 D. 10,10,10【答案】D【解析】【详解】本题考查的是Python程序调试。阅读程序,可知当a、b、c三个数相等的时候,三个判断条件都不满足,找不到最大值,故本题应选D。10. 下面python循环体执行的次数与其他不同的是( )A. B. C. D.【答案】A【解析】【详解】本题考查Python程序设计for循环相关内容。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 = 2Lcd = 1while a != 1 or b != 1:if a % k == 0 or b % k == 0:if :a = a // kif :b = b // kelse:print("最小公倍数为:", Lcd)方框中的代码由以下四部分组成:①Lcd = Lcd * k ②k = k + 1 ③b % k == 0 ④a % k == 0则(1)(2)(3)(4)处代码顺序依次为( )A. ③④②① B. ③④①② C. ④③②① D. ④③①②【答案】D【解析】【详解】本题考查的是Python循环语句。分析程序可知,采用的是分解质因数法来求最小公倍数。如果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. 有如下Python程序段:import randoma=[0,0,0,0,0,0]for i in range(6): x = random.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,8 B. 5,0,9,4,13,10C. 9,3,11,5,17,7 D. 3,2,7,4,22,6【答案】A【解析】【详解】本题考查的是Python循环及选择语句。x = random.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 word)。请编写程序,判定一个单词是否为素单词。(1)实现上述功能的部分 Python程序如下,请在划线处填入合适的代码。def isprime(n): #判断n是不是素数for i in range():if n%i==0:①______else:return Truedef strsum(word): #统计单词的字母值总和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,"o":15,"p":16,"q":17,"r":18,"s":19,"t":20,"u":21,"v":22,"w":23,"x":24,"y":25,"z":26}n=0for ch in word:②_______________return nword=input("请输入一个单词:")s=strsum(word)③_________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+=ord(c)-ord('a') + 1或 n=n+ord(c)-96 ③. flag=isprime(s) ④. B【解析】【详解】本题考查Python程序设计相关内容。(1)①处,isprime函数作用是判断n是否为素数,分析该函数代码,可知,除了1和n能把n整除外,若还有数i能把n整除,则n不是素数,即n%i==0成立时,n不是素数,此时应返回结果:False。故此处填写:return False。②处,结合上下文分析,此处应计算单词中字母特定值之和,故此处应填写:n+=dic[ch] 或 n+=ord(c)-ord('a') + 1或 n=n+ord(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进行编码,编码如下表所示:A 00001 B 00010 C 00011 D 00100 E 00101 F 00110 G 00111H 01000 I 01001 J 01010 K 01011 L 01100 M 01101 N 01110O 01111 P 10000 Q 10001 R 10010 S 10011 T 10100 U 10101V 10110 W 10111 X 11000 Y 11001 Z 11010小明使用该编码对由大写字母组成的明文字符串进行加密,加密算法如下: 依次将明文中每个字符转换为其对应的二进制编码; 依次将密钥中每个字符转换为其对应的二进制编码; 依次取出密钥的每个二进制位与原文的二进制位进行异或运算(若密钥长度不够,则循环重复使用),得到的结果即为密文编码; 二进制位异或运算原则:例如,明文:HELLO,密钥:ZHE,则按上述方式进行加密:明文字符 H E L L O密钥字符 Z H E Z H明文编码 01000 00101 01100 01100 01111密钥编码 11010 01000 00101 11010 01000密文编码 10010 01101 01001 10110 00111(1)若原文为“HUI”,密钥为“TZ”,则密文编码为____。(2)实现上述功能的部分 Python程序如下,请在划线处填入合适的代码。def ctob(c): # 将一个字符转换为其对应的5位二进制编码 n =①____ ans = "" for i in range(5): r =②____ n = n // 2 ans = str(r) + ans return ansdef xor(s1, s2): # 将二进制数s1和s2进行异或运算 ans = "" for i in range(len(s1)): if③____: ans += "0" else: ans += "1" return anss = input("请输入明文(大写字母):")key = input("请输入密钥(大写字母):")ans = ""for i in range(len(s)): s1 = ctob(s[i]) k =④____ s2 = ctob(key[k]) b = xor(s1, s2) ans = ans + bprint("密文编码为:", ans)【答案】 ① 11100 01111 11101 ②. ord(c) - ord('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位二进制编码,故②处应填写:ord(c) - ord('A') + 1。③处所在for循环的作用是将大写字母转换后的十进制数值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)实现上述功能的部分 Python程序如下,请在划线处填入合适的代码。# 输入n个数从小到大依次存储到列表nums中,代码略k = -1for i in range(n):if nums[i] < 0:k = ielse:breakans = []i, j = k, k + 1while i >= 0 or j < n:if i < 0:ans.append( ①____)j += 1elif j==n:ans.append(nums[i] * nums[i])②____elif ③____:ans.append(nums[i] * nums[i])i -= 1else:ans.append(nums[j] * nums[j])j += 1print(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]【解析】【详解】本题考查Python程序设计相关内容。(1)i的初值是标识最后一个负数的位置,j的初值是标识第一个非负数的位置。①处,若i>0,说明序列中有负数,若i<0,说明序列中没有负数,可以将j位置的数转换为平方数后纳入ans,故此处应填写:nums[j] * nums[j]或 nums[j]**2。②处,若i>=0且j==n,说明原序列中的非负数平方值较小,均已纳入ans,此时需要将i位置的负数的平方纳入ans,然后i再-1,去判断是否还有负数。故此处应填写:i-=1。③处,若i>=0且j(2)④处,输入nums的数据为[-4,1,4]后,执行代码段,对应元素平方值为16,1,16,按照由小到大排序为:1,16,16。故此处应填写[1,16,16]。绝密★考试结束前浙江省A9协作体2023学年第一学期期中联考高二技术试题考生须知:1.本卷满分100分,考试时间90分钟;2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字;3.所有答案必须写在答题卷上,写在试卷上无效;4.考试结束后,只需上交答题卷。第一部分:信息技术(共50分)一、选择题(本大题共12小题,每小题2分,共24分。在每小题给出的四个选项中,只有一个符合题目要求)1. 下列关于数据的说法,不正确的是( )A. 数据表现形式只能是数字B. 可以通过网络爬虫、传感器等方式自动采集数据C. 计算机数据的管理经历了人工管理、文件管理、数据库管理三个阶段D. 对数据进行加密可以提高数据的安全性2. 下列关于编码的说法,正确的是( )A. 计算机中的汉字也是采用二进制进行编码的B. 模拟信号是以离散的、不连续的物理量形式存在的C. 将模拟声音数字化需要经过采样、量化、编码三个过程,该过程为数模转换D. 对某段声音进行数字化,量化值的范围是0-256,则量化位数最少是8 位3. 已知n是一个6位二进制数1■11■1,其中有两位数字模糊不清。下列数中,可能与它相等的是( )A. 49D B. 64D C. 2DH D. 3CH4. 下列关于大数据的说法,正确的是( )A. 分析数据时更注重事物的因果关系B. 大数据要分析的是全体数据,而不是抽样数据C. 数据产生的速度快,但处理的速度慢D. 大数据蕴含的价值巨大,价值密度高5. 某算法的部分流程图如图所示,执行这部分后,下列说法不正确的是( )A. a的值为9B. b的值为17C. 循环条件b<=15?共判断4次D. 当第3次判断循环条件b<=15?时,b的值为96. 在Python中,判断a不等于0且b不等于0的条件表达式是( )A. not a == 0 or not b == 0 B. not (a == 0 or b == 0)C. not(a == 0 and b == 0) D. a != 0 or b != 07. 在Python中,下列能作为变量名的是( )A. a/b B. 2two C. a_b D. for8. Python表达式7%2**3+abs(19//2-10)*len("123")值是( )A 2 B. 4 C. 8 D. 109. 有如下Python程序段:# 输入3个整数分别存储到变量a、b、c中,代码略if a > b and a > c:maxn = aelif b > a and b > c:maxn = belif c > a and c > b:maxn = cprint("a,b,c的最大值为:", maxn)执行该程序段,输入下列4组测试数据,无法正确输出a、b、c的最大值的是( )A. 10,20,30 B. 20,30,10 C. 30,10,10 D. 10,10,1010. 下面python循环体执行的次数与其他不同的是( )A. B. C. D.11. 计算两数的最小公倍数算法如下:a = int(input("请输入第一个数:"))b = int(input("请输入第二个数:"))k = 2Lcd = 1while a != 1 or b != 1:if a % k == 0 or b % k == 0:if :a = a // kif :b = b // kelse:print("最小公倍数为:", Lcd)方框中的代码由以下四部分组成:①Lcd = Lcd * k ②k = k + 1 ③b % k == 0 ④a % k == 0则(1)(2)(3)(4)处代码顺序依次为( )A. ③④②① B. ③④①② C. ④③②① D. ④③①②12. 有如下Python程序段:import randoma=[0,0,0,0,0,0]for i in range(6): x = random.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,8 B. 5,0,9,4,13,10C. 9,3,11,5,17,7 D. 3,2,7,4,22,6二、非选择题(本大题共3小题,其中第13小题8分,第14小题10分,第15小题8分,共26分)13. 寻找素单词。素数是指大于 1 的自然数中,除了1和它本身以外不再有其他因数的自然数。例如,2,3,5,7等是素数。本题输入一个单词,每个单词由小写字母组成。每个字母对应一个特定的值,字母a对应1,字母 b对应2,以此类推,字母z对应26。如果这个单词的字母值的总和是素数,则这个单词是素单词( prime word)。请编写程序,判定一个单词是否为素单词。(1)实现上述功能的部分 Python程序如下,请在划线处填入合适的代码。def isprime(n): #判断n是不是素数for i in range():if n%i==0:①______else:return Truedef strsum(word): #统计单词的字母值总和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,"o":15,"p":16,"q":17,"r":18,"s":19,"t":20,"u":21,"v":22,"w":23,"x":24,"y":25,"z":26}n=0for ch in word:②_______________return nword=input("请输入一个单词:")s=strsum(word)③_________if flag:print("这是一个素单词")else:print("这不是一个素单词")(2)下列选项中不可以填入加框处的代码是______(单选,填字母)。A.2n B.2,n+1 C.2,int(n**0.5)+1 D.2,n//2+114. 用1~26的二进制值对大写英文字母A~Z进行编码,编码如下表所示:A 00001 B 00010 C 00011 D 00100 E 00101 F 00110 G 00111H 01000 I 01001 J 01010 K 01011 L 01100 M 01101 N 01110O 01111 P 10000 Q 10001 R 10010 S 10011 T 10100 U 10101V 10110 W 10111 X 11000 Y 11001 Z 11010小明使用该编码对由大写字母组成的明文字符串进行加密,加密算法如下: 依次将明文中每个字符转换为其对应的二进制编码; 依次将密钥中每个字符转换为其对应的二进制编码; 依次取出密钥的每个二进制位与原文的二进制位进行异或运算(若密钥长度不够,则循环重复使用),得到的结果即为密文编码; 二进制位异或运算原则:例如,明文:HELLO,密钥:ZHE,则按上述方式进行加密:明文字符 H E L L O密钥字符 Z H E Z H明文编码 01000 00101 01100 01100 01111密钥编码 11010 01000 00101 11010 01000密文编码 10010 01101 01001 10110 00111(1)若原文为“HUI”,密钥为“TZ”,则密文编码为____。(2)实现上述功能的部分 Python程序如下,请在划线处填入合适的代码。def ctob(c): # 将一个字符转换为其对应的5位二进制编码 n =①____ ans = "" for i in range(5): r =②____ n = n // 2 ans = str(r) + ans return ansdef xor(s1, s2): # 将二进制数s1和s2进行异或运算 ans = "" for i in range(len(s1)): if③____: ans += "0" else: ans += "1" return anss = input("请输入明文(大写字母):")key = input("请输入密钥(大写字母):")ans = ""for i in range(len(s)): s1 = ctob(s[i]) k =④____ s2 = ctob(key[k]) b = xor(s1, s2) ans = ans + bprint("密文编码为:", ans)15. 有n个从小到大排列的整数依次存储在列表nums中,现要求将上述n个数的平方按从小到大的顺序依次存入列表ans中。如nums = [-4,-1,0,3,10],则ans = [0,1,9,16,100]。(1)实现上述功能的部分 Python程序如下,请在划线处填入合适的代码。# 输入n个数从小到大依次存储到列表nums中,代码略k = -1for i in range(n):if nums[i] < 0:k = ielse:breakans = []i j = k, k + 1while i >= 0 or j < n:if i < 0:ans.append( ①____)j += 1elif j==n:ans.append(nums[i] * nums[i])②____elif ③____:ans.append(nums[i] * nums[i])i -= 1else:ans.append(nums[j] * nums[j])j += 1print(ans)(2)若输入nums的数据为[-4,1,4],则输出ans的值为____。 展开更多...... 收起↑ 资源列表 浙江省A9协作体2023-2024学年高二上学期期中联考技术试题 Word版含解析.docx 浙江省A9协作体2023-2024学年高二上学期期中联考技术试题(原卷版).docx