内容正文:
2.2 算法的概念及描述2024—2025学年高中信息技术人教/中图版(2019)必修1
一、选择题
1.在启发式搜索中,如何平衡搜索的深度和广度( )
A.调整启发函数的权重 B.改变搜索策略 C.使用不同的数据结构 D.以上都是
2.如下算法的执行结果是( )
A.212 B.122 C.14 D.无法比较
3.下列不能用于描述算法的是( )
A.流程图 B.高级语言 C.自然语言 D.伪代码
4.以下流程图用于表示分支结构的是( )
A. B. C. D.
5.某算法的流程图如图所示,执行完该流程图后输出结果可能的是( )
A.0 0 0 0 0 0 B.2 4 2 5 2 8 C.6 10 8 12 6 8 D.10 22 14 16 18 12
6.下列关于算法的叙述,正确的是( )
A.解决一个问题的算法只有一种
B.有穷性是算法的基本特征之一
C.可行性不属于算法基本特征
D.算法对程序设计没有任何作用
7.关于算法,下列叙述正确的是( )
A.解决任何一个具体问题只有一种算法 B.流程图只是算法的一种表示形式
C.一种算法只能用一种程序语言来实现 D.算法是解题方法的精确描述,可以有无限个步骤
8.某算法的部分流程图如图所示,执行这部分流程后,输出n的值为( )
A.2 B.3 C.4 D.5
9.不能用算法描述“输出所有素数”,是因为不符合算法特征中的( )
A.有穷性 B.必须有输出 C.可行性 D.可以没有输入
10.下列关于算法的叙述,错误的是( )。
A.算法可以用自然语言来描述 B.算法可以使用程序设计语言来实现
C.算法必须执行有限步以后能结束 D.算法一定有输入。
11.以下流程图,执行结果是( )。
A.3 B.4 C.18 D.0
12.某算法的部分流程图如图所示,若输入a的值依次为:11,7,8,10,19,15,3,10,则输出的结果为( )
A.45 3 B.45 5 C.55 3 D.55 5
13.有若干只鸡兔同在一个笼子里,从上面数,有36个头,从下面数,有100只脚。执行完以下流程图以后,鸡和兔的数量分别是( )
A.12 24 B.11 25 C.22 14 D.20 16
14.以下关于算法的描述,正确的是( )
A.一个算法必须保证它的执行步骤是有限的
B.算法可以有零个或多个输入,但只能有一个输出
C.同一个算法只能用一种程序语言来实现
D.算法只能用流程图来描述
15.在描述算法的流程图的符号中,和 一般作为( )
A.判断框和起始结束符 B.判断框和输入输出框
C.输入输出框和结束符 D.输入输出框和判断框
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.a,b两个数交换 B.求a,b两个数的较大者
C.a,b两个数相加 D.随机输出a,b
19.某算法的部分流程图如图所示,执行这部分流程,下列说法正确的是 ( )
A.s 输出的值为 16
B.循环结束时 k 的值为 1
C.最后输出时 a 的值为 16
D.循环结束时,判断条件 a<32 一共执行 6 次
20.下列哪种方法不属于分治策略( )
A.归并排序 B.快速排序 C.冒泡排序 D.二分查找
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.D
【详解】本题考查算法。
在启发式搜索中,可以通过调整启发函数的权重、改变搜索策略或使用不同的数据结构等方法来平衡搜索的深度和广度。故正确答案为:选项D。
2.B
【详解】本题主要考查算法流程图的执行。分析流程图可知,当字符串A<字符串B时,输出A+B,否则输出B+A,A="2",B="12",A>B,输出B+A="122",故本题选B选项。
3.B
【详解】本题考查算法描述方式。不能用于描述算法的是高级语言。流程图是一种图形化的工具,用于表示算法的逻辑结构和执行流程。自然语言可以描述算法的基本思想,是一个有效的算法描述工具。伪代码是一种非特定的程序设计语言,用于描述算法的逻辑。伪代码比自然语言更精确,比流程图更灵活。高级语言不是用来描述算法的,而是用来实现算法的工具。故答案为B选项。
4.B
【详解】本题考查算法流程图。选项依次是顺序结构、分支结构、循环结构、循环结构。故选B。
5.A
【详解】本题主要考查算法流程图的执行。i=1,a=0,b=0,a=Int(Rnd*11)*2是随机生成[0,20]之间的偶数,如果i是奇数,执行i递增输出a的值;如果i是偶数,如果a>=b,则执行i递增,b=a,输出a,如果a<b,则重新生成a直到a>=b。所以,输出的结果必须全是偶数,并且偶数位上的数呈递增或全部为0,故排除B、C、D选项,故本题选A选项。
6.B
【详解】本题考查的是算法相关知识。解决一个问题的算法有很多种,有穷性、可行性、确定性、至少有一个输出、零到多个输入是算法的特征。故本题应选B。
【点睛】
7.B
【详解】本题考查的是对算法的理解。一个问题可能有多种算法解决,选项A错误。一种算法可以用多种程序语言来实现,选项C错误。算法必须在有限步骤内完成,选项D错误。故本题选B。
8.C
【详解】本题考查流程图。程序运行过程如下所示。因此输出n的值为4。故答案为:C。
d
n
i
36
0
2
18
1
2
9
2
2
9
2
3
3
3
3
1
4
3
9.A
【详解】本题考查算法特征。算法具有有穷性、确定性、可行性、有0个或多个输入、有一个或多个输出这五个特征。“输出所有素数”这个要求是无法在有限步骤内完成的,因为素数有无穷多个,不满足算法的有穷性特征。有穷性指的是一个算法必须在执行有限个步骤之后终止。而“输出所有素数”会导致算法无限进行下去,没有终止的时刻。所以不能用算法描述“输出所有素数”是因为不符合算法特征中的有穷性。故答案为:A。
10.D
【详解】问题主要考查算法的特征。算法的特征有:确定性、可执行性、有一个或多个输出、0或多个输入、有穷性,故本题选D选项。
11.B
【详解】本题主要考查算法流程图的执行。C=0,i=0,当满足i mod 3 =0时,才执行C=C+1,即当i=0、3、6、9时,C递增,故执行结果C=4,故本题选B选项。
12.B
【详解】本题考查流程图。程序运行过程如下所示:可知最后输出s的值为45,t的值为5。故答案为:B。
n
s
i
t
a
8
0
1
0
11
8
11
2
0
7
8
11
3
1
8
8
11
4
2
10
8
11
5
3
19
8
30
6
3
15
8
45
7
3
3
8
45
8
4
10
8
45
9
5
0
13.C
【详解】本题考查流程图
假设全是鸡:2×36=72(只)
鸡脚比总脚数少:100-72=28(只)
兔:28÷(4-2)=14(只)
鸡:36-14=22(只)
故本题选C选项
14.A
【详解】本题主要考查算法的描述。一个算法应该具有以下五个重要的特征:1、有穷性: 一个算法必须保证执行有限步之后结束;2、确切性:算法的每一步骤必须有确切的定义;3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定义了初始条件;4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;5、可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。同一个算法能用多种程序语言来实现;算法能用流程图、自然语言等来描述,故本题选A选项。
15.A
【详解】本题考查程序设计。在描述算法的流程图的符号中,题中两符号分别为判断框和起始结束符,平行四边形代表输入输出框,选项A正确。故选A。
【点睛】
16.C
【详解】本题主要考查算法流程图。菱形是条件判断框,平行四边形是数据输入/输出框,圆角矩形是开始/结束框,矩形是数据处理框(用于变量的计算与赋值)。故选C。
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.A
【详解】本题主要考查算法流程图。a=a+b,b=a-b=a+b-b=a,a=a-b=a+b-a=b,故该算法的功能是a,b两个数交换,故本题选A选项。
19.D
【详解】本题主要考查算法流程图。s=1,k=1,a=1,第一遍循环,满足a<32,s=s+k*a=2,k=1-k=0,a=2*a=2;第二遍循环,满足a<32,s=s+k*a=2,k=1-k=1,a=2*a=4;第三遍循环,满足a<32,s=s+k*a=6,k=1-k=0,a=2*a=8;第四遍循环,满足a<32,s=s+k*a=6,k=1-k=1,a=2*a=16;第五遍循环,满足a<32,s=s+k*a=22,k=1-k=0,a=2*a=32;第六遍循环,不满足a<32,退出循环,故执行这部分流程,s输出的值为22,循环结束时 k 的值为 1,最后输出时 a 的值为 32,循环结束时,判断条件 a<32 一共执行 6 次,故本题选D选项。
20.C
【详解】本题考查算法。冒泡排序是一种简单的排序算法,它通过相邻元素之间的比较和交换来实现排序,而不属于分治策略。故答案为:C。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$