内容正文:
第二章 算法与问题解决
一、选择题
1.在算法分析中,通常使用哪种方法来评估算法的效率( )
A.空间复杂度 B.时间复杂度
C.内存使用量 D.代码长度
2.下列关于算法的描述不正确的是( )
A.算法是在有限步骤内解决某一问题所使用的方法
B.算法中的每一个步骤都是可以被执行的
C.评价一个算法的好坏,主要指标是:正确性、可读性、高效性
D.算法就是数学中的算式
3.下列关于算法的说法中不正确的是( )
A.算法只能用程序语言描述 B.算法必须有输出
C.同一个问题可以有不同的算法 D.算法可以没有输入
4.以下算法的功能是:输入两个数,输出其中较大的一个框图中A处应该填入的是( )
A.a<b B.a<=b C.a>b D.a!=b
5.某算法的部分流程图如下所示
执行这部分流程后,输出s的值为64,则①处应填入( )
A.i//4==2 B.i**0.5==int(i**0.5) C.i%2==1 D.i%2==0
6.某算法的部分流程图如图所示,执行这部分流程后,变量a,b的值分别是( )
A.7,11 B.7,7 C.3,5 D.3,4
7.下图中所表示的流程图,相对应的程序设计基本结构是( )
A.顺序结构 B.循环结构 C.分支结构 D.赋值结构
8.在流程图的符号中,矩形框一般作为( )
A.判断框 B.输入输出框 C.处理框 D.起止框
9.下列选项中,不属于算法特征的是( )
A.无穷性 B.确定性 C.输入、输出 D.可行性
10.某“猜数字”游戏玩法如下:输入猜想的数字,如果猜对则输出成功信息,否则提示猜错后继续输入直到猜对为止。能用于此算法的流程图是( )
A. B.
C. D.
11.计算机无法解决“打印所有的质数”,因为违背了算法的( )
A.有穷性 B.确定性 C.可行性 D.至少有1个输出
12.某算法的部分流程图如图所示,下列说法正确的是( )
A.该流程图只包含了分支结构 B.语句“n←n×3+1”可能不会被执行
C.将条件“n=1?”改为“n>0?”,功能相同 D.用Python表示“n是偶数”的表达式为n//2==0
13.某算法的部分流程图如图所示。执行这部分流程,若输入n的值为55,则输出s的值为( )
A.110111 B.000100 C.001000 D.111011
14.利用Python编程解决“鸡兔同笼”问题,编写完代码后,应该进行( )
A.分析问题 B.设计算法 C.编写程序 D.调试程序
15.算法的基本结构不包括( )
A.顺序结构 B.分支结构 C.逻辑结构 D.循环结构
16.以下关于算法的描述,正确的是( )
A.一个算法必须保证它的执行步骤是有限的
B.算法可以有零个或多个输入,但只能有一个输出
C.同一个算法只能用一种程序语言来实现
D.算法只能用流程图来描述
二、填空题
17.算法的三种基本结构是: 、 、和 。
18.下列流程图的结果是 。
19.若输入 16 和 12,输出结果是 。
20.在进行“判断任意一个5位数是否是质数”的算法设计时,可以使用 、流程图、伪代码来描述算法。
21.2021年7月19日-20日,河南郑州经历了百年罕见的特大暴雨,城市受灾严重,一段众人合力破窗救出一位外婆和外孙、外孙女的视频惊心动魄。
原来60多岁外婆开车接外补和外孙女放学途中,遭遇车辆被大水围困。外婆立即给较远位置的女儿打电话求助,报出她附近店铺名字:一家便利店:一家酒店和一家面馆。女儿第一反应是报警,但当时所有报警电话都占线:于是女儿通过外卖平台和点评软件搜索便利店、面馆、酒店的名字:确定外婆的位置,并查询到这些店铺的联系电话,三家店铺均打通电话,但便利店老板在较远位置救援,店内无人;面馆只有一人,立刻赶去现场;酒店有数人也赶去救援。于此同时,无法赶赴现场的女儿在安全知识平台查询呛水、溺水抢救措施,以备急用。
大家想尽办法,利用有限的工具,最终在大水即将漫过车顶时救出被困三人至安全处。众人喜极而泣,对女儿冷静、睿智地正确“远程求救”纷纷表示赞赏。
请阅读以上材料,分析女儿危急关头处理事件的方法与流程,完成下列各题。
分析女儿求助流程图,①②③处的流程分别是( )、( )、( )。
(填字母:A.平台查询店铺电话及救援位置 B.报警成功 C.联系到多人救援 D.拨打便利店电话)
22.一段程序代码的流程图如图所示,这段程序的运行结果为S= 。
三、判断题
23.算法只能用自然语言来描述。( )
24.在用乘车卡乘车时,当卡内余额不足,系统会给出提示信息,请乘客投币。在对这一过程设计算法时,必须要用到算法的选择结构。( )
25.任何复杂的算法都可以用顺序、分支、循环结构来实现。( )
26.用计算机无法解决“打印所有素数”的问题,其原因是解决该问题的算法违背了算法特征中的有穷性。( )
27.用自然语言描述算法形象、直观、更容易理解。( )
28.算法的三种基本控制结构是分支结构、循环结构和模块结构。( )
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.B
【详解】本题考查算法相关内容。评估算法的效率的方法主要包括时间复杂度分析、空间复杂度分析、实际运行时间测试、性能分析、可扩展性分析、稳定性分析、与最优解的比较、实际应用反馈、仿真和模拟,以及能耗评估。算法的时间复杂度是衡量算法执行效率的指标,表示随着输入规模增大,算法执行所需的时间增长率,通常使用大O表示法来描述时间复杂度,它指出算法执行时间的上界,时间复杂度分析有助于评估和比较不同算法的效率,并选择最优算法来解决特定问题。算法的空间复杂度是指执行这个算法所需要的内存空间,一个算法所占用的存储空间包,括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行中所需要的额外空间,其中,额外空间包括算法程序执行过程中的工作单元以及某种数据结构所需要的附加存储空间,如果额外空间量相对于问题规模来说是常数,则称该算法是原地工作的,在许多实际问题中,为了减少算法所占的存储空间,通常采用压缩存储技术,以便尽量减少不必要的额外空间。在算法分析中,通常使用时间复杂度来评估算法的效率。故本题答案是B选项。
2.D
【详解】本题考查算法。算法是解决问题的一种方法,是具体步骤的有序集合;而算式通常指数学中的表达式或方程式,描述的是数学运算的符号表示。故答案为:D。
3.A
【详解】本题考查的是算法相关知识。一个算法应该具有以下五个重要的特征:1、有穷性: 一个算法必须保证执行有限步之后结束;2、确切性:算法的每一步骤必须有确切的定义;3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定义了初始条件;4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;5、可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。算法可以用自然语言、流程图、伪代码、程序设计语言等来描述,选项A说法错误。故选A。
4.C
【详解】本题考查算法流程图相关内容。分析流程图,其功能是找出两数的最大值并输出,菱形框为判断条件,若条件成立,最大值是a,若不成立,最大值是b,所以图中A处的判断条件是:a>b。故本题答案是C选项。
5.D
【详解】本题主要考查算法流程图。执行这部分流程后,输出s的值为64,即s=1*2*2*2*2*2*2=64,即语句s=s*2执行了6次,变量i的范围是1~10,其中偶数0、2、4、6、8、10,奇数1、3、5、7、9,偶数共6个,奇数共5个,故对应①处应填入1%2=0,故本题选D选项。
6.A
【详解】
本题考查算法流程图相关内容。分析该流程图,执行过程如图所示:,所以输出值为7和11,故本题答案是A选项。
7.C
【详解】本题考查算法流程图相关内容。程序设计有顺序、分支、循环结构。观察图示,若条件成立,执行代码段1,不成立则执行代码段2。该结构属于分支结构。故本题答案是C选项。
8.C
【详解】本题主要考查算法流程图。流程图的符号中,平行四边形一般作为输入输出框,矩形一般作为处理框,菱形一般作为判断框,圆角矩形一般作为起止框,故本题选C选项。
9.A
【详解】本题考查算法特征相关内容。一个算法应该具有以下五个重要的特征:1、有穷性:一个算法必须保证执行有限步之后结束;2、确切性:算法的每一步骤必须有确切的定义;3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定义了初始条件;4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;5、可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。故本题答案是A选项。
10.D
【详解】本题考查流程图。在这个游戏中,玩家需要不断输入猜测的数字,直到猜对为止。给出的流程图中,选项D展示了一个循环结构,其中包含了一个条件判断,如果猜测的数字与正确数字相等,则输出成功信息,否则提示猜错并继续循环直到猜对为止。故答案为:D。
11.A
【详解】本题考查算法特征。在给出的问题中,“打印所有的质数”是一个数学问题,而且质数是无穷多的,因此,算法无法在有限的步骤内完成任务,违背了有穷性的特征。故答案为:A。
12.B
【详解】本题考查算法流程图相关内容。A选项,该流程图包含了分支、循环结构,选项说法错误。B选项,若n为偶数,“n←n×3+1”不会被执行,选项说法正确。C选项,将条件“n=1?”改为“n>0?”,由于输入的n为正整数,则n>0永远成立,将直接输出“验证成功”,无法依据n的奇偶性去计算相应表达式,选项说法错误。D选项,“//”表示整除,若n为1,则n//2==0成立,但1不是偶数,选项说法错误。故本题答案是B选项。
13.C
【详解】本题考查算法流程图相关内容。由算法流程图可知,其运行过程如下:
(1)n=55>0,a=(55-1)%2=54%2=0,s="0",n=27;
(2)n=27>0,a=(27-1)%2=27%2=0,s="00",n=13;
(3)n=13>0,a=(13-1)%2=12%2=0,s="000",n=6;
(4)n=6>0,a=(6-1)%2=5%2=1,s="1000",n=3;
(5)n=3>0,a=(3-1)%2=2%2=0,s="01000",n=1;
(6)n=1>0,a=(1-1)%2=0%2=0,s="001000",n=0;
(7)n=0>0不成立,结束循环,输出s:001000。
故本题答案是C选项。
14.D
【详解】本题考查的是计算机解决问题一般步骤。利用Python编程解决“百鸡百钱”问题,编写完代码后,应该进行调试运行,故本题选D选项。
15.C
【详解】本题考查算法结构。算法的基本结构有:顺序结构、分支结构、循环结构,逻辑结构不是算法基本结构,故答案为C选项。
16.A
【详解】本题主要考查算法的描述。一个算法应该具有以下五个重要的特征:1、有穷性: 一个算法必须保证执行有限步之后结束;2、确切性:算法的每一步骤必须有确切的定义;3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定义了初始条件;4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;5、可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。同一个算法能用多种程序语言来实现;算法能用流程图、自然语言等来描述,故本题选A选项。
17. 顺序结构 选择结构 循环结构
【详解】本题考查算法。算法的三种基本结构是顺序结构、选择结构、循环结构。顺序结构是算法中最基本的结构,它按照程序中的语句顺序,从上到下,依次执行。选择结构是根据给定的条件来决定是否执行某一部分的语句块。循环结构是算法中重复执行某一部分语句块的结构。
18.@@@@////$$$$
【详解】本题考查算法流程图相关内容。分析流程图,可知,其执行过程是:首先输出“@@@@”,然后在t!=1的条件下,执行循环体:(1)若n>2成立,输出“$$$$”,且令t值为1,否则输出“####”;(2)n=n+1。初始状态下,n值为1,n>2不成立,输出:“####”;再执行n=n+1,n值为2,n>2不成立,输出:“####”;再执行n=n+1,n值为3,n>2成立,输出:“$$$$”,t值为1,再执行n=n+1,n值为3;此时t==1成立,结束循环。流程图结果为:@@@@########$$$$。故本题答案是:@@@@########$$$$。
19.4
【详解】本题考查的是流程图识读。阅读流程图可知,这是采用辗转相除法求最大公约数。16和12的最大公约数是4。
20.自然语言
【详解】本题考查算法描述相关内容。算法描述方法有:自然语言、流程图、N-S图、伪代码、程序设计语言等。故本题答案是:自然语言。
21. B A C
【详解】本题考查的是流程图相关知识。①②③处的流程分别是B判断报警成功与否——如果报警不成功——A平台查询店铺电话及救援位置——拨打店铺电话——判断是否能C联系到多人救援。
22.5
【详解】本题考查算法流程图的识读。a=5,S=1,满足判断条件a>=4,执行S=S*a=5,再输出S的值是5。
23.错误
【详解】本题考查算法。算法可以用多种方式来描述,常见的有自然语言、流程图、程序设计语言等。自然语言描述较为通俗易懂,但可能存在模糊和歧义;流程图直观清晰,能更形象地展示算法的流程和逻辑;程序设计语言则可以直接实现算法。故说法错误。
24.正确
【详解】本题考查的是算法结构。选择结构会依据条件选择其中一个分支执行。在用乘车卡乘车时,当卡内余额不足,系统会给出提示信息,请乘客投币。在对这一过程设计算法时,必须要用到算法的选择结构。说法正确。
25.正确
【详解】本题考查程序基本结构。任何复杂的算法都可以用三种基本结构组成,分别是:顺序结构、选择结构、循环结构。故表述正确。
26.正确
【详解】本题考查算法特征相关内容。算法具有有穷性、确切性、输入项(0个或多个输入)、输出项(1个或多个输出)、可行性五个重要特征。“所有素数”是无穷的,所以计算机无法解决“打印所有素数问题”,是违背了“有穷性”的原则。故本题答案是:正确。
27.错误
【详解】本题考查算法的描述。用流程图描述算法形象、直观、更容易理解,故表述错误。
28.错误
【详解】本题主要考查算法的基本结构。算法的三种基本结构是:顺序结构、分支结构和循环结构,故表述错误。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$