内容正文:
杭十四中二〇二四学年第一学期阶段性测试
高一年级技术学科期末试卷
试卷说明:
1.考试时间:1月17日(周五)10:50-11:50,共60分钟。
2.全卷共7页。满分100分。
3.答题前,务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上。
4.选择题的答案须用2B铅笔将答题纸上对应题目的答案标号涂黑,如要改动,须将原填涂处用橡皮擦净。
5.非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后须用黑色字迹的签字笔或钢笔描黑,答案写在本试题卷上无效。
一、选择题(本大题共20小题,每小题3分,共60分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)
1. 2024年10月,杭州第十四中学教育集团全体师生6000多人齐聚康桥校区,隆重举行第五十四届田径运动会。集团凤起、康桥校区,青山湖学校各班围绕“爱校”、“强国”、“运动”三大主题,踩着铿锵有力的步伐,昂首阔步地依次入场,精练精彩、创意无限,体现着各班的团队合作精神和优良的班级风貌。小明作为学生会记者,拍摄了许多照片。以下格式不可能为照片的是( )
A. PNG B. JPEG C. GIF D. WMA
【答案】D
【解析】
【详解】本题考查的是文件类型。PNG、JPEG、GIF均为常见的图像文件格式。WMA是音频文件格式(Windows Media Audio),用于存储音频而非图像。故选D。
2. 2024年10月,杭州第十四中学教育集团全体师生6000多人齐聚康桥校区,隆重举行第五十四届田径运动会。集团凤起、康桥校区,青山湖学校各班围绕“爱校”、“强国”、“运动”三大主题,踩着铿锵有力的步伐,昂首阔步地依次入场,精练精彩、创意无限,体现着各班的团队合作精神和优良的班级风貌。小明准备将拍摄的照片导入电脑,其中一张BMP格式的照片尺寸如图所示,已知该照片占用的存储空间约为4MB,则该照片的颜色位深度为( )
A. 24 B. 8 C. 16 D. 4
【答案】A
【解析】
【详解】本题主要考查图像编码。图像文件容量=像素*颜色位深度/8,由题干可知,则该图片的颜色深度是4*1024*1024*8/(1365*1024)≈24位。故选A。
3. 2024年10月,杭州第十四中学教育集团全体师生6000多人齐聚康桥校区,隆重举行第五十四届田径运动会。集团凤起、康桥校区,青山湖学校各班围绕“爱校”、“强国”、“运动”三大主题,踩着铿锵有力的步伐,昂首阔步地依次入场,精练精彩、创意无限,体现着各班的团队合作精神和优良的班级风貌。小明使用UltraEdit软件观察字符,下列说法正确的是( )
A. 字符"10"的十进制编码是01 30H B. 该内容中共有3个ASCII编码
C. 字符“油”十六进制内码为D3 D3 D. 由图可知,计算机用十六进制存储信息
【答案】B
【解析】
【详解】本题考查的是编码。字符“10”的十进制编码是31 30H;ASCII编码内码不大于7F,由图可知一共有3个;由图中可知字符“油”的十六进制内码为D3 CD;计算机内部存储信息时,通常使用二进制,但为了方便人类阅读,常常以十六进制表示。故选B。
4. 已知某进制的等式满足:46+25=104和32+15=50,则下列说法正确的是( )
A. 该进制数有6个数码
B 该进制数满足等式17+21=41
C. 等式46+25=104的计算结果104,转换为十进制数为53
D. 等式32+15=50的计算结果50,转换为二进制数为110010
【答案】C
【解析】
【详解】本题考查的是进制数。假设该进制为 n 进制,通过等式 32 + 15 = 50。分析:32(n进制)转换为十进制为 3�� + 2 ,15 为1�� + 5 ,50 为 5�� + 0 。 等式变为:3�� + 2 + �� + 5 = 5�� → 4�� + 7 = 5�� → �� = 7 (七进制)。A:七进制数码为 0-6(共7个),错误。B:17(七进制)中的数码“7”不合法,等式不成立,错误。C:104(七进制)转换为十进制为 53,正确。D:50(七进制)→ 十进制为5 × 7 = 35 ,二进制为 100011,而非 110010,错误。故选C。
5. 下列关于编码的说法,正确的是( )
A. 可以利用扫描仪、照相机、手机等采集设备对信息进行数字化
B. 将模拟信号转换成数字信号,只需要过采样编码两个过程
C. 汉字的输入码唯一
D. 在电脑中播放音频属于模数转换
【答案】A
【解析】
【详解】本题考查的是编码。选项A正确,扫描仪、照相机、手机等设备通过传感器将光信号等模拟信息转换为数字信号(如JPEG、PNG等格式),实现了信息的数字化。选项B错误,模拟信号转换为数字信号需经过采样、量化、编码三个步骤,而非仅采样和编码。量化是将采样的连续值转为离散数值的关键环节。选项C错误,汉字输入码不唯一,如拼音输入法(如“hao”对应“好”)和五笔输入法(如“VB”对应“好”)的输入码不同。选项D错误,电脑播放音频时需将数字信号转为模拟信号(数模转换,D/A),而模数转换(A/D)用于录音等场景。故选A。
6. 小明在高一上学习了计算机硬件的相关知识,对此非常感兴趣。回家后,小明查看了家里的计算机配置,具体内容如下:
硬件配置
预装软件
显示器:1920×1080
CPU:四核1.80GHz
硬盘:1TB
内存:8GB
操作系统:Windows10
办公软件:WPS
聊天软件:微信、QQ
下列关于该计算机硬件的说法,正确的是( )
A. 该计算机有4个CPU
B. 计算机断电后,内存中数据会消失
C. 可直接在该计算机上安装mac0S 32-bit Intel installer版本的Python
D. 硬盘主要包含RAM和ROM
【答案】B
【解析】
【详解】本题考查的是计算机硬件。选项A:错误。四核CPU表示一个CPU内部有四个处理核心,并非有四个独立的CPU。选项B:正确。内存(RAM)是易失性存储器,断电后数据会丢失。选项C:错误。macOS软件需运行在苹果系统上,Windows无法直接安装macOS版本的Python。选项D:错误。硬盘属于外部存储设备,而RAM(内存)和ROM(如BIOS芯片)是独立部件,硬盘不包含它们。故选B。
7. 某算法流程图如图所示,以下说法正确的是( )
A. 若判断条件改为“i<6?”,结果不变
B. 执行该流程后,变量k的值为1
C. 变量c的值为7
D. 语句“i+=2”执行了6次
【答案】A
【解析】
【详解】本题考查的是流程图识读。初始i=1,k=1,c=0。
第一遍循环,c=c+k*(2*i-1)=1,k=-1,i=i+2=3;
第二遍循环,c=c+k*(2*i-1)=-4,k=1,i=i+2=5;
第三遍循环,c=c+k*(2*i-1)=5,k=-1,i=i+2=7;
第四遍循环,不满足i<7,退出循环,该流程执行后,变量 k 的值为 -1,语句“i+=2”执行了3次,变量 c 的值为 5。若判断条件改为i<6,循环次数不变,结果不会变。故选A。
8. 某算法流程图如图所示,其对应的Python程序为( )
A.
B.
C.
D.
s=0
for i in range(1,101):
if i%5==0:
s=s+i
else:
i+=2
print(s)
s=0
for i in range(1,101):
if i%5==0:
s=s+1
i+=2
print(s)
s=0
i=1
while i<=100:
if i%5==0;
s=s+i
else:
i+=2
print(s)
s=0
i=1
while i<=100:
if i%5==0:
s=s+i
i+=2
print(s)
A. A B. B C. C D. D
【答案】D
【解析】
【详解】本题考查循环结构的程序实现。分析流程图:初始化 i = 1,s = 0;循环条件 i <= 100,每次循环内先判断 i % 5 == 0,若是则 s = s + i,然后无论是否满足条件,都执行 i = i + 2。A 选项:for i in range(1, 101) 中 i 每次递增 1,与流程图中 i 每次递增 2 不符,错误。 B 选项:for 循环中 i 每次递增 1,且 s = s + 1 与流程图中 s = s + i 不符,错误。 C 选项:else 块将 i += 2 限制在 i % 5 != 0 时执行,而流程图中无论 i % 5 是否为 0,都要执行 i += 2,错误。 D 选项:while 循环中,先判断 i % 5 == 0 决定是否执行 s = s + i,然后无条件执行 i += 2,与流程图逻辑一致,正确。因此,本题选择 D 选项。
9. 下列Python表达式的值为整数8的是( )
A. len("2025新年快乐!") B. int("5"+"3")
C. 2**2+12%13//3 D. str(abs(-4*2))
【答案】C
【解析】
【详解】本题考查的是python表达式。选项A:len("2025新年快乐!")中字符串包含4个数字(“2025”)和5个汉字/符号(“新年快乐!”),总长度为9,结果为9,排除。选项B:int("5"+"3")拼接后得到字符串"53",转换为整数结果为53,排除。选项C:2**2 + 12%13//3 ,2**2计算幂运算得到4;12%13结果为12(余数),再12//3得到4; 最终4+4=8,结果为整数8,正确。选项D:str(abs(-4*2))计算得到字符串"8",非整数类型,排除。故选C。
10. 若n是大于1的自然数,则下列Python表达式不能表示“n是偶数”的是( )
A. n%2==0 B. n//2==int(n/2) C. n%2!=1 D. n/2==n//2
【答案】B
【解析】
【详解】本题考查的是Python基础。选项A:n%2 == 0,当n为偶数时余数为0,正确。选项B:n//2 == int(n/2),无论n是奇数还是偶数,n//2和int(n/2)结果始终相同(例如n=3时,两者均为1),因此无法区分奇偶,不能表示n是偶数。选项C:n%2 != 1,当n为偶数时余数为0(即不等于1),正确。选项D:n/2 == n//2,当n为偶数时,两者结果数值相等(如4/2=2.0,4//2=2),表达式成立,正确。故选B。
11. 下列关于Python表达式错误的是( )
A. "apple"[1]>"banana"[3]的结果为True
B. 变量s的值为"ABC",s[::]>s[::-1]的结果为False
C. 字典d={1:2,"a":"b",2:"b","b":4,3:"10"),则d[2] in d的值为True
D. {1:2,2:1}=={2:1,1:2}的结果为False
【答案】D
【解析】
【详解】本题考查的是python表达式。选项A:"apple"[1] 是 'p',"banana"[3] 是 'a'。字符比较基于ASCII码,'p'(112)> 'a'(97),结果为 True。选项A正确。选项B:s[::] 是原字符串 "ABC",s[::-1] 是反转后的 "CBA"。字符串比较逐字符进行,"A"(65)< "C"(67),故 "ABC" < "CBA",结果为 False。选项B正确。选项C:字典 d 的键包括 1, "a", 2, "b", 3。d[2] 的值是 "b","b" 是字典的键之一,因此 "b" in d 为 True。选项C正确。选项D:字典的 == 比较仅检查键值对是否相同,与顺序无关。两个字典的键值对相同,结果应为 True,但选项描述为 False。选项D错误。故选D。
12. 整型变量x中存放了一个两位数,现要将这个两位数的数字交换位置。下列Python表达式正确的是( )
A. (x%10)//10+x//10 B. (x/10)%10+x//10
C. (x%10)*10+x//10 D. (x%10)*10+x%10
【答案】C
【解析】
【详解】本题考查的是Python表达式。两位数的十位数字可通过x//10获取,个位数字通过x%10获取。交换位置后,新数的十位是原个位数字,个位是原十位数字。表达式应为: (x%10)*10 + x//10 例如,若x=34,则34%10=4(个位),34//10=3(十位),交换后为4*10 +3=43。选项C正确。
13. 若用if语句表示某分段函数:下列Python代码理解有误的是( )
A.
if x>=1:
f=2*x+1
f=3*x/(x-1)
B.
if x>=1:
f=2*x+1
if x<l:
f=3*x/(x-1)
C.
f=3*x/(x-1)
if x>=1:
f=2*x+1
D.
if x<l:
f=3*x/(x-1)
else:
f=2*x+1
A. A B. B C. C D. D
【答案】A
【解析】
【详解】本题考查Python基础。
选项A,if语句内的代码块无论是否执行,都要执行代码f=3*x/(x-1),与题意不符。故正确答案为:选项A。
14. 有如下Python程序:
word=input("请输入一个小写字母组成的单词:")
k=ord(word[0])-ord("a")
newW=chr(ord("A")+k)+word[1:len(word)]
print(newW)
执行上面Python程序段,若输入的单词是“hello”,则输出结果为( )
A. 7ello B. Gello C. hello D. Hello
【答案】D
【解析】
【详解】本题考查的是字符串处理。计算偏移量k:程序首先获取输入单词的首字母h,计算其与字母a的ASCII码差值。h的ASCII码为104,a为97,故k = 104 - 97 = 7。生成新首字母:通过chr(ord('A') + k)生成新首字母。ord('A')为65,加上偏移量7后得到72,对应字母H。拼接新单词:将新首字母H与原单词剩余部分ello拼接,得到Hello。故选D。
15. 有如下Python程序:
def swap(x,y):
listl[y],list1[x]=list1[x],list1[y]
list1=[5,7,3]
if list1[0]>list1[1]
swap(0,1)
if list1[0]>list1[2]:
swap(0,2)
if list1[1]>listl[2]:
swap(1,2)
print(list1)
运行上面程序,输出结果正确的是( )
A [5,7,3] B. [3,5,7] C. [7,5,3] D. [7,7,7]
【答案】B
【解析】
【详解】本题考查的是python分支语句。初始列表:list1 = [5, 7, 3]。 第一个条件:if list1[0] > list1[1](5 > 7),条件不成立,不执行swap(0,1),列表保持[5,7,3]。 第二个条件:if list1[0] > list1[2](5 > 3),条件成立,执行swap(0,2),交换索引0和2的元素,列表变为[3,7,5]。 第三个条件:if list1[1] > list1[2](7 > 5),条件成立,执行swap(1,2),交换索引1和2的元素,列表变为[3,5,7]。故选B。
16. 有如下Python程序:
def f(a,b):
c=a%b
while c>0:
a,b=b,c
c=a%b
return b
a=int(input("请输入:"))
b=int(input("请输入:"))
m=f(a,b)
n=a*b//m
print(m,n)
运行上面程序,若输入的a和b分别是48和12,则输出结果正确的是( )
A. 12 60 B. 60 12 C. 48 12 D. 12 48
【答案】D
【解析】
【详解】本题考查的是Python循环语句。函数功能分析:函数f(a, b)使用辗转相除法计算最大公约数。 当a % b = 0时,说明b是a的约数,直接返回b作为最大公约数。输入数据代入: 输入a=48,b=12。计算c = 48 % 12 = 0,此时c=0,不进入循环,直接返回b=12(即m=12)。计算最小公倍数:公式为n = a * b // m,即48 * 12 // 12 = 48。 输出结果: m为最大公约数12,n为最小公倍数48,故选D。
17. 有如下Python程序:
k=65
for i in range(4):
s=""
for j in range(4):
if i>=j:
s=s+""+chr(k)
k+=1
print(s)
运行上面程序,输出结果正确的是( )
A.
B.
C.
D.
A. A B. B C. C D. D
【答案】B
【解析】
【详解】本题考查的是循环语句。程序中 k 从 65(即 ‘A’)开始,每次满足 i ≥ j 时便输出当前字母并将 k 加 1。 循环展开如下(i, j 均从 0 开始):
i=0 时,只有 j=0 满足条件,输出 “A”;
i=1 时,j=0,1 满足条件,依次输出 “B”、“C”;
i=2 时,j=0,1,2 满足条件,依次输出 “D”、“E”、“F”;
i=3 时,j=0,1,2,3 满足条件,依次输出 “G”、“H”、“I”、“J”。
因此最终输出为:
A
BC
DEF
GHIJ
与选项 B 所示形状相符。故选B。
18. 有如下Python程序:
p="Hz14!"
c=""
for ch in p:
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"))+c
else:
c+=ch
print(c)
运行上面程序,输出结果正确的是( )
A. ZH85! B. HZ85! C. 58ZH! D. !HZ85
【答案】A
【解析】
【详解】本题考查的是字符串处理。程序遍历字符串p=“Hz14!”,逐个处理字符:
‘H’:非数字且非小写字母,直接追加到c末尾 → c=“H”。
‘z’:小写字母,转换为大写'Z'并添加到c前面 → c=“ZH”。
‘1’:数字,计算9-1=8,追加到c末尾 → c=“ZH8”。
‘4’:数字,计算9-4=5,追加到c末尾 → c=“ZH85”。
‘!’:非数字且非小写字母,直接追加到c末尾 → c=“ZH85!”。
故选A。
19. 输入一个四位正整数,判断该整数每一位上的数字是否有重复。实现上述功能的Python程序段如下:
n=int(input("请输入一个四位正整数:"))
f={};t=0
while n>0: #统计n中不同数字出现的情况,并记录在f中
y=n%10
n=n//10
for i in: #对f中的值求和
t+=f[i]
if t==4: #判断是否有重复数字
print("没有重复的数字。")
else:
print("有重复的数字。")
方框中的(1)和(2)可选的代码有:
①f[y]+=1 ②f[y]=1 ③f ④range(len(f))
下列选项中,代码顺序正确的是( )
A. ②④ B. ①③ C. ②③ D. ①④
【答案】C
【解析】
【详解】本题考查的是python循环语句。由于 f 最初是一个空字典,如果直接使用“f[y] += 1”会在第一次出现某个数字 y 时触发错误,故应先用“f[y] = 1”来完成对新出现数字的“记录”;在求和时只需遍历字典的键即可,Python 中“for i in f”会依次取到 f 的所有键,然后用 t += f[i] 来累加相应的值。故选C。
20. 有如下Python程序段:
import random
a=[0]*6
i=0
while i<6:
a[i]=random.randint(1,9)
for j in range(i):
if a[i]==a[j]:
i-=1
i+=1
print(a)
该程序段执行后,列表a的值可能是( )
A. [7,1,6,3,2,1] B. [8,9,1,3,0,4]
C. [6,3,5,2,4,1] D. [5,7,3,3,8,2]
【答案】C
【解析】
【详解】本题考查Python基础。
随机数生成1到9,故不可能出现0。排除选项B。由于程序功能不可能出现两个相同的数,故排序选项A、D。故正确答案为:选项C。
二、非选择题(本大题共3题,其中第21题10分,第22题18分,第23题12分,共40分)
21. 哥德巴赫猜想:任意大于等于4的偶数都可以写成两个质数之和。请输入一个大于4的整数,编写Python程序进行检验。
import math
def isprime(n):
if n==2:
return True
for i in:
if①____:
return False
return True
n=int(input('请输入任意一个大于4的偶数:'))
for i in range(3,n//2+1,2):
if isprime(i)and②________:
print(n,'=',i,'+',n-i)
break
(1)请在划线处填上合适代码
(2)若变量n的值为18,则程序输出结果为_______________。
(3)下列选项填入加框处,不能实现该程序功能的两项是( )
①range(2,n) ②range(2,n/2)
③range(2,n**0.5+1) ④range(2,int(math.sqrt(n))+1)
A①② B.②③ C.③④ D.②④
【答案】 ①. n % i == 0 ②. isprime(n - i) ③. 18 = 5 + 13 ④. B
【解析】
【详解】本题考查的是python循环语句。
(1)①如果n 能被 i 整除即可判定非质数,故此处应为:n % i == 0;②主循环里要检查 i、n − i)是否同时为质数,故此处应为:isprime(n - i)。
(2)当 n = 18 时,循环依次检测 i = 3,5,7,9 等,首先发现 5 和 13 均为质数,于是输出“18 = 5 + 13”并结束。
(3)② range(2, n/2) 与③ range(2, n**0.5+1) 不做强制取整会导致 range 参数不为整数,在实际 Python 代码中无法直接使用。故选B。
22. 判断两个字符串是否相等:规定"?"为万能字符,即可与任意一个字符相等,在忽略字符串中空格与不区分大小写的情况下,判断两个字符串是否相同。Python程序运行界面如下:
(1)根据以上规则,字符串"?a?xc?vmg"与字符串"o?fx?kvm?"______________(A.相同/B.不同)
(2)自定义函数deiSpace用于删除字符串中的空格,该算法属于____________(A.解析算法/B.枚举算法)
(3)请在划线处填上合适代码
def delSpace(n):
s=""
for i in range(len(n)):
if n[i]!="":
①________
return s
(4)实现函数的主程序如下,请在划线处填上合适代码
sl=input("请输入一个字符串:")
s2=input("请输入另一个字符串:")
sl=delSpace(s1.upper()) #对数据进行预处理,upper函数用于将字符串中字符转换成大写
s2=delSpace(s2.upper())
if①________:
print("两个字符串不相同")
else:
i=0
while i < len(s1):
cl=s1[i]
c2=s2[i]
if c1=c2:
②____
else:
if③________:
i+=1
else:
break
if i==len(s1):
print("两个字符串相等")
else:
print("两个字符串不相等")
【答案】 ①. A ②. B ③. s += n[i] 或 s = s +n[i] ④. len(s1) != len(s2) ⑤. i+=1或 i=i+1 ⑥. c1 == '?' or c2 == '?'
【解析】
【详解】本题考查的是python字符串处理。
(1)“?a?xc?vmg”与“o?fx?kvm?”能一一对应匹配(每一对字符都可在“相同或有‘?’可通配”的规则下匹配),因此答案为A。
(2)delSpace 函数通过逐个扫描字符串中的字符,并跳过空格字符,最终生成一个不包含空格的新字符串,这种逐个扫描并处理的方式属于枚举算法,故选B。
(3)在 delSpace 函数中,s 是一个空字符串,用于存储不包含空格的新字符串。for 循环遍历字符串 n 的每个字符,如果当前字符 n[i] 不是空格,则将其添加到 s 中。因此,填空处应为 s += n[i] 或 s = s +n[i] 。
(4)①在主程序中,首先需要判断两个字符串的长度是否相等。如果长度不相等,则直接输出“两个字符串不相同”。因此,填空处应为 len(s1) != len(s2)。②在 while 循环中,如果当前字符 c1 和 c2 相等,则继续比较下一个字符,故此处应为:i+=1或 i=i+1;③否则需要判断其中一个字符是否为万能字符 ?。如果其中一个字符是 ?,则继续比较下一个字符。因此,填空处应为 c1 == '?' or c2 == '?'。
23. “数据山峰”是指序列中一段连续的区域,其中的数据包含一个从上升到下降的过程。例如字符串s="5136432783"中存在"136432"和"783"两座数据山峰。以下Python程序的功能为输出字符串s中的所有“数据山峰”。
(1)根据题意,请在划线处填上合适代码
s=input("请输入数字序列:")
i=0
j=1
flag=0 #flag用于标记状态
while j<len(s):
if flag==0 and s[j-1] < s[j]:
flag=1
①________
elif flag==1 and s[j-1]>s[j]:
flag=2
elif flag==2 and s[j-1]<=s[j]:
print(s[i:j]) #输出数字山峰
flag=0
elif s[j-1]==s[j] or flag==0 and s[j-1]>s[j]:#进入初始状态
flag=0
②________
if③____:
print(s[i:j])
(2)当输入的数字序列为“543247837789”时,运行上述程序段后,输出的数字山峰为__________(若有多个数字山峰以逗号间隔)。
【答案】 ①. i = j - 1 ②. j+=1 或 j=j+1 ③. flag == 2 ④. 24783
【解析】
【详解】本题考查的是循环语句的综合应用。
(1)①处:当检测到上升开始时(flag=0且当前字符大于前一个字符),此时需要记录山峰的起点,因此将i设置为j-1(即上升的起始位置),故此处应为:i = j - 1。 ②处:在每次循环中,无论哪种情况,都需要将j递增以遍历下一个字符,故此处应为:j+=1 或 j=j+1。 ③处:循环结束后,若仍处于下降状态(flag=2),说明末尾存在未处理的山峰,需输出s[i:j],故此处应为:flag == 2。
(2)程序检测到连续子序列24783(从索引3到7),其中2<4<7<8为上升,8>3为下降,满足“数据山峰”定义。后续字符7789仅持续上升,未形成山峰,因此最终输出唯一山峰24783。
第1页/共1页
学科网(北京)股份有限公司
$$
杭十四中二〇二四学年第一学期阶段性测试
高一年级技术学科期末试卷
试卷说明:
1.考试时间:1月17日(周五)10:50-11:50,共60分钟。
2.全卷共7页。满分100分。
3.答题前,务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上。
4.选择题的答案须用2B铅笔将答题纸上对应题目的答案标号涂黑,如要改动,须将原填涂处用橡皮擦净。
5.非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后须用黑色字迹的签字笔或钢笔描黑,答案写在本试题卷上无效。
一、选择题(本大题共20小题,每小题3分,共60分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)
1. 2024年10月,杭州第十四中学教育集团全体师生6000多人齐聚康桥校区,隆重举行第五十四届田径运动会。集团凤起、康桥校区,青山湖学校各班围绕“爱校”、“强国”、“运动”三大主题,踩着铿锵有力的步伐,昂首阔步地依次入场,精练精彩、创意无限,体现着各班的团队合作精神和优良的班级风貌。小明作为学生会记者,拍摄了许多照片。以下格式不可能为照片的是( )
A. PNG B. JPEG C. GIF D. WMA
2. 2024年10月,杭州第十四中学教育集团全体师生6000多人齐聚康桥校区,隆重举行第五十四届田径运动会。集团凤起、康桥校区,青山湖学校各班围绕“爱校”、“强国”、“运动”三大主题,踩着铿锵有力的步伐,昂首阔步地依次入场,精练精彩、创意无限,体现着各班的团队合作精神和优良的班级风貌。小明准备将拍摄的照片导入电脑,其中一张BMP格式的照片尺寸如图所示,已知该照片占用的存储空间约为4MB,则该照片的颜色位深度为( )
A. 24 B. 8 C. 16 D. 4
3. 2024年10月,杭州第十四中学教育集团全体师生6000多人齐聚康桥校区,隆重举行第五十四届田径运动会。集团凤起、康桥校区,青山湖学校各班围绕“爱校”、“强国”、“运动”三大主题,踩着铿锵有力的步伐,昂首阔步地依次入场,精练精彩、创意无限,体现着各班的团队合作精神和优良的班级风貌。小明使用UltraEdit软件观察字符,下列说法正确的是( )
A. 字符"10"的十进制编码是01 30H B. 该内容中共有3个ASCII编码
C. 字符“油”的十六进制内码为D3 D3 D. 由图可知,计算机用十六进制存储信息
4. 已知某进制的等式满足:46+25=104和32+15=50,则下列说法正确的是( )
A. 该进制数有6个数码
B. 该进制数满足等式17+21=41
C. 等式46+25=104的计算结果104,转换为十进制数为53
D. 等式32+15=50的计算结果50,转换为二进制数为110010
5. 下列关于编码的说法,正确的是( )
A. 可以利用扫描仪、照相机、手机等采集设备对信息进行数字化
B. 将模拟信号转换成数字信号,只需要过采样编码两个过程
C. 汉字的输入码唯一
D. 在电脑中播放音频属于模数转换
6. 小明在高一上学习了计算机硬件的相关知识,对此非常感兴趣。回家后,小明查看了家里的计算机配置,具体内容如下:
硬件配置
预装软件
显示器:1920×1080
CPU:四核1.80GHz
硬盘:1TB
内存:8GB
操作系统:Windows10
办公软件:WPS
聊天软件:微信、QQ
下列关于该计算机硬件的说法,正确的是( )
A. 该计算机有4个CPU
B. 计算机断电后,内存中的数据会消失
C. 可直接在该计算机上安装mac0S 32-bit Intel installer版本的Python
D. 硬盘主要包含RAM和ROM
7. 某算法流程图如图所示,以下说法正确的是( )
A. 若判断条件改为“i<6?”,结果不变
B. 执行该流程后,变量k的值为1
C. 变量c的值为7
D. 语句“i+=2”执行了6次
8. 某算法流程图如图所示,其对应的Python程序为( )
A.
B.
C.
D.
s=0
for i in range(1,101):
if i%5==0:
s=s+i
else:
i+=2
print(s)
s=0
for i in range(1,101):
if i%5==0:
s=s+1
i+=2
print(s)
s=0
i=1
while i<=100:
if i%5==0;
s=s+i
else:
i+=2
print(s)
s=0
i=1
while i<=100:
if i%5==0:
s=s+i
i+=2
print(s)
A. A B. B C. C D. D
9. 下列Python表达式的值为整数8的是( )
A. len("2025新年快乐!") B. int("5"+"3")
C. 2**2+12%13//3 D. str(abs(-4*2))
10. 若n是大于1的自然数,则下列Python表达式不能表示“n是偶数”的是( )
A. n%2==0 B. n//2==int(n/2) C. n%2!=1 D. n/2==n//2
11. 下列关于Python表达式错误的是( )
A. "apple"[1]>"banana"[3]的结果为True
B. 变量s的值为"ABC",s[::]>s[::-1]的结果为False
C. 字典d={1:2,"a":"b",2:"b","b":4,3:"10"),则d[2] in d的值为True
D. {1:2,2:1}=={2:1,1:2}的结果为False
12. 整型变量x中存放了一个两位数,现要将这个两位数的数字交换位置。下列Python表达式正确的是( )
A (x%10)//10+x//10 B. (x/10)%10+x//10
C. (x%10)*10+x//10 D. (x%10)*10+x%10
13. 若用if语句表示某分段函数:下列Python代码理解有误的是( )
A.
if x>=1:
f=2*x+1
f=3*x/(x-1)
B.
if x>=1:
f=2*x+1
if x<l:
f=3*x/(x-1)
C.
f=3*x/(x-1)
if x>=1:
f=2*x+1
D.
if x<l:
f=3*x/(x-1)
else:
f=2*x+1
A. A B. B C. C D. D
14. 有如下Python程序:
word=input("请输入一个小写字母组成的单词:")
k=ord(word[0])-ord("a")
newW=chr(ord("A")+k)+word[1:len(word)]
print(newW)
执行上面Python程序段,若输入的单词是“hello”,则输出结果为( )
A 7ello B. Gello C. hello D. Hello
15. 有如下Python程序:
def swap(x,y):
listl[y],list1[x]=list1[x],list1[y]
list1=[5,7,3]
if list1[0]>list1[1]
swap(0,1)
if list1[0]>list1[2]:
swap(0,2)
if list1[1]>listl[2]:
swap(1,2)
print(list1)
运行上面程序,输出结果正确是( )
A [5,7,3] B. [3,5,7] C. [7,5,3] D. [7,7,7]
16. 有如下Python程序:
def f(a,b):
c=a%b
while c>0:
a,b=b,c
c=a%b
return b
a=int(input("请输入:"))
b=int(input("请输入:"))
m=f(a,b)
n=a*b//m
print(m,n)
运行上面程序,若输入的a和b分别是48和12,则输出结果正确的是( )
A. 12 60 B. 60 12 C. 48 12 D. 12 48
17. 有如下Python程序:
k=65
for i in range(4):
s=""
for j in range(4):
if i>=j:
s=s+""+chr(k)
k+=1
print(s)
运行上面程序,输出结果正确的是( )
A.
B.
C.
D.
A. A B. B C. C D. D
18 有如下Python程序:
p="Hz14!"
c=""
for ch in p:
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"))+c
else:
c+=ch
print(c)
运行上面程序,输出结果正确的是( )
A. ZH85! B. HZ85! C. 58ZH! D. !HZ85
19. 输入一个四位正整数,判断该整数每一位上的数字是否有重复。实现上述功能的Python程序段如下:
n=int(input("请输入一个四位正整数:"))
f={};t=0
while n>0: #统计n中不同数字出现的情况,并记录在f中
y=n%10
n=n//10
for i in: #对f中的值求和
t+=f[i]
if t==4: #判断是否有重复数字
print("没有重复的数字。")
else:
print("有重复的数字。")
方框中的(1)和(2)可选的代码有:
①f[y]+=1 ②f[y]=1 ③f ④range(len(f))
下列选项中,代码顺序正确的是( )
A. ②④ B. ①③ C. ②③ D. ①④
20. 有如下Python程序段:
import random
a=[0]*6
i=0
while i<6:
a[i]=random.randint(1,9)
for j in range(i):
if a[i]==a[j]:
i-=1
i+=1
print(a)
该程序段执行后,列表a的值可能是( )
A. [7,1,6,3,2,1] B. [8,9,1,3,0,4]
C. [6,3,5,2,4,1] D. [5,7,3,3,8,2]
二、非选择题(本大题共3题,其中第21题10分,第22题18分,第23题12分,共40分)
21. 哥德巴赫猜想:任意大于等于4的偶数都可以写成两个质数之和。请输入一个大于4的整数,编写Python程序进行检验。
import math
def isprime(n):
if n==2:
return True
for i in:
if①____:
return False
return True
n=int(input('请输入任意一个大于4的偶数:'))
for i in range(3,n//2+1,2):
if isprime(i)and②________:
print(n,'=',i,'+',n-i)
break
(1)请在划线处填上合适代码
(2)若变量n的值为18,则程序输出结果为_______________。
(3)下列选项填入加框处,不能实现该程序功能的两项是( )
①range(2,n) ②range(2,n/2)
③range(2,n**0.5+1) ④range(2,int(math.sqrt(n))+1)
A.①② B.②③ C.③④ D.②④
22. 判断两个字符串是否相等:规定"?"为万能字符,即可与任意一个字符相等,在忽略字符串中空格与不区分大小写的情况下,判断两个字符串是否相同。Python程序运行界面如下:
(1)根据以上规则,字符串"?a?xc?vmg"与字符串"o?fx?kvm?"______________(A.相同/B.不同)
(2)自定义函数deiSpace用于删除字符串中的空格,该算法属于____________(A.解析算法/B.枚举算法)
(3)请在划线处填上合适代码
def delSpace(n):
s=""
for i in range(len(n)):
if n[i]!="":
①________
return s
(4)实现函数的主程序如下,请在划线处填上合适代码
sl=input("请输入一个字符串:")
s2=input("请输入另一个字符串:")
sl=delSpace(s1.upper()) #对数据进行预处理,upper函数用于将字符串中字符转换成大写
s2=delSpace(s2.upper())
if①________:
print("两个字符串不相同")
else:
i=0
while i < len(s1):
cl=s1[i]
c2=s2[i]
if c1=c2:
②____
else:
if③________:
i+=1
else:
break
if i==len(s1):
print("两个字符串相等")
else:
print("两个字符串不相等")
23. “数据山峰”是指序列中一段连续的区域,其中的数据包含一个从上升到下降的过程。例如字符串s="5136432783"中存在"136432"和"783"两座数据山峰。以下Python程序的功能为输出字符串s中的所有“数据山峰”。
(1)根据题意,请在划线处填上合适代码
s=input("请输入数字序列:")
i=0
j=1
flag=0 #flag用于标记状态
while j<len(s):
if flag==0 and s[j-1] < s[j]:
flag=1
①________
elif flag==1 and s[j-1]>s[j]:
flag=2
elif flag==2 and s[j-1]<=s[j]:
print(s[i:j]) #输出数字山峰
flag=0
elif s[j-1]==s[j] or flag==0 and s[j-1]>s[j]:#进入初始状态
flag=0
②________
if③____:
print(s[i:j])
(2)当输入的数字序列为“543247837789”时,运行上述程序段后,输出的数字山峰为__________(若有多个数字山峰以逗号间隔)。
第1页/共1页
学科网(北京)股份有限公司
$$