内容正文:
第三单元 算法和程序设计
一、选择题
1.在Python中,下列表达式的值为“假”的是( )
A.3+5>7 and 7-3<5 B.8%4>4 or 4//3>2
C.5>3 or 3<2 D.4+12>15
2.在 Python 中,以下不属于分支语句标识符的是( )
A.if B.for C.elif D.else
3.以下程序段运行后,整型变量s的值是( )
s=1
for i in range(1,11,3):
s=s * i
print(s)
A.55 B.280 C.28 D.3 640
4.运行以下Python程序段后,输出的结果为( )
lst=['1','a','2','b','3','c','4','d']
lst1=lst[::-2]
lst2=lst[2::2]
print(lst1[int(lst2[1])-1])
A.a B.b C.c D.d
5.下面关于算法的描述,正确的是( )
A.算法不可以用自然语言描述 B.算法只能用流程图来描述
C.一个算法必须保证它的执行步骤是有限的 D.算法必须有输入和输出
6.下列选项中,属于算法描述方法的是
A.列表法
B.枚举法
C.流程图
D.集合法
7.在 BXY 中输入代码如下:
from microbit import *
while True:
if button_a.is_pressed(): #按钮 A 被按下
display.show(Image.HAPPY)
elif button_b.is_pressed():
break
else:
display.show(Image.SAD)
display.clear()
运行该段代码,下列关于代码执行效果的描述,正确的是( )
A.按下 micro:bit 开发板上的按钮 A,LED 点阵屏显示“高兴”图形
B.按下 micro:bit 开发板上的按钮 A,LED 点阵屏显示“难过”图形
C.按下 micro:bit 开发板上的按钮 B,LED 点阵屏显示“高兴”图形
D.按下 micro:bit 开发板上的按钮 B,LED 点阵屏显示“难过”图形
8.某算法的部分流程图如图所示。执行这部分流程,输入变量n的值为5,则下列说法正确的是( )
A.语句“c<=n?”共执行了4次 B.循环结束后,变量a的值为3
C.循环结束后,变量b的值为5 D.循环结束后,程序输出的值为6
9.随着科技的不断进步,智能家居设备正逐渐成为我们日常生活的一部分,通过各种传感器、控制器和执行器,智能家居系统能够实现对家中设备的智能控制。通过手机、平板等设备,与互联网连接,可以随时随地控制家中的灯光、空调、电视、扫地机器人等,让生活更加便捷。安全系统不仅能监控家庭安全,还能通过面部识别技术识别访客,甚至在紧急情况下自动报警。集成的全屋语音控制系统将使得控制家中的各种智能设备变得前所未有地简单,从播放音乐到调节温度,一切尽在语言之间。假设室内合适的温度是16-24℃,用tmin~tmax表示,通过传感器获取的室内环境温度存放在变量t内,系统根据获取的温度,控制空调调节温度,用k来表示空调调温,k为1时表示上调温度,为-1时表示下调温度,为0表示温度合适,关闭空调。以下代码不能正常调控的是( )
A. B. C. D.
10.下列删除列表中最后一个元素的函数是( )
A.del B.pop C.remove D.cut
11.某商品团购优惠策略的流程图如图所示
当n为100、p为10时,实付金额s的值是( )。
A.1000 B.950 C.850 D.750
12.关于以下流程图的说法不正确的是( )
A.该算法作用是输入两个数,输出较大的数。
B.该算法中没有体现“运算”。
C.该算法具有分支结构(选择结构)。
D.如果输入的a、b分别为3和5,则算法的输出为5。
13.已知某同学的BMI值存储在变量X中,小蓝编写程序判断该同学的身体状况信息,并保存到变量Y中,则下列程序段无法实现该功能的是( )
A.
Y = "偏瘦"
if X>=18:
Y = "正常"
elif X>24:
Y = "偏胖"
B.
Y="偏胖"
if X<18:
Y = "偏瘦"
elif X<=24:
Y = "正常"
C.
if X>24:
Y = "偏胖"
elif X>=18:
Y = "正常"
else:
Y = "偏瘦"
D.
if 18<=X<=24:
Y = "正常"
else:
Y = "偏瘦"
if X>18:
Y = "偏胖"
A.A B.B C.C D.D
14.在Python中,已知A=8,则以下代码执行后输出的结果是( )
if A<=5:
print(A-5)
else:
print(A+10)
A.3 B.5 C.10 D.18
15.某客户购买的新能源汽车价格为t万元,可享受当地政府购车补贴,补贴标准如下:价格20万元(不含)以下,补贴0.25万元;价格20万元(含)至30万元(不含),补贴0.5万元;价格30万元(含)以上,补贴1万元。在下列选项中,计算实际购车价格p的程序代码正确的是( )
A.
p=t-0.25
if t>=20:
p=t-0.5
elif t>=30:
p=t-1
B.
p=t-1
if t<20:
p=t-0.25
elif t<30:
p=t-0.5
C.
p=t-0.25
if t>=30:
p=t-1
if t>=20:
p=t-0.5
D.
p=t-1
if t>=20:
p=t-0.5
else:
p=t-0.25
A.A B.B C.C D.D
二、填空题
16.某超市举办年中促销活动,顾客一次性购买商品的金额若在500元以内(包括500元),打9折。若超过500元,打8折。其中x表示顾客购买商品的金额,y表示应付款。请编程计算应付款y。
x=float(input("请输入顾客购买商品的金额:"))
x<=500:
y=x*0.9
else:
y=x*0.8
print("应付款为:",y)
17.a=3,执行语句print (float(a)),则输出结果为( )
18.在符号运算中,表示“当且仅当”的逻辑结构通常用符号 表示。
19.如图所示算法,有一数列:1、2、2、4、8、32、256…求这个数列的第n(n>=3)项,则空白横线处用a、b、c组成一个表达式,应填 。
20.有Python程序代码如下:
n=int(input("请输入一个整数n:"))
if n < 0 :
s = 0
elif n < 16 :
s = n ** 3
else :
s = n * n ** 2
print(s)
若要测试所有分支程序代码是否正确,请列举一组合适的数据
三、判断题
21.我们平常所说的“黑客”与“计算机病毒”其实是一回事。( )
22.在Python中,print("abc" * 3)的执行结果是"abcabcabc"。( )
23.用户自定义函数通过return语句只能返回一个数值。( )
24.下列程序段中,赋值语句s=s+i被重复执行了4次。
s=0
For i in range(3,10,2):
s=s+i ( )
四、操作题
25.请填空完善该程序,实现功能判断一个数是是正数还是负数
def a(n): #定义函数a(n)
if n>0:
return "正数"
elif n==0:
return "零"
return "负数"
#主程序
i=float(( ) ("请输入一个数:"))
print(( ))
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.B
【详解】本题考查Python基础。
表达式:8%4>4 or 4//3>2
8%4 是 0,0>4 是 False
4//3 是 1(整数除法),1>2 是 False
False or False 是 False
故正确答案为:选项B。
2.B
【详解】本题考查Python程序设计相关内容。在Python中,if...elif...else用于描述选择结构,for用于描述循环结构。故本题答案是B选项。
3.B
【详解】本题考查Python基础。
根据range函数参数得知遍历的序列为:1、4、7、10。累乘到变量s。故正确答案:选项B。
4.B
【详解】本题考查Python程序设计相关内容。分析程序段,由列表及切片相关知识推知:lst1值为['d', 'c', 'b', 'a'],lst2值为['2', '3', '4'],lst2[1]值为'3',则int(lst2[1])-1-->int('3')-1-->2,所以lst1[int(lst2[1])-1]-->lst1[2]为 'b',故本题答案是B选项。
5.C
【详解】本题考查算法的描述。算法可以用自然语言、伪代码、流程图来描述;一个算法必须保证它的执行步骤是有限的;一个算法0个或多个输入,至少要有一个输出。故选C。
6.C
【详解】本题考查的是算法相关知识。常用的算法表示形式有:自然语言、流程图和伪代码等。故本题应选C。
【点睛】
7.A
【详解】本题考查Python代码。不按任何按钮时,LED点阵屏显示“难过”的表情。按下按钮A,LED点阵屏显示“高兴”的表情。按下按钮B,跳出循环,然后清空LED点阵屏。故答案为:A。
8.D
【详解】本题考查流程图。
a
1
1
2
3
5
b
1
2
3
5
8
c
1
2
3
5
8
i
2
3
4
5
6
故说法正确的是选项D。
9.C
【详解】本题考查的是Python分支语句。选项C中,如果t>tmax会执行第一个if,还会进入第二个if进行判断,满足else分支,执行k=0,不符合题意。故本题应选C。
10.B
【详解】本题考查的是列表操作。pop移除列表中的一个元素(默认最后一个元素),并且返回该元素的值;remove移除列表中某个值的第一个匹配项。故本题应选B。
11.D
【详解】本题考查的是流程图识读。当n为100时,执行s=p*n*75%=10*100*0.75=750,故选项D正确。
12.B
【详解】本题考查的是流程图识读。该算法作用是输入两个数,输出较大的数,有分支结构,如果输入的a、b分别为3和5,则算法的输出为5。该算法中比较也是一种运算,故选项B错误。
13.A
【详解】本题考查的是Python分支语句。代入特殊的值,可以快速判断是否能实现算法要求的功能。
A选项,当x=25时,if x>18条件成立,elif不会被执行,会得到Y是正常,不符合要求。
B选项,把x=16,20,25,分别代入,会得到偏瘦,正常,偏胖的正确结果,正确。
C、D选项,同样把x=16,20,25,都能得到正确结果。综上,答案为A。
14.D
【详解】本题考查的是Python选择语句。A=8,不满足A<=5,执行 print(A+10),输出8+10=18,故选D。
15.B
【详解】本题考查的是Python多分支语句。选项A中,如果价格30万元(含)以上,满足if语句,不会执行elif语句,补贴0.5万元,不符合题意;选项C中,如果价格30万元(含)以上,也满足第二个if语句,补贴0.5万元,不符合题意;选项D中,如果价格30万元(含)以上,满足if语句,补贴0.5万元,不符合题意。故选B。
16.if
【详解】本题考查Python程序。程序中需要根据输入的购买商品金额x来确定应付款y的计算方式。使用if语句进行条件判断,如果x<=500,则执行y=x*0.9;否则(即x>500),执行y=x*0.8。所以此处应填if,以实现根据不同条件计算应付款的功能。故答案为:if。
17.3.0
【详解】本题主要考查Python数据类型。float() 函数用于将整数和字符串转换成浮点数,a=3,执行语句print(float(a)),则输出结果为3.0。
18.↔
【详解】本题考查符号运算。“↔”表示双条件关系,即两个命题同时为真或同时为假。
19.c=a∗b
【详解】本题考查的是流程图识读。观察数列:1、2、2、4、8、32、256…,可知an=an-2*an-1(n>=3),故空白横线处应填:c=a∗b。
20. -1,15,16 或其他等价答案
【详解】本题考查的是Python多分支语句。阅读程序可知,程序由三个分支:小于0、大于等于0小于16、大于等于16。故测试数据可以是:-1,15,16 或其他等价答案。
21.错
【详解】本题考查黑客与计算机病毒相关知识。黑客泛指擅长IT技术的电脑高手,计算机病毒是一种计算机程序,两者概念不相同,故题目说法有误。
22.正确
【详解】本题考查的是Python输出语句。*在字符串运算中表示重复。故print("abc" * 3)的执行结果是"abcabcabc"。题干说法正确。
23.错误
【详解】本题考查的是Python的自定义函数。用户自定义函数通过return语句可以返回多个数值。故题干中的说法是错误的。
24.正确
【详解】本题考查的是Python的range函数。range(start, stop [,step]) ;start 指的是计数起始值,默认是 0;stop 指的是计数结束值,但不包括 stop ;step 是步长,默认为 1,不可以为 0 。range() 方法生成一段左闭右开的整数范围。range(3,10,2)生成的列表为[3,5,7,9],故题干中的说法正确。
25. else: input a(i)
【详解】本题考查的是Python多分支语句。多分支语句格式:if……elif……else…….。故第一空应为else:;输入函数为input,故第二空为input;自定义函数为 a(n),输入的数存放在i中,故第三空应为a(i)。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$