浙江省绍兴市重点中学2022-2023学年高一下学期期末技术试题 Word版含解析

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

浙江省绍兴市重点中学2022-2023学年高一下学期期末技术试题 Word版含解析

资源简介

2022学年第二学期期末考试
高一技术试卷
第一部分 信息技术(共 50 分)
一、选择题(本大题共15小题,每小题2分,共30分。在每小题给出的四个选项中,只有一个符合题目要求,不选、多选、错选均不得分)
1. 不能用算法解决“输出所有的奇数之和”问题,因为不符合算法特征中的( )
A. 唯一性 B. 有穷性 C. 有输出 D. 有输入
【答案】B
【解析】
【详解】本题主要考查算法的特征。不能用算法解决“输出所有的奇数之和”问题,因为不符合算法特征中的有穷性,故本题选B选项。
2. 以下结构不属于算法基本控制结构是( )
A. 顺序结构 B. 分支结构 C. 循环结构 D. 树形结构
【答案】D
【解析】
【详解】本题主要考查算法基本结构。算法基本结构有:顺序结构、分支结构、循环结构,故本题选D选项。
3. 在Python中,下列选项中变量a数据类型属于整型的是( )
A. a="3" B. a=input() C. a=3 D. a=3.0
【答案】C
【解析】
【详解】本题主要考查Python数据类型。选项数据类型依次是字符型、字符型、整型、浮点型,故本题选C选项。
4. 下列可以作为Python变量名的是( )
A. 3b B. space line C. apple_1 D. for
【答案】C
【解析】
【详解】本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。可以作为Python变量名的是apple_1,故本题选C选项。
5. 表达式3*(2+12%3)**3/5的值是( )
A. 21.6 B. 4 C. 43.2 D. 4.8
【答案】D
【解析】
【详解】本题主要考查Python表达式的运算。表达式3*(2+12%3)**3/5=3*(2+0)**3/5=3*8/5=24/5=4.8,故本题选D选项。
6. 表达式3+9>20 or 23<=3+15 and 5+7<20的值为( )
A. TRUE B. true C. false D. False
【答案】D
【解析】
【详解】本题主要考查Python表达式的运算。3+9>20值为False,23<=3+15值为False,5+7<20值为True,因此表达式3+9>20 or 23<=3+15 and 5+7<20的值为False,故本题选D选项。
7. 已知str="3.1415926535898",则str[3:5]值为( )
A. "141" B. "14" C. "41" D. "415"
【答案】C
【解析】
【详解】本题主要考查Python字符串切片操作。切片操作基本表达式:object[start_index:end_index:step],step:正负数均可,其绝对值大小决定了切取数据时的“步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。start_index:表示起始索引(包含该索引对应值),该参数省略时,表示从对象“端点”开始取值。end_index:表示终止索引(不包含该索引对应值),该参数省略时,表示一直取到数据“端点”。已知str="3.1415926535898",则str[3:5]的值为"41",故本题选C选项。
8. 某算法的自然语言和流程图描述如下:
第1步:输入一个实数x
第2步:判断x与0的大小关系,若x≥0,则y=4x2,否则y=2x+1
第3步:输出y
第4步:结束
流程图中①、②处应填入的语句分别为 ( )
A. ①x4x2 ②y2x+1 B. ①y4x2 ②y2x+1
C. ①y2x+1 ②y4x2 D. ①x2x+1 ②y4x2
【答案】B
【解析】
【详解】本题主要考查算法流程图。根据流程图可知,①处是y 4x2 ,如果x<0,则y=2x+1,故②处是y 2x+1,故本题选B选项。
9. 下列程序段可以实现交换a,b两个变量的值的是( )
A. a=b,b=a B. t=a,a=b,b=t C. a=b,b=t,t=a D. b=a,a=t,t=b
【答案】B
【解析】
【详解】本题主要考查Python语句执行。实现交换a,b两个变量的值可以是a,b=b,a,也可以是t=a,a=b,b=t,故本题选B选项。
10. 某Python程序如下:
x=7
y=x*2+x**2
y+=2
程序运行后,y的值为( )
A. 2 B. 7 C. 65 D. 30
【答案】C
【解析】
【详解】本题主要考查Python程序的执行。x=7,y=x*2+x**2=7*2+7**2=14+49=63,执行完y+=2后,y=65,故本题选C选项。
11. 实现求1~100共100个数的和的程序如下:
sum=0
for i in _____________:
sum+=i
划线处应填入的代码为( )
A. range(1,101) B. range(0,100) C. range(1,100) D. range(100)
【答案】A
【解析】
【详解】本题主要考查Python循环结构的应用。range(start, stop, [step]),start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。实现求1~100共100个数的和,因此循环条件是range(1,101),故本题选A选项。
12. 用Python算法控制结构描述“您所在街道25分钟后小雨,50分钟后雨停”,设t为距离天气预报发布时间的间隔(单位:分钟),下列选项正确的是( )
A. B. C. D.
【答案】A
【解析】
【详解】本题主要考查Python分支结构的应用。“您所在街道25分钟后小雨,50分钟后雨停”,设t为距离天气预报发布时间的间隔(单位:分钟),结合选项,选项A符合题意,故选A。
13. 有10个数据34,22,101,8,14,88,24,17,54,7依次存放在列表list中,有如下Python程序,当程序运行结束时,输出的值是: _____
list= [3422, 101,8,14,88,24,17,54,7]
num=list[0]
for i in range(1,10):
if list[i]num=list[i]
print(num)
【答案】7
【解析】
【详解】本题主要考查Python程序的执行。分析程序可知,该程序求列表list的最小值,将其保存到变量num中,故输出的值是:7。
14. 某Python程序如下:
s="372LP";t=""
for i in range(len(s)):
if s[i]>="0" and s[i]<="9":
t=t+s[i]
print(t)
程序运行后,输出结果是( )
A. 12 B. 372 C. 273 D. 3+7+2
【答案】B
【解析】
【详解】本题主要考查Python程序的执行。分析程序可知,该程序实现将字符串s中的数字保存到变量t中,s="372LP",因此t="372",故本题选B选项。
15. 某Python程序如下:
dic={};s="1223212"
for i in s:
if i in dic:
dic[i]+=1
else:
dic[i]=1
print(dic["2"])程序运行后,输出的结果是( )
A. 1 B. 2 C. 3 D. 4
【答案】D
【解析】
【详解】本题主要考查Python程序的执行。该程序实现统计字符串s中每个字符出现的个数,用字典dic统计,因此程序执行后dic={'1': 2, '2': 4, '3': 1},则dic["2"]=4,故本题选D选项。
二、非选择题(本大题共3小题,其中第16小题7分,第17小题7分,第18小题6分,共20分)
16. 有一荷花池,第1天池中只有一朵荷花。荷花每过一天数量翻倍。
(1) 若第9天荷花开满半池,则池中开满荷花后共有_______朵荷花;
(2) 若第15天荷花开满整池,编写Python程序计算开满池子的荷花朵数,程序如下:
s=1
i=_____①_____
while i<15:
s=______②_____
i+=1
print(s)
该算法主要的控制结构是________(单选,填字母:A.顺序结构 B.分支结构 C.循环结构);
(3) 请在程序划线处填入代码:①______②______
(4) 程序中变量s的作用是_____(单选,填字母:A.表示开花的天数 B.表示当天荷花增加了几朵 C.表示荷花随时间变化的总数 D.表示池子的数量);
【答案】 ①. 512 ②. C ③. 1 ④. 2*s 或 2**i ⑤. C
【解析】
【详解】本题主要考查Python程序的综合应用。①根据题意,这是一个等比数列,若第9天荷花开满半池,则池中开满荷花后共有sn=1*(1-2*9)/(1-2)=512朵荷花。②该算法主要的控制结构是循环结构,采用while循环结构,选C选项。③第1天池中只有一朵荷花,i的初值为1,故填1。④荷花每过一天数量翻倍,i是天数,s表示第i天的总数,故此处填2*s 或 2**i。⑤程序中变量s的作用是表示荷花随时间变化的总数,故选C选项。
17. 超市需要将苹果进行分盒销售,现有大小两种规格的盒子,小盒每盒可以装8个苹果,大盒每盒可以装10个苹果,装盒的要求为:大小盒子每种盒子至少使用一个,并且每盒都必须装满。编写Python程序:输入苹果总数,输出装盒方案和方案总数,如第17题图所示:
实现Python代码如下:
n=int(input("请输入苹果的数量:"))
______①_____
for i in range(1,n//8+1):
j=n-i*8
if _____②_____:
count=count+1
print("方案",count," : ",i,j//10)
if ______③_____:
print("共有",count,"种方案")
else:
print("无方案")
(1) 请在程序划线处填入代码:①______②______③_____
(2) 若输入的苹果数90个,则装盒的方案数为___________种。
【答案】 ①. count=0 ②. j%10==0 ③. count>0 ④. 2
【解析】
【详解】本题主要考查Python程序的综合应用。①变量count用于统计共有多少种方案,初值为0,故填count=0。②变量i表示小盒的数量,此处用了i个小盒,判断剩余的 j=n-i*8能否用大盒装完,故判断条件是j%10==0。③如果count大于0,输出方案的个数,反之无方案,故if判断条件是count>0。④若输入的苹果数90个,则装盒的方案数为2种。第一种,5个小盒,5个大盒。第二种,10个小盒,1个大盒。
18. 某压缩算法的基本思想:用一个数值和一个字符压缩代替连续字符串,例如,输入字符串“RRRRRGGBBBBBB”,压缩后为“5R2G6B"。若数值为1,则压缩时1省略不写。例如,输入字符串“RGGBBBBBB”,压缩后为“R2G6B"。Python程序如下:
string=input("输入字符串:")
string=string+" " #最后一段做特殊处理
c=1
s="" #存储压缩后的结果
for p in range(_____①_____):
if string[p]== string[p+1]:
c+= 1
else:
if c!=1:
s+= ______②_____
else:
s+=string[p]
______③_______
print("压缩后数据为:",s)
请在程序划线处填入代码:①______②______③_____
【答案】 ①. 0,len(string)-1,1 或 0,len(string)-1 或len(string)-1 ②. str(c)+string[p] ③. c=1
【解析】
【详解】本题主要考查Python程序的综合应用。①range(start, stop, [step]),start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。此处遍历范围是字符串string的长度,故填0,len(string)-1,1 或 0,len(string)-1 或len(string)-1。②如果c不等于1,则将数值和该字符进行拼接,故填str(c)+string[p]。③else执行完,更新c=1,继续下一个字符的判断,故填c=1。2022学年第二学期期末考试
高一技术试卷
第一部分 信息技术(共 50 分)
一、选择题(本大题共15小题,每小题2分,共30分。在每小题给出的四个选项中,只有一个符合题目要求,不选、多选、错选均不得分)
1. 不能用算法解决“输出所有的奇数之和”问题,因为不符合算法特征中的( )
A. 唯一性 B. 有穷性 C. 有输出 D. 有输入
2. 以下结构不属于算法基本控制结构的是( )
A. 顺序结构 B. 分支结构 C. 循环结构 D. 树形结构
3. 在Python中,下列选项中变量a的数据类型属于整型的是( )
A. a="3" B. a=input() C. a=3 D. a=3.0
4. 下列可以作为Python变量名的是( )
A. 3b B. space line C. apple_1 D. for
5. 表达式3*(2+12%3)**3/5的值是( )
A. 21.6 B. 4 C. 43.2 D. 4.8
6. 表达式3+9>20 or 23<=3+15 and 5+7<20的值为( )
A. TRUE B. true C. false D. False
7. 已知str="3.1415926535898",则str[3:5]的值为( )
A "141" B. "14" C. "41" D. "415"
8. 某算法的自然语言和流程图描述如下:
第1步:输入一个实数x
第2步:判断x与0的大小关系,若x≥0,则y=4x2,否则y=2x+1
第3步:输出y
第4步:结束
流程图中①、②处应填入的语句分别为 ( )
A. ①x4x2 ②y2x+1 B. ①y4x2 ②y2x+1
C. ①y2x+1 ②y4x2 D. ①x2x+1 ②y4x2
9. 下列程序段可以实现交换a,b两个变量的值的是( )
A. a=b,b=a B. t=a,a=b,b=t C. a=b,b=t,t=a D. b=a,a=t,t=b
10. 某Python程序如下:
x=7
y=x*2+x**2
y+=2
程序运行后,y的值为( )
A 2 B. 7 C. 65 D. 30
11. 实现求1~100共100个数的和的程序如下:
sum=0
for i in _____________:
sum+=i
划线处应填入的代码为( )
A. range(1,101) B. range(0,100) C. range(1,100) D. range(100)
12. 用Python算法控制结构描述“您所在街道25分钟后小雨,50分钟后雨停”,设t为距离天气预报发布时间的间隔(单位:分钟),下列选项正确的是( )
A. B. C. D.
13. 有10个数据34,22,101,8,14,88,24,17,54,7依次存放在列表list中,有如下Python程序,当程序运行结束时,输出的值是: _____
list= [34,22, 101,8,14,88,24,17,54,7]
num=list[0]
for i in range(110):
if list[i]num=list[i]
print(num)
14. 某Python程序如下:
s="372LP";t=""
for i in range(len(s)):
if s[i]>="0" and s[i]<="9":
t=t+s[i]
print(t)
程序运行后,输出的结果是( )
A. 12 B. 372 C. 273 D. 3+7+2
15. 某Python程序如下:
dic={};s="1223212"
for i in s:
if i in dic:
dic[i]+=1
else:
dic[i]=1
print(dic["2"])程序运行后,输出的结果是( )
A. 1 B. 2 C. 3 D. 4
二、非选择题(本大题共3小题,其中第16小题7分,第17小题7分,第18小题6分,共20分)
16. 有一荷花池,第1天池中只有一朵荷花。荷花每过一天数量翻倍。
(1) 若第9天荷花开满半池,则池中开满荷花后共有_______朵荷花;
(2) 若第15天荷花开满整池,编写Python程序计算开满池子荷花朵数,程序如下:
s=1
i=_____①_____
while i<15:
s=______②_____
i+=1
print(s)
该算法主要的控制结构是________(单选,填字母:A.顺序结构 B.分支结构 C.循环结构);
(3) 请在程序划线处填入代码:①______②______
(4) 程序中变量s的作用是_____(单选,填字母:A.表示开花的天数 B.表示当天荷花增加了几朵 C.表示荷花随时间变化的总数 D.表示池子的数量);
17. 超市需要将苹果进行分盒销售,现有大小两种规格的盒子,小盒每盒可以装8个苹果,大盒每盒可以装10个苹果,装盒的要求为:大小盒子每种盒子至少使用一个,并且每盒都必须装满。编写Python程序:输入苹果总数,输出装盒方案和方案总数,如第17题图所示:
实现Python代码如下:
n=int(input("请输入苹果的数量:"))
______①_____
for i in range(1,n//8+1):
j=n-i*8
if _____②_____:
count=count+1
print("方案"count," : ",i,j//10)
if ______③_____:
print("共有",count,"种方案")
else:
print("无方案")
(1) 请在程序划线处填入代码:①______②______③_____
(2) 若输入的苹果数90个,则装盒的方案数为___________种。
18. 某压缩算法的基本思想:用一个数值和一个字符压缩代替连续字符串,例如,输入字符串“RRRRRGGBBBBBB”,压缩后为“5R2G6B"。若数值为1,则压缩时1省略不写。例如,输入字符串“RGGBBBBBB”,压缩后为“R2G6B"。Python程序如下:
string=input("输入字符串:")
string=string+" " #最后一段做特殊处理
c=1
s="" #存储压缩后的结果
for p in range(_____①_____):
if string[p]== string[p+1]:
c+= 1
else:
if c!=1:
s+= ______②_____
else:
s+=string[p]
______③_______
print("压缩后数据为:",s)
请在程序划线处填入代码:①______②______③_____

展开更多......

收起↑

资源列表