内容正文:
第三单元 算法和程序设计
一、选择题
1.在Python编程语言中,以下哪个函数用于获取用户输入( )
A.input() B.output() C.read() D.write()
2.一元二次方程的两个实数的根分别为:,下列python表达式改写正确的是( )
A.X2=-b-math.sqrt(b**2-4*a*c)/(2*a) B.X2=(-b-math.sqrt(b**2-4*a*c))/(2*a)
C.X1=-b+math.sqrt(b**2-4*a*c)/(2*a) D.X1=(-b+math.sqrt(b**2-4*a*c)/(2*a)
3.流程图描述的算法执行结果是( )
A.15 B.20 C.25 D.36
4.若info越["Hello","老师",1,"辛苦了",6],则info[1:4]的值是( )
A.["Hello","老师",1,"辛苦了"] B.["Hello","老师",1]
C.["老师",1,"辛苦了",6] D.["老师",1,"辛苦了"]
5.下列Python表达式,表示赋值语句的是( )
A.i+2=i B.1=a C.c+=2 D.a+b==b+a
6.有如下Python程序段:
a=[0]*10
for i in range(16):
j=0
a[j]=a[j]+1
while a[j]==3:
a[j]=0
j=j+1
a[j]=a[j]+1
执行该程序后,数组元素a[1]的值为( )
A.1 B.2 C.3 D.4
7.运行于Linux操作系统的安装包文件是( )
A.install.exe B.install.tar C.setup.exe D.e.apk
8.在计算正方形的面积算法中,“第一步,输入边长a;第二步,计算正方形的面积s=a*a;第三步,输出正方形的面积s”。这种计算正方形面积的算法使用的基本控制结构是( )
A.顺序结构 B.选择结构 C.循环结构 D.分支结构
9.以下哪个问题可以用枚举法来求解( )
A.找出100以内同时被5和7整除的所有数
B.给定直角三角形两条边的长,求第三条边的长
C.求两个数的积
D.给定半径,求圆的面积
10.有如下 Python 程序段:
a = [-1] * 5
b = [-1] * 5
top1 = top2 = -1
i = 0
while i < 5:
ch = input("请输入操作:")
if ch == "T":
top1 += 1
a[top1] = i
else:
if top2 == -1:
while top1 != -1:
top2 += 1
b[top2] = a[top1]
a[top1] = -1
top1 -= 1
b[top2] = -1
top2 -=1
i += 1
若输入的操作依次为 TTQTQ,则a和b的值分别为( )
A.[3,-1,-1,-1,-1][-1,-1,-1,-1,-1] B.[3,-1,-1,-1,-1][0,1,-1,-1,-1]
C.[0,-1,-1,-1,-1][-1,-1,-1,-1,-1] D.[0,-1,-1,-1,-1][3,1,-1,-1,-1]
11.有如下Python程序段:
from random import randint
a=[1]*8
p=randint(1,7)
a[0]=p
for i in range(1,len(a)):
a[i]=a[i-1]+randint(1,5)*2
for i in range(len(a)-1,p,-1):
a[i]=a[i-1]
a[i-1]=p
print(a)
执行该程序段后,输出的结果可能是( )
A.[4,10,18,4,20,22,24,26] B.[6,14,22,32,40,44,6,46] C.[1,1,7,11,19,31,33,41] D.[2,5,2,7,17,19,21,29]
12.某算法的部分流程图如图所示。执行这部分流程,若输入x的值为21,则输出s和k的值分别为( )
A.4,7 B.-5,11 C.4,9 D.-5,9
13.在Python语言中,已知列表fruit=['苹果’,'香蕉','葡萄',西瓜','橘子','桃子'],则 fruit [4:6]的值为( )
A.['葡萄', '西瓜'] B.['西瓜’,'橘子'] C.['橘子','桃子'] D.['香蕉’,'葡萄']
14.小明为了学习选择排序的算法,编写了下面的代码。针对代码中红色文字所示的一、二、三处,下面说法正确的是?( )
a = [8,4,11,3,9]
count = len(a)
for i in range(count-1):
mi = i
for j in range(i+1,count):
if a[mi] > a[j]: #代码一
mi = j #代码二
if i!=mi:
a[mi],a[i] = a[i],a[mi] #代码三
print(a)
A.如果找到更大的元素,则记录它的索引号
B.如果找到更小的元素,则记录它的索引号
C.在一趟选择排序后,不管是否找到更小的元素,mi所在元素都得与i所在的元素发生交换
D.代码三所在的行必然要运行
15.人们根据特定的需要,预先为计算机编制的指令序列称为( )
A.软件 B.程序 C.语句 D.文件
16.结构化程序设计的三种基本控制结构是( )
A.顺序、选择和转向 B.层次、网状和循环 C.模块、选择和循环 D.顺序、循环和选择
二、填空题
17.在人工智能中, 是指机器对人类语言的理解和生成能力。
18.在Python中, 函数用于输出信息到控制台。
19.在程序的开始位置输入语句 numpy,即可导入Numpy模块。
20.有如下 Python 程序段:
li=[["a",10],["b",20],["c",30]]
dic={}
for i in range(len(li)):
dic[li[i][0]]=li[i][1]
print(dic)
运行该段程序后,输出内容为
21.用户自定义函数是用户自己写的一段程序。一般包括 、 、 和 等四部分。
三、判断题
22.在python中,运行以下程序,输出的结果是2。( )
a=5
b=3
c=6
c=a%b
print(c)
23.读下面的python程序,在划线处填写上“a<b”,则程序的输出结果是True。( )
a=5
b=8
if :
print("True")
else:
print("Flase")
24.计算机算法的三个基本控制结构可以解决大多数类型的算法问题。( )
25.在循环结构中,可以用continue语句跳出当前循环体。( )
26.算法是解决特定问题的一系列有序步骤。( )
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.A
【详解】本题考查Python函数的应用。在Python编程语言中,input()函数用于获取用户输入。output()、read()和write()函数并不用于直接获取用户输入。output()并不是Python中的标准函数,read()通常用于从文件中读取数据,write()通常用于向文件中写入数据。故选A。
2.B
【详解】本题考查Python基础。
分子需要加括号,以改变计算的优先级。故排除选项A、C。选项D,少一个括号。故正确答案为:选项B。
3.B
【详解】本题考查流程图。程序运行过程如下。因此最终n的值为20。故答案为:B。
i
n
1
0
2
5
3
10
4
15
5
20
4.D
【详解】本题考查Python基础。
info[1:4]表示从列表索引为1的元素开始取,一直取到索引为3的元素。故正确答案为:选项D。
5.C
【详解】本题考查Python基础。
赋值语句的特点是把“=”右边的结果赋值给左边的变量,“=”左边必须是变量。故正确答案为:选项C。
6.B
【详解】本题考查Python基础。
外循环每循环一次给a[0]累加1,每循环三次后,给a[1]累加1。 当外循环循环9次,给a[1]累加到3,则给a[2]累加1。 此时,外循环再次循环6次,此时a[0]累加到3,a[1]累加到2。此时再循环一次,a[0]累加到1,结束循环。则a[0]=1,a[1]=2,a[2]=1。外循环一共执行16次,循环结束后a=[1,2,1,0,0,0,0,0,0,0],则a[1]的值为2。故正确答案为:选项B。
7.B
【详解】本题考查Linux操作系统的描述。exe是Windows可执行文件,tar是运行于Linux操作系统的安装包文件,apk是安卓系统安装包文件。故选B。
8.A
【详解】本题考查控制结构。顺序结构是程序中最基本的控制结构,按照代码编写的顺序依次执行每一条语句。在计算正方形面积的算法中,通常会按照先计算边长,然后计算面积的顺序进行操作,属于顺序结构。故答案为:A。
9.A
【详解】本题考查的是枚举法相关知识。枚举算法通过列举问题所有可能的解,并逐一检查每个解是否满足问题的条件。故选项A正确。
10.A
【详解】本题考查Python程序。该程序段模拟了两个栈的操作,根据输入字符进行相应的操作,将元素从一个栈转移到另一个栈,并根据输入字符的顺序进行操作。程序大致思路:初始化两个栈a和b以及栈顶指针top1和top2。根据输入字符ch判断操作:如果ch为"T",将当前索引i压入栈a。如果ch为其他字符,先将栈a中的所有元素转移到栈b,然后弹出栈b的栈顶元素。更新索引i,重复操作直到索引达到5。输入的操作依次为TTQTQ,根据上述过程,可知最后的a的值为[3,-1,-1,-1,-1];b的值为[-1,-1,-1,-1,-1]。故答案为:A。
11.B
【详解】本题考查Python程序。程序中首先创建了一个包含8个元素的列表a,并将第一个元素初始化为一个随机数p。然后,通过循环依次计算列表中后续元素的值,每个元素的值为前一个元素的值加上一个随机数乘以2。接着,又通过一个循环将列表中从第p个元素开始到倒数第二个元素的值向后移动一位,并将原来位置上的值替换为p。最后,输出列表a,最终程序结束时,一定有a[p]=p。A选项错误,不存在a[p]=p。C选项错误,由输出结果可知,p=1,但此时a[5]-a[4]=12,由题中a[i]=a[i-1]+randint(1,5)*2可知,该情况不可能存在。D选项错误,由输出结果可知,p=2,但a[1]-a[0]=3,由题中a[i]=a[i-1]+randint(1,5)*2可知,该情况不可能存在。故答案为:B。
12.B
【详解】本题考查流程图分析。
根据题意执行过程如下表所示,则输出s和k的值分别为-5,11。
项目
x
s
k
初值
21
0
1
1
10
-1
3
2
5
2
5
3
2
-3
7
4
1
4
9
5
0
-5
11
故选择B。
13.C
【详解】本题考查Python切片操作。切片操作基本表达式:object[start_index:end_index:step],step:正负数均可,其绝对值大小决定了切取数据时的“步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。start_index:表示起始索引(包含该索引对应值),该参数省略时,表示从对象“端点”开始取值。end_index:表示终止索引(不包含该索引对应值),该参数省略时,表示一直取到数据“端点”。 fruit [4:6]表示取索引4~5的字符,即['橘子','桃子']。故选C。
14.B
【详解】本题考查Python程序设计相关内容。分析程序段,推知:代码一与代码二处,若a[mi] > a[j]成立,则执行mi = j,表明mi保存的是较小元素的索引号,B选项说法正确。若i==mi成立,则CD选项不会发生。故本题答案是B选项。
15.B
【详解】本题考查计算机程序相关内容。计算机程序是一组计算机能识别和执行的指令集合。软件是按照特定顺序组织的计算机数据和指令的集合。语句就是一条计算机指令,告诉计算机要做什么。计算机文件是以计算机硬盘为载体存储在计算机上的信息集合,文件可以是文本文档、图片、程序等等。故本题答案是B选项。
16.D
【详解】本题考查程序控制结构。结构化程序设计中的三种基本控制结构是顺序、循环和选择。顺序指的是按照代码的顺序逐行执行;循环指的是根据条件重复执行特定的代码块;选择指的是根据条件选择执行不同的代码块。故答案为:D。
17.自然语言处理
【详解】本题考查人工智能。
在人工智能中,自然语言处理(NLP,Nature Language Processing)是指机器对人类语言的理解和生成能力。NLP是计算机科学领域和人工智能领域的一个重要方向,它致力于让机器在理解语言上像人类一样智能,从而弥补人类交流(自然语言)和计算机理解(机器语言)之间的差距。故正确答案为:自然语言处理。
18.print
【详解】本题考查Python基础。
在Python中,print() 函数用于输出信息到控制台。故正确答案为:print。
19.import
【详解】本题考查模块。在Python中,要使用某个模块,需要使用import语句来导入。Numpy是Python中的一个重要的科学计算库,要使用它,就在程序开始位置输入import numpy来导入。故答案为:import。
20. {'a': 10, 'b': 20, 'c': 30}
【详解】本题考查的是字典及循环语句。由dic[li[i][0]]=li[i][1]可知,程序的功能是将嵌套列表中,列表的第一个元素作为字典的键,第二个元素作为字典的值,li=[["a",10],["b",20],["c",30]],运行该段程序后,输出内容为: {'a': 10, 'b': 20, 'c': 30}。
21. 函数名 函数体 参数 返回值
【详解】本题考查Python函数相关内容。在Python中,函数是一个可以接收输入参数并执行某个特定任务的代码块。函数可以定义一次并在需要时重复使用,避免了在代码中重复编写相同的逻辑。Python函数通常由关键字“def”开始定义,并可以接受任意数量的输入参数。函数可以执行任何代码块,并可以返回值或不返回任何值。函数可以嵌套在其他函数或类中,并且可以被其他函数调用。函数是非常重要的程序组件。使用函数可以大大简化程序代码,并提高代码的可读性和可维护性。用户自定义函数是用户自己写的一段程序,一般包括:函数名、函数体、参数、返回值。
22.正确
【详解】本题考查Python基础。
a=5,b=3,a%b表达式结果为求出余数。5除以3的余数为2。故题目正确。
23.正确
【详解】本题考查Python基础。
a=5,b=8,a<b返回逻辑真。故输出True。故正确。
24.正确
【详解】本题考查算法。计算机算法的三个基本控制结构:顺序结构、选择结构和循环结构,在解决算法问题中起着核心作用。这三个基本控制结构可以构成解决大多数算法问题。故正确答案为正确。
25.错误
【详解】本题考查Python基础。这个说法错误。在循环结构中,continue语句的作用是跳过当前循环的剩余部分,并立即开始下一次迭代。它并不用于跳出整个循环体,而是用于提前结束当前循环的这一次迭代。
26.正确
【详解】本题考查算法。算法是计算机科学中的一个核心概念,它是指为解决某一特定问题而设计的一系列有序、明确的、可执行的步骤或指令的集合。这些步骤或指令描述了如何逐步地将输入数据转换为所需的输出数据。故正确。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$