内容正文:
第2章 算法与程序实现2024—2025学年高中信息技术人教/中图版(2019)必修1
一、选择题
1.某算法的部分流程图如图所示。执行这部分流程,输出值为( )
A.4 True B.4 False C.5 True D.5 False
2.python用来表示代码块所属关系(控制层级结构的)的语法符号是( )
A.圆括号 B.大括号 C.缩进 D.冒号
3.阅读如图所示的绘制x5+x4+x-3=0图象的程序代码。
import numpy as np
import matplotlib.pyplot as plt
x=np.arange(-1,2,0.01)
y=x**5+x**4+x-3
plt.plot(x,y)
plt.title('x^5+x^4+x-3')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
下列选择错误的是( )
A.arange(-1,2,0.01)表示在-1,2之间,每隔0.01取一个点
B.plt.plot(x,y) 表示绘制图像
C.plt.xlabel('X')、plt.ylabel('Y')表示绘制X、Y轴
D.plt.show()显示图像
4.有VB程序段如下:
s1 = Text1.Text
s2 = ""
For i = 1 To Len(s1)
c = Mid(s1, i, 1)
If c >= "0" And c <= "9" Then
c = Chr((Asc(c) - Asc("0") + 1) Mod 10 + Asc("0"))
s2 = s2 + c
ElseIf c >= "A" And c <= "Z" Then
c = Chr(Asc(c) + 32)
s2 = c + s2
End If
Next i
Text2.Text = s2
执行该程序段,在文本框Text1中输入“GoLand,19”,则文本框Text2中显示的内容为( )
A.lg20 B.lg210 C.210,dnalog D.210,goland
5.不属于流程图基本元素的是( )
A.流程线 B.判断框 C.起始框 D.循环框
6.Python中range( )函数可以生成某个范围内的数字列表,下列哪个函数可生成1-100数字列表( )
A.range(100 ) B.range(101) C.range(1,101) D.range(1,100)
7.与表达式not x<0 or y%2==0具有相同功能的是( )
A.x>=0 and y%2==1 B.x>=0 and y//2==0 C.x>0 or y/2==int(y/2) D.x>=0 or y//2==y/2
8.身体质量指数=体重/身高的平方(国际单位:kg/m2),用变量w(kg)表示体重,h(cm)表示身高,h=180,w=65,下列关于身体质量指数BMI的Python 代码表达式正确的是( )
A.w//((h//100)**2) B.w//(h//100**2) C.w/(h/100)**2 D.w/(h/100**2)
9.有如下Python程序段:
s=input("请输入待处理字符串:")
st=""
for i in range(len(s)):
ch=s[i]
if"0"<=ch<="9":
ch=str((int(ch)+3)%10)
st=st+ch
else:
if"A"<=ch<="Z":
ch=ch.lower()
st=st+ch
print(st)
执行程序后,输入字符串"Happy2024!",输出的结果( )
A.7535happy! B.4202Happy! C.!7535yppah D.happy5357!
10.设a、b、c为变量,将代数式改为Python表达式,正确的写法是( )
A.a/b+c/d B.a/(b+c)/d C.(a/b+c)/d D.a/(b+c/d)
11.利用枚举算法解决“鸡兔同笼”问题,可以作为枚举对象的是( )
A.鸡、兔和笼 B.兔和笼 C.鸡和笼 D.鸡和兔
12.某算法的部分流程图如图所示,若输入的 n 值为 95,最终输出的 S 值为( )
A.00010111
B.11010000
C.11100000
D.00000111
13.下列问题不能用算法描述的是( )
A.已知a、b、c的值,求一元二次方程ax2+bx+c=0(a≠0)的实数根
B.计算某个班级学生身高的平均值
C.列出方程y=2x+1的所有实数解
D.根据三角形三边长度求三角形面积
14.有如下Python程序段:
s=input()
occ=""
n=len(s)
rk=ans=0
for i in range(n):
while rk < n and s[rk] not in occ:
occ+=s[rk]
rk+=1
ans=max(ans,rk-i)
occ=occ[1:]
print(ans)
执行该程序段后,若输入字符串s的值为“ilovexuejun”,则输出ans的值为( )
A.6 B.7 C.8 D.9
15.用枚举算法输出100以内既能被3整除又能被5整除的数据,我们可以从算法不同角度去思考,确定枚举范围,下列选项中Python程序处理有误的是( )
A.for i in range(1,101):
if i%3==0 and i%5==0:
print(i)
B.for i in range(1,101):
if i %15==0:
print(i)
C.for i in range(15,101,15):
print(i)
D.for i in range(1,101//15):
print(i*15)
A.A B.B C.C D.D
16.某算法的流程图如图,以下说法正确的是( )
A.程序运行结束后,k的值是奇数 B.循环共进行了10次
C.程序结束后,t的值一定大于20 D.t<20?执行的次数是 10次
17.有如下 python 程序段:
n='15867239012'
s=0
for x in n:
if int(x)%2==0:
continue
elif s==14:
break
s+=int(x)
print(s)
该程序段执行后,则输出结果为 ( )
A.18 B.26 C.14 D.17
18.某算法部分流程图如图所示,输入k的值为4,n的值为8,执行这部分流程后,输出m的值为( )
A.1098 B.8901 C.9018 D.1890
19.流程图描述的算法功能是( )
A.计算1+2+3+…+49+60的和 B.计算1+3+5+…+97+119的和
C.计算1+3+5+…+47+59的和 D.计算1∗2∗4∗…∗98∗119的积
20.某市水费计价标准是:10吨以内(含10吨)每吨收费3元,超过10吨的部分,按每吨4元收费。根据以上标准,用于计算水费y的流程图如下图所示,流程图的菱形框中应填入( )
A.x<=10 B.x>10 C.x<=3 D.x>3
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.C
【详解】本题考查的是流程图。执行过程如下:
i=2,n=35,flag=False,
2<=34,Y,35mod2=0,N,i=3
3<=34,Y,35mod3=0,N,i=4
4<=34,Y,35mod4=0,N,i=5
5<=34,Y,35mod5=0,Y,flag=True,输出i=5,flag=True,故选项C正确。
2.C
【详解】本题主要考查Python语法。python用来表示代码块所属关系(控制层级结构的)的语法符号是缩进,故本题选C选项。
3.C
【详解】本题主要考查Python图像绘制函数。arange(-1,2,0.01)表示在-1,2之间,每隔0.01取一个点;plt.plot(x,y) 表示绘制图像;plt.xlabel('X')、plt.ylabel('Y')表示设置X轴、Y轴的标签文本;plt.show()显示图像,故本题选C选项。
4.A
【详解】本题主要考查VB中循环结构及选择结构嵌套。题中循环结构用于将文本框Text1接收的字符串中字符逐个提取,选择结构的嵌套用于判断字符是否为0-9或A-Z,若为0-9,则执行“Chr((Asc(c) - Asc("0") + 1) Mod 10 + Asc("0"))”,若为A-Z,则执行“Chr(Asc(c) + 32)”,其余字符则不执行任何操作,且不合并入字符串s2,根据题意,Text2输出结果含4个字符,因此A选项正确。
【点睛】
5.D
【详解】本题考查算法流程图相关内容。流程图基本元素是:流程线、判断框、起始框、输入输出框、处理框等。循环框不属于流程图基本元素。故本题答案是D选项。
6.C
【详解】本题主要考查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数字列表是range(1,101),故本题选C选项。
7.D
【详解】本题主要考查Python表达式的运算。表达式not x<0 or y%2==0的意思是x大于等于0或y是偶数,与表达式not x<0 or y%2==0具有相同功能的是x>=0 or y//2==y/2(//是整除运算符,/是除运算符),故本题选D选项。
8.C
【详解】本题主要考查Python表达式的运算。“//”是整除运算符,“/”是除运算符,“**”是幂运算符,身体质量指数=体重/身高的平方(国际单位:kg/m2),BMI是浮点型,应使用除运算符,故正确的表达式是w/(h/100)**2,故本题选C选项。
9.D
【详解】本题考查Python程序分析能力。if语句判断循环遍历的字符串,如果是数字0到9,则数字加3并取余数。如果是大写字母,则转换成小写字母。其它字符不变。以上处理结果逆序存放在st中,最后输出st。故选项D为正确答案。
10.D
【详解】本题主要考查Python表达式。Python中,除运算用“/”表示,故该代数式改为Python表达式,正确的写法是a/(b+c/d),故本题选D选项。
11.D
【详解】本题主要考查枚举算法。利用枚举算法解决“鸡兔同笼”问题,可以作为枚举对象的是鸡和兔,故本题选D选项。
12.C
【详解】本题主要考查算法流程图。n=95,a=128,s="",第一遍循环,满足a>0,不满足n>a,s=1,a=a\2=64,第二遍循环,满足a>0,满足n>a,n=n-a=95-64=31,s=s+“0”=10,a=a\2=32,第三遍循环,满足a>0,不满足n>a,s=“1”+s=110,a=a\2=16,第四遍循环,满足a>0,满足n>a,n=n-a=31-16=15,s=s+“0”=1100,a=a\2=8,第五遍循环,满足a>0,满足n>a,n=n-a=15-8=7,s=s+“0”=11000,a=a\2=4,第六遍循环,满足a>0,满足n>a,n=n-a=7-4=3,s=s+“0”=110000,a=a\2=2,第七遍循环,满足a>0,满足n>a,n=n-a=3-2=1,s=s+“0”=1100000,a=a\2=1,第八遍循环,满足a>0,不满足n>a,s=“1”+s=11100000,a=a\2=0,故本题选C选项。
13.C
【详解】本题考查的是算法相关知识。算法的五大特征:有穷性、确定性、能行性(可行性)、有 0 个或多个输入、有一个或多个输出。方程y=2x+1的所有实数解有无数个,违背了算法的有穷性。故本题应选C。
【点睛】
14.B
【详解】本题考查Python程序。给定字符串“ilovexuejun”,我们需要找出不包含重复字符的最长子串,并输出其长度。程序使用了滑动窗口的方法,通过两个指针(i和rk)和一个临时字符串(occ)来实现。具体步骤如下:初始化:输入字符串s为“ilovexuejun”,occ为空字符串,n为字符串长度11,rk和ans都初始化为0。遍历字符串:对于每一个起始位置i,通过内循环移动rk指针找到最长的无重复字符子串,并更新occ和ans。内循环条件是rk未到达字符串末尾且字符s[rk]未出现在occ中。每次rk移动时,将当前字符s[rk]加入occ,并更新rk。内循环结束后,更新ans为当前最长无重复子串的长度rk-i。更新occ为去掉第一个字符的子串,为下一次迭代做准备。最后打印ans。根据以上过程,可知输出ans的值为:7。故答案为:B。
15.D
【详解】本题考查枚举算法相关内容。选项A、B、C答案均正确:通过条件数学等价式分析,我们发现能被15整除的数一定能被3和5同时整除。从算法执行的效率上来看,选项A、B枚举的范围都是[1,100],执行次数相同。选项C枚举的是公差为15的等差数列,100以内的数据共有6个:15,30,45,60,75,90。因此选项C枚举算法执行效率较高。选项D本意是想枚举15的整数倍,错误的原因在于边界,101//15值为6,但是变量i的取值为[1..5],遗漏了90这组解。故本题答案是D选项。
16.D
【详解】本题考查程序分析。
t的变化过程:2,4,6,8,10,12,14,16,18,20,第10次判断时,t=20,t<20不成立,退出循环,循环体执行9次,最后k的值是270,是偶数。故正确答案为:选项D。
17.B
【详解】本题主要考查Python程序执行。分析程序,变量x是依次取字符串n中的字符,当int(x)是偶数时跳过本轮循环,若s的值为14则退出循环,其余情况执行s+=int(x),故s=0+1+5+7+3+9+1=26,故本题选B选项。
18.B
【详解】本题考查流程图。程序运行过程如下。由此可知,最终输出的m的值为8901。故答案为:B。
k
n
i
m
4
8
0
0
4
9
1
8
4
0
2
89
4
1
3
890
4
2
4
8901
19.B
【详解】本题考查算法流程图相关内容。由图可知,其功能是计算1+3+5+…+(2*i+1)的和,在循环内,i最大值为59,2*59+1=119,故本题答案是B选项。
20.B
【详解】本题考查算法流程图相关内容。结合题目内容,分析流程图,若用水量在10吨以内(含10吨)每吨收费3元,超过10吨的部分,按每吨4元收费。可以描述为:x<=10时,水费y=3*x;x>10时,水费y=3*10+4*(x-10)。对比四个选项,B选项符合题目要求,故本题答案是B选项。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$