内容正文:
第二章 算法与问题解决
学校:___________姓名:___________班级:___________考号:___________
一、选择题
1.某算法的部分流程图如图所示,执行这部分流程后,变量a、b、c的值分别是( )
A.3 6 9 B.4 6 9 C.3 24 33 D.4 24 33
2.某算法的流程图如图所示。执行该流程时,依次输入8,5,9,-1,则最终输出的结果为( )
A.22 B.21 C.9 D.-1
3.下列关于算法特征的描述,不正确的是( )
A.算法中对于每一个步骤的描述不一定是确定的
B.算法的处理步骤必须是有限的
C.算法的输入值可以直接输入,也可以包含在算法中
D.算法必须至少有一个输出
4.数组a的初始值如表所示,以下流程图描述的算法执行结果是( )
a[1]
a[2]
a[3]
a[4]
a[5]
a[6]
a[7]
a[8]
-10
0
1
3
4
6
9
10
A.10 B.-10 C.1 D.0
5.阅读下列流程图,最终输出结果是( )
A.0 B.2 C.22 D.24
6.流程的表达方式有多种多样,以下选项中不属于流程图的是( )
A.计算机配置表 B.造纸工艺
C.课程表 D. 开学典礼安排
7.下面关于算法的描述,正确的是( )
A.一个算法只能有一个输入
B.算法只能用流程图来表示
C.一个算法的执行步骤可以是无限的
D.一个完整的算法,不管用什么方法来表示,都至少有一个输出结果
8.下列关于算法的说法,正确的是( )
A.用枚举算法求出所有 3 的倍数
B.不能用计算机程序设计语言描述算法
C.可以设计不同的算法解决同一个问题
D.任何算法被执行时必须要输入数据
9.下列关于算法描述的说法,不正确的是( )
A.流程图用特定简单的图形符号表示规定的操作,结构清晰、寓意明确
B.用自然语言描述算法通俗易懂,但容易出现歧义
C.伪代码由于语法接近程序语言,所以描述简练,且能够被计算机执行
D.用计算机程序设计语言描述算法,可以被计算机理解和执行
10.以下不是描述算法的基本方法是( )
A.自然语言 B.书面语言 C.流程图 D.程序代码
11.下面流程图是判断一个大于1的整数n是否为素数的算法。若输入79后,输出结果为“79是素数”。则该程序执行完后共循环几次,最后i的值是多少( )
A.78,78 B.78,79 C.77,78 D.77,79
12.有一组数,从第3项开始,每一项都是前两项的和,如1,1,2,3,5,8…,求第20项的值。在流程图的空白处应该填入_______。
A.c=a+b B.c=c+a C.c=c+b D.c=c+i
13.某循环结构算法的部分流程图如右图所示。下列说法正确的是( )
A.①处只能填“否”,②处只能填“是”
B.必须先执行情况①指向的任务,才能执行情况②指向的任务
C.“任务序列”为空时,此算法可能不符合有穷性的特征
D.“任务序列”中允许包含分支结构,但不能再包含循环结构
14.某算法的部分流程图如下图所示,图中使用的程序结构有 ( )
A.顺序结构和选择结构
B.选择结构和循环结构
C.顺序结构和循环结构
D.顺序、选择和循环结构
15.当依次输入7,3,11,15后,输出_______。
A.36 B.4 C.9 D.6
16.以下哪个不是算法设计中常用的控制结构?( )
A.条件语句 B.循环语句 C.顺序结构 D.随机结构
17.某算法的流程图如图所示。执行该流程图时,输入b、p的值为2、12,下列说法错误的是( )
A.p>0执行了5次 B.ans←ans*t语句执行了2次
C.流程执行后变量t的值为256 D.输出ans结果是表达式212的值
18.下面关于算法的描述,正确的是( )
A.同一问题的算法不同,结果必然不同 B.算法执行后可以不产生正确的结果
C.解决某类问题的算法可以不是唯一的 D.算法的步骤是可以无限的
19.某算法的部分流程图如下图所示,执行这部分流程,若输出k为2,则输入s的值可能是( )
A."AABBA" B."BBBAB" C."BBAAA" D."ABBAA"
20.某算法的部分流程图如图所示。执行这部分流程,s的值是( )
A.5 B.12 C.20 D.29
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.D
【详解】本题考查的是流程图。数据执行过程如下:
a=0,b=1,c=0
a=0+1=1,b=1*1=1,c=0+1=1,1≤3,Y
a=1+1=2,b=1*2=2,c=1+2=3,2≤3,Y
a=2+1=3,b=2*3=6,c=3+6=9,3≤3,Y
a=3+1=4,b=6*4=24,c=9+24=33,4≤3,N,故答案为D。
2.A
【详解】本题主要考查算法流程图的执行。分析程序可知,循环条件是x>0,循环体是s=s+x,最后输入的x=-1<0,循环结束,s=s+x=0+8+5+9=22,故最终输出的结果为22,故本题选A选项。
3.A
【详解】本题主要考查算法的特征。一个算法应该具有以下五个重要的特征:1、有穷性: 一个算法必须保证执行有限步之后结束;2、确切性:算法的每一步骤必须有确切的定义;3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定义了初始条件;4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;5、可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。故本题选A选项。
4.D
【详解】本题主要考查算法流程图的执行。分析流程图可知,判断条件a(i)<=a(i+1)一直成立,t的值一直为0,直到i=8时,退出循环,故本题选D选项。
5.B
【详解】本题考查算法流程图相关内容。分析流程图,其运行过程为:初始状态x=n=0,执行x=x+2,x值为2,去判断n>9是否成立,由于n值为0,不大于9,执行输出x的操作,即输出结果为:2。故本题答案是B选项。
6.A
【详解】本题主要考查流程的判断。流程是一项活动或一系列连续有规律的事项或行为进行的程序。计算机配置表,只是说明了计算机的配置,不属于流程图,故本题选A选项。
7.D
【详解】本题考查的是算法特征。根据算法的特征,算法至少会有一个输出。A选输入应该是有0个或者多个,B项算法可以用流程图、自然语言、伪代码、计算机程序设计语言来表示,C项算法必须符合有穷性。故本题选D。
8.C
【详解】本题考查算法相关内容。算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令;算法可以用自然语言、流程图、伪代码、程序设计语言等来描述;A选项,3的倍数有无穷个,而枚举算法必须满足有穷性,选项错误。B选项,算法可以使用程序设计语言描述,选项错误。C选项,可以设计不同的算法解决同一个问题,选项正确。D选项,算法可以没有输入,但必须要有输出,选项错误。故本题答案是C选项。
9.C
【详解】本题考查算法描述。
C伪代码由于语法接近程序语言,所以描述简练,且能够被计算机执行。这个说法是不正确的。伪代码(Pseudocode)是一种算法描述语言,它介于自然语言与编程语言之间,其语法并不严格遵循任何具体的编程语言。伪代码的目的是使算法的描述更加接近编程语言的风格,以便于理解和转换为实际的程序代码。但伪代码本身并不是编程语言,它不能被计算机直接执行。故正确答案为:选项C。
10.B
【详解】本题考查的是算法描述。描述算法的基本方法有:自然语言、流程图、计算机语言。书面语言不是描述算法的方法。故应选B。
11.D
【详解】本题主要考查算法流程图的执行。分析流程图,循环条件是i<n,n=79,i的初值是2,因此当i=79时,循环结束,共循环了79-2=77次,故本题选D选项。
12.A
【详解】本题考查的是流程图的识读。由图中可知a表示第一项,b表示第二项,c表示第三项。依据题意:每一项都是前两项的和,故空白处应为:c=a+b,选项A正确。
13.C
【详解】本题考查算法流程图相关内容。A选项,①处可以填“是”,②处可以填“否”,选项说法错误。B选项,条件满足时执行①,否则执行②,选项说法错误。C选项,“任务序列”如果为空,意味着一旦进入循环体后存在着无法改变循环条件的可能,使得算法出现“死循环”而违背算法有穷性的特征,选项说法正确。D选项,“任务序列”中允许包含分支结构,也可以再包含循环结构,选项说法错误。故本题答案是C选项。
14.C
【详解】本题主要考查算法流程图。由图可知,图中使用的程序结构有顺序结构和循环结构,故本题选C选项。
15.C
【详解】本题考查的是流程图识读。该流程图的功能是求输入4个数的平均数。输入7,3,11,15后,输出(7+3+11+15)/4=9。故选项C正确。
16.D
【详解】本题考查算法控制结构。算法设计中常用的控制结构包括条件语句、循环语句和顺序结构。这些结构用于控制程序的执行流程。而随机结构并不是一种常用的控制结构,因此选项D是正确答案。故选D。
17.C
【详解】本题主要考查算法流程图知识点。b=2,p=12,t=b=2,ans=1,第一遍循环,p>0,12 mod 2=0,p=p\2=6,t=t*t=4;第二遍循环,p>0,6 mod 2=0,p=p\2=3,t=t*t=16;第三遍循环,p>0,3 mod 2=1>0,ans=16,p=p\2=1,t=t^t=16*16=256;第四遍循环,p>0,1 mod 2=1>0,ans=16*256=4096,p=p\2=0,t=256*256=65536,程序结束,故p>0执行了5次、ans←ans*t语句执行了2次、流程执行后变量t的值65536、输出ans结果是表达式212=4096的值,故本题选C选项。
18.C
【详解】本题考查算法相关知识。算法是在有限步骤内解决某一问题所使用的方法。算法的描述可以是自然语言、流程图、伪代码等,同一问题的算法不同,结果可能相同,选项A说法错误;算法的主要目的是为了解决问题,如果算法执行后不产生正确的结果,那么它就没有达到预期的目的,选项B说法错误;解决某类问题的算法可以不是唯一的,选项C说法正确;算法具有有穷性,步骤不能无限,选项D说法错误。故答案为C选项。
19.D
【详解】本题考查算法流程图相关内容。分析流程图可知,该算法功能是统计字符串中连续出现的字符的个数,若后继字符不同,k重置为1,再从该字符开始。A选项,'A'为最后出现的字符,无重复,输出k为1。B选项,'B'为最后出现的字符,无重复,输出k为1。C选项,'A'为最后出现的字符,重复三次,输出k为3。D选项,'A'为最后出现的字符,重复两次,输出k为2。故本题答案是D选项。
20.C
【详解】本题主要考查算法流程图的执行。如下表所示:
循环趟数
i mod 3 = 1 Or s mod 2 = 0
s(初值0)
i(初值1)
1
True
1
2
2
False
1
3
3
False
1
4
4
True
5
5
5
False
5
6
6
False
5
7
7
True
12
8
8
True
20
9
根据上表可得,程序最后输出s的值是20。故本题选C选项。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$