一.选择题(共40小题)
1.高级语言与机器语言相比,以下叙述错误的是( )
A.采用高级语言编写的程序占用内存空间较大,执行速度较慢
B.高级语言更接近人类的自然语言,易学易记
C.采用高级语言编写的程序可读性强,修改方便
D.采用高级语言编写的程序通用性弱,不易移植
2.关于算法的描述方法,以下叙述错误的是( )
A.流程图中的每个步骤并不一定与计算机程序中的语句完全一一对应
B.常用的算法表示方法有自然语言描述、流程图描述、伪代码或程序设计语言描述
C.较之自然语言,用程序设计语言描述算法可以减少歧义的产生
D.流程图描述仅适用于用计算机解决问题
3.小张用Python语言编写了一段程序,调试时却发现有问题,该程序违背了算法的_____特征。( )
j=int(input(“请输入一个正整数:“)) k=2 while k>=2: k=k+j Print(k)
A.有输入项 B.有输出项 C.有穷性 D.确定性
4.流程图符号中,和一般作为( )
A.输入输出框和处理框 B.开始结束符和处理框
C.输入输出框和判断框 D.开始结束符和判断框
5.下列Python程序段的运行结果是( )
a=123
b=100
if a>b:
a=a+b
else:
b=a﹣b
c=a+b
print(c)
A.323 B.223 C.77 D.﹣23
6.计算变量s的步骤如下:
①变量s的初值为0,f的初值为﹣1,变量i的初值为2
②若i不超过10,则执行③,否则执行⑤
③s→s+f*i*(i+2),f→﹣f
④将i的值增加2,返回②
⑤输出变量s的值
则下列说法正确的是( )
A.该算法采用伪代码描述
B.该算法基本结构为分支结构
C.计算s的代数式可表示为:﹣2*4+4*6﹣6*8+8*10﹣10*12
D.若去掉步骤④中的“将i的值增加2”,则违反了算法的可行性特征
7.以下文本框内是一段用Python程序设计语言编写的源代码,功能是两数求和。这段源代码属于( )
A.指令 B.程序 C.软件 D.命令
8.使用不同的编程语言计算1+2,下列说法错误的是( )
A.机器语言具有灵活、直接执行和速度快等特点
B.汇编语言依赖于硬件体系,且助记符量大难记
C.高级语言可读性好,能直接被计算机执行
D.汇编语言必须经过转换后才能被计算机执行
9.下列Python程序所表示的算法,违反的算法特点是( )
A.可行性 B.至少有一个数据输出
C.确定性 D.有穷性
10.关于算法,以下叙述中正确的有( )
①算法就是程序
②算法是指解决问题的方法和步骤
③算法可以用流程图来描述
④思维导图也是算法的描述方法之一
A.1个 B.2个 C.3个 D.4个
11.有如下python程序段:
该程序段运行后,变量k1,k2的值分别为( )
A.2,5 B.4,0 C.5,2 D.0,4
12.有如下Python程序段:
上述程序段执行结束,下列说法正确的是( )
A.a列表中第3大的数r
B.cnt的值为2
C.1的值为12
D.mid=(l+r)//2代码执行3次
13.某排序算法的Python程序段如下:
已知a=[57,39,21,16,68,41],执行该程序段后,列表a 的值是( )
A.[16,21,39,41,57,68] B.[16,21,39,57,41,68]
C.[68,57,41,39,21,16] D.[16,21,57,39,41,68]
14.有如下Python程序段:
运行上述程序段后,如果输入10,则q[n]的值是( )
A.15 B.22 C.27 D.31
15.用Python算法控制结构描述:空气质量指数AQI值大于100,小于等于150称为轻度污染;大于150称为中度以上污染。设M为AQI值,Z为污染程度。下列选项正确的是( )
A. B.
C. D.
16.执行下列程序后,变量X的值是( )
PRIVATE SUB FORM__CLICK( )
S=0
FOR A=1 TO 5
FOR B=1 TO 3
S=S+1
NEXT B
NEXT A
PRINT S
END SUB
A.70 B.8 C.25 D.15
17.有如图所示流程图,分别输入 12,21,则输出的 m 值为( )
A.3 B.4 C.9 D.12
18.假设有30颗糖果,两人轮流取糖果,每次可以取1至2颗,拿到最后一颗糖果的人获胜。如果你想获胜,你一定要选择后取。具体做法是:若对手取i颗(i为1或2),那么自己取( )颗糖果,此做法必然确保获胜。
A.3﹣i B.4﹣i C.i D.1
19.课堂上老师给出题目:查找1000以内所有能被13整除并且末尾是5的自然数。下列算法最合适的是( )
A.查找法 B.迭代法 C.解析法 D.枚举法
20.下列代码的输出结果是( )
A.2,4 B.1,2,3,4,5, C.2,4, D.1,3,5,
21.有如下VB程序段:
For i=1 to 3
For j=1 to 5﹣i
If a(j)>a(j+1)Then
t=a(j):a(j)=a(j+1):a(j+1)=t
End If
Next j
Text1.Text=Str(a(i))+Text1.Text
Next i
数组元素a(1)到a(5)的值依次为“2,9,7,8,5”。若该程序段执行后,文本框Text1显示的内容是( )
A.2 5 7 B.9 8 7 C.2 7 7 D.7 7 2
22.我们保存一个编写好的程序,工程文件是以( )作为扩展名的。
A.frm B.vbp C.bat D.bas
23.下列程序的执行结果是( )
for i in range(2):
print(i)
for i in range(4,6):
print(i)
A.2 4 6 B.0 1 2 4 5 6
C.0 1 0 1 2 3 D.0 1 4 5
24.用计算机解决问题的一般过程有四个步骤,其中正确的顺序是( )
①解决问题
②调试运行
③设计方案
④分析问题
A.①②③④ B.①③②④ C.④②③① D.④③②①
25.某算法用伪代码描述如下。
关于上述算法,下列说法正确的是( )
A.不符合“可行性”的特征
B.此算法不能用流程图来描述
C.运用了循环结构实现两个数的交换
D.实现将两个自然数按从大到小的顺序输出
26.某算法的部分流程图如图所示,下列说法正确的是( )
A.执行结束后,s的值为127
B.执行结束后,i的值为101
C.该算法的时间复杂度为O(n)
D.调换s←s+i和i<←i*2的顺序,对结果没有影响
27.汉诺塔(TowerofHanoi),又称河内塔,是一个源于印度古老传说的益智玩具。玩具有A,B,C三个柱子,以3个圆盘为例,需要将A柱子上的3个圆盘,移动到C柱子上(如下图所示)。规则为:首先,移动时,大圆盘不能放在小圆盘上;其次,在三根柱子之间每一次只能移动一个圆盘。小明经尝试后获得胜利,并把解决问题算法表达如下:
①将1号盘移动到C柱;
②将2号盘移动到B柱;③将1号盘移动到B柱;
④将3号盘移动到C柱;⑤将1号盘移动到A柱;
⑥将2号盘移动到C柱;⑦将1号盘移动到C柱。
请问这种算法的描述属于( )
A.伪代码 B.程序设计语言
C.流程图 D.自然语言
28.某算法的部分流程图如图所示。输入整数型变量n的值为10,执行这部分流程后,输出k的值为( )
A.0 B.2 C.4 D.5
29.下面流程图是判断一个大于1的整数n是否为素数的算法。若输入79后,输出结果为“79是素数”。则该程序执行完后共循环几次,最后i的值是多少( )
A.78,78 B.78,79 C.77,78 D.77,79
30.某算法的部分流程图如图所示,执行这部分流程后,输出s的值为64,则①处应填入( )
A.i/4=2 B.i\4=2 C.i%2=1 D.i%2=0
31.下列问题不能用算法描述的是( )
A.输入边长,求正方形的面积
B.输入学生的身高和体重,求他们的身体指标值
C.输入三个数,求这三个数的最大数
D.输出所有5的倍数
32.有流程图如图所示:
执行该算法后,输出变量b的值为( )
A.30 B.25 C.﹣10 D.﹣5
33.某算法的部分流程如图所示,若输入字符串s为“Hello,2023!“,则输出结果为( )
A.0 B.4 C.5 D.7
34.某算法的部分流程图如图所示,执行该流程图后,s和i的值分别为( )
A.315 101 B.315 102 C.135 101 D.135 102
35.某算法的部分流程图如图所示:执行流程图后,变量 sum、i的值分别是( )
A.14,5 B.17,4 C.31,4 D.14,4
36.下列关于算法的说法正确的是( )
A.算法解决问题的一般过程依次为“设计算法—抽象与建模—描述算法”
B.数据、运算和控制转移是算法三大要素
C.任何算法都必须要有至少一个输入数据和一个输出数据
D.同一种算法只能用一种表示方法
37.下列说法不正确的是( )
A.算法的要素有数据、运算和控制转移
B.常见的算法描述方式有自然语言、流程图、伪代码、计算机程序设计语言等
C.算法的控制结构有顺序结构、分支结构、树形结构、循环结构
D.算法解决问题的一般过程是“抽象与建模→设计、描述算法→算法的程序实现”
38.下列关于算法效率的描述,正确的是( )
A.算法效率指的是算法的时间复杂度
B.通常,随着问题规模n的增大,函数值增长较慢的算法较优
C.时间复杂度常用符号T来表示,如2*n*(n﹣1),其时间复杂度可以表示为T(n2)
D.常见时间复杂度耗费时间的大小关系为:常数阶<对数阶<指数阶<平方阶
39.若空气污染API值小于等于50,说明空气质量为优。那么,判断空气质量是否为优的部分流程图框图应该是( )
A. B.
C. D.
40.有如下VB程序段:
c=Text1.Text
s1=“jiayou!“s2=s1+s1
For i=1 to len(s1)
If c=Mid(s2,i,Len(s1)) Then Exit For
Next i
Label1.Caption=Str(i)
程序执行完后,Label1中显示的内容是4,则Text1中输入的内容是( )
A.“jiayou!“ B.“you!jia“ C.“ayou!ji“ D.“jayou!j“
参考答案与试题解析
一.选择题(共40小题)
1.【解答】解:机器语言的特点:难学、难懂、难理解;无通用性;需要人为分配内存;运行速度最快。汇编语言的特点:程序的执行效率非常高、占用存储空间小、运行速度快;缺乏通用性,程序不易移植。高级语言的特点:容易、有一定通用性、计算机不能直接识别和执行。所以选项D符合题意。
故选:D。
2.【解答】解:程序流程图的作用 程序流程图是人们对解决问题的方法、思路或算法的一种描述。所以选项D说法符合题意。
故选:D。
3.【解答】解:阅读程序段可知,变量k没有终值,不符合算法的有穷性的特征,所以选项C符合题意。
故选:C。
4.【解答】解:流程图中各类图形的含义:开始形状/结束形状,“跑道圆”形状代表开始或者结束;处理过程,“矩形”;判断,“菱形”;平行四边形,数据的输入或者输出。所以选项A符合题意。
故选:A。
5.【解答】解:已知a=123,b=100,满足a>b,执行a=a+b=223,再执行c=a+b=223+100=323,所以选项A符合题意。
故选:A。
6.【解答】解:如上所述,该算法的描述方法为自然语言,该算法基本结构为循环结构,在语句“将i的值增加2,返回②”可以得到,计算s的代数式可表示为:﹣2*4+4*6﹣6*8+8*10﹣10*12;若去掉步骤④中的“将i的值增加2”,则违反了算法的有穷性特征,所以选项C说法符合题意。
故选:C。
7.【解答】解:程序就是一系列有序执行的指令集合,分析可知,这段源代码属于程序,故本题选B选项。
故选:B。
8.【解答】解:高级语言可读性好,但不能直接被计算机执行,需要先进行编译,转换为机器语言,所以选项C符合题意。
故选:C。
9.【解答】解:分析程序可知,由于变I的值一直为10不会发生变化,所以循环会一直进行,程序会陷入死循环,违反的算法的有穷性特征,所以选项D符合题意。
故选:D。
10.【解答】解:算法是指解决问题的方法和步骤;算法的描述方法有:自然语言、伪代码、流程图以及程序设计语言,思维导图不是算法的描述方法,所以选项B符合题意。
故选:B。
11.【解答】解:阅读程序段可知,程序段实现的是查找列表中前两大元素的下标分别赋值给k1,和k2,得到k1=0,k2=4,所以选项D符合题意。
故选:D。
12.【解答】解:阅读题干可知,l=1,r=20,则mid=(l+r)//2=10,观察列表可知列表a中大于10的元素有三个,所以ant的值为3,mid=(l+r)//2代码执行4次,1的值为12,所以选项C符合题意。
故选:C。
13.【解答】解:根据range函数可知,外循环共执行两次,每次循环将数组中最小的值放在前面,所以当I=0时,得到的列表为[16,57,39,21,41,68],当I=1时,得到的列表为[16,21,57,39,41,68]。
故选:D。
14.【解答】解:阅读程序段可知q[0]=1,此时判断2*q[two]+1<3*q[three]+1,执行rear=1,q[1]=2*0+1=3,two=1,three=0;继续判断2*q[two]+1>3*q[three]+1成立,执行q[2]=3*1+1=4,two=1,three=1;继续判断2*q[two]+1<3*q[three]+1成立,执行rear=3,q[3]=2*3+1=7...依次得到q[4]=9,q[5]=11,q[6]=13,q[7]=15,q[8]=19,q[9]=22,此时继续执行不在满足rear!=n的条件,所以得到q[n]的值为22。
故选:B。
15.【解答】解:根据题干信息“空气质量指数AQI值大于100,小于等于150称为轻度污染;大于150称为中度以上污染。”,使用分支语句书写为If﹣elif﹣else语句形式,由于小于100题干中没说明,但书写需要预留此部分,所以选项A符合题意。
故选:A。
16.【解答】本题主要考查循环的嵌套。循环的嵌套在执行时,先执行内层循环,再执行外层循环,本题内层循环执行3次,外层循环执行5次,总计执行15次,因此D选项正确。
故选:D。
17.【解答】解:已知,m=12,n=21,r=m%n=12,则m=n=21,n=r=12;此时m=21,n=9,r=m%n=3,则m=n=9,n=r=3;m=9,n=3,r=m%n=0,则m=n=3,n=r=0;所以选项A符合题意。
故选:A。
18.【解答】解:只要后拿,并且每次对方拿一个自己就拿2个,对方拿2个自己就拿1个,保证每轮都是拿3个,这样最后必然是剩3个,所以你只需要拿3减去对方所拿的糖的个数即可。
故选:A。
19.【解答】解:要查找1000以内所有能被13整除并且末尾是5的自然数,需要一一列举,进行判断,所以适合用枚举法进行解答。
故选:D。
20.【解答】解:根据range函数的用法可知,变量i,取值从1到5,如果满足i%2==1成立,则继续,反之则输出i的值,所以符合条件的变量为2,4,所以选项A符合题意。
故选:A。
21.【解答】解:根据外循环可知,循环执行3趟,根据内循环可知,排序方向为从上往下,结合If a(j)>a(j+1)Then可知,将数值更大的往下换,形成升序排序。i=1时,a(1)=2,i=2时,a(2)=7,i=3时,a(3)=7。故最终text1中为772。
故选:D。
22.【解答】解:FRM文件通常被各种软件用作的表单文件;在VB中,工程文件的扩展名是vbp。vbp,Visual Basic Project为VB的工程文件;“.bat”是指“批处理文件”,是一种可执行文件;BAS文件格式是BASIC语言编写的源程序。所以选项B符合题意。
故选:B。
23.【解答】解:阅读程序段可知,第一个for循环输出0和1,第二个for循环输出4和5,故本题选D选项。
故选:D。
24.【解答】解:用计算机解决问题的一般过程有四个步骤,分析问题、设计方案、调试运行、解决问题。
故选:D。
25.【解答】解:阅读程序段可知,程序实现的是先比较A和B两个数的大小,然后按照升序的方式将其输出,所以选项D说符合题意。
故选:D。
26.【解答】解:已知s=0,i=1,判断I<100成立,执行s=s+i=1,i=I*2=2;
已知s=1,i=2,判断I<100成立,执行s=s+i=3,i=I*2=4;由此可知I的值分别为1,2,4,8...;所以s的值也就是I的相加,得到s的值为127,I的值为64*2=128;所以选项B说错误。
故选:B。
27.【解答】解:自然语言就是我们日常使用的各种语言,可以是汉语、英语、日语等;所谓流程图(Flow Chart),是指用规定的图形符号来描述算法。所以上述描述算法的方式为自然语言。
故选:D。
28.【解答】解:已知n=10,k=0,判断n<>0成立,执行n=int(n/2)=5,判断n%2==1成立,执行k=k+1=1;
已知n=5,k=1,判断n<>0成立,执行n=int(n/2)=2,判断n%2==1不成立;
已知n=2,k=1,判断n<>0成立,执行n=int(n/2)=1,判断n%2==1成立,执行k=k+1=2;
已知n=1,k=2,判断n<>0成立,执行n=int(n/2)=0,此时循环停止,不在满足条件。
故选:B。
29.【解答】解:阅读程序段可知,i的取值从2开始到78都是满足题意的,所以共循环78﹣2+1=77次,当i=78时,循环结束i=i+1=79,所以最后i的值为79。
故选:B。
30.【解答】解:流程图中,用菱形图表示判断框,如果要输出s的值为64,那么需要2^6=64,需要执行6次s=s*2,当I=0,2,4,6,8,10时,满足I%2=0,共执行六次,所以方框填写的是i%2=0。
故选:D。
31.【解答】解:算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。而输出所有5的倍数,不符合算法的有穷性,所以选项D符合题意。
故选:D。
32.【解答】解:a=5,b=10,判断a<b成立,执行Y语句,a=a*3=15,b=b+a=10+15=25,输出b的值为25。
故选:B。
33.【解答】解:字符串s='Hello,2023!'中,非数字的字符共有7个,所以t的值为7。
故选:D。
34.【解答】解:i的取值是1,3,5,7...99,101。满足能把3和5同时整除的数只有15,45,75,所以s=15+45+75=135,i=101。
故选:C。
35.【解答】解:当i=0时,i%2=0,sum=0,s=3658;
当i=1时,i%2=1,则sum=s%10=8,s=365;
当i=2时,i%2=0,sum=8,s=36;
当i=3时,i%2=1,则sum=sum+s%10=8+6=14,s=3;
当i=4时,i%2=0,sum=14,s=0
当i=5时,此时s=0,不满足循环条件而结束,sum和i的值分别为14和5。
故选:A。
36.【解答】解:用算法解决问题的过程:1.抽象与建模;2.设计算法;3.描述算法。A选项错误;
算法不一定有输入。C选项错误;同一种算法可以用伪代码、自然语言、流程图等多种表示方法。D选项错误;B选项说法正确。
故选:B。
37.【解答】解:A、数据、运算和控制转移是算法三大要素,A选项正确。
B、算法描述有自然语言、流程图、伪代码、计算机程序设计语言等,B选项正确。
C、计算机程序的三种基本结构是:顺序结构、分支结构、循环结构,树形结构是数据结构,C选项错误。
D、用算法解决问题的过程:1.抽象与建模;2.设计算法;3.描述算法,D选项正确。
故选:C。
38.【解答】解:算法分析的主要方面是空间复杂性和时间复杂性。A选项错误。T表示运算次数,用O表示时间复杂度。C选项错误。指数阶大于平方阶。D选项错误。B选项说法正确
故选:B。
39.【解答】解:判断框用菱形来表示,所以选项C符合题意。
故选:C。
40.【解答】解:s2是两个字符串s1拼接形成的字符串,即”jiayou!jiayou!”遍历字符串s2的前半部分,若s2中存在长度是1en(s1)且等于c的子串,退出循环,退出循环时,i=4,说明在s2中从第4位取出的子串即是s1中的内容,Mid(s2,4,Len(sl))=”you!jia”,故B正确。
故选:B