内容正文:
4.1 算法及其特征
一、选择题
1.以下哪个算法不是以递归方式实现的?( )
A.快速排序 B.二分搜索 C.归并排序 D.选择排序
2.假如卧底在A、B、C、D四位同学中,A说:“不是我”,B说:“是C”,C说“是D”,D说:“C说的不对”,已知四人中有一人说谎,判断“谁是卧底”的算法适合( )
A.解析算法 B.二分查找算法 C.枚举算法 D.递归算法
3.当今世界已经被发现或创造的经典算法,如中国的秦九韶算法、辗转相除法、更相减损术数不胜数,下面有关算法的描述,不正确的是( )
A.算法可以没有输出,必须有输入 B.解决同一个问题,采用的算法可以不同
C.为解决问题的设计的算法应具备可行性 D.算法需要在有限步内解决问题
4.以下对算法特点的叙述,错误的是( )
A.算法一定有输入 B.算法可以使用程序设计语言来实现
C.算法必须有输出 D.算法中每一步运算都有明确的定义,无二义性
5.算法特征之一“有穷性”指的是( )
A.算法不能太长 B.算法不能有多条输入语句
C.算法在执行有穷步骤之后一定要结束 D.算法中不能有多条输出语句
6.已知长方形的长和宽,求长方形的面积,部分流程图如题图所示,其算法结构是( )
A.顺序结构 B.选择结构 C.框架结构 D.循环结构
7.执行下面的流程图后,输出y的值是( )
A.90 B.80 C.18 D.16
8.以下关于流程图的说法,错误的是( )
A.流程图可以直接在计算机上运行
B.用流程图表示的算法形象、直观、容易理解
C.流程图是算法的一种图形化表示方法
D.流程图也称为程序框图,是一种用特定的符号表示算法的图形
9.流程图是算法的一种图形化表示方法,其中菱形框表示( )
A.开始/结束 B.处理 C.输入/输出 D.判断
10.在流程图的符号中,矩形框一般作为( )
A.判断框 B.输入输出框 C.处理框 D.起止框
11.下列不能用来描述算法的是( )
A.自然语言描述 B.流程图描述 C.二维码描述 D.伪代码描述
12.下列关于算法的特征描述不正确的是( )
A.有穷性:算法必须在有限步之内结束 B.确定性:算法的每一步必须确切的定义
C.输入:算法必须至少有一个输入 D.输出:算法必须至少有一个输出
13.下列关于算法的描述,正确的是( )
A.算法中可以包含无限循环,所以算法的执行步骤可以是无限的
B.一个完整的算法可以没有输入,必须要有输出
C.算法只能用流程图表示
D.算法的控制结构有顺序、选择、循环和树形结构
14.某算法的部分流程图如图所示。若输入n的值为23,则输出sum的值为( )
A.2 B.3 C.4 D.5
15.某算法流程图如下图所示,若输入k的值为5,以下说法正确的是( )
A.程序运行结束后,s的值是2 B.循环体共执行了5次
C.程序结束后,t的值为-1 D.表达式i<k执行了5次
16.A公司的保密室采用指纹验证,只允许录入到指纹库中的B部门员工进入,如果其他部门员工进行指纹验证会触发警报感应器。根据算法,流程图中①处的内容应该是( )
A.是否属于A公司员工 B.是否属于B部门员工
C.是否识别 D.是否其他部门员工
17.以下不属于算法的特征的( )
A.有限性 B.有穷性 C.可行性 D.确定性
二、填空题
18.算法作为能确实解决问题的策略,具有有穷性、确定性、数据输入/输出、 性的特征。
19.以下流程图当输入a=3,b=1,c=5时,运行结束后d的值 。
20.以下流程图的运行结果是 。
21.李华同学和业主委员会成员一起参与了小区智能停车场的改造,希望实现的功能主要包括车牌自动识别、车辆身份判断、出入控制、停车时间计算、费用收取及核查、语音对讲等。
管理策略:1.对于本小区业主固定车辆实施年费制,只要在缴费有限期内,则可自由通行。2.缴费期满则在车辆通过时自动提醒业主续费。3.为避免场地资源浪费,停车场允许外来车辆进入,按停车时长进行收费。
计费规则:时长不超过3小时(含3小时)的收费5元;时长超过3小时且不超过8小时(含8小时)的在5元的基础上每超过1小时增收2元;时长超过8小时且不超过12小时(含12小时)的收费30元。
李华根据计费规则设计了外来车辆进入停车场的计费流程图,时长用“T”表示,收费金额用“M”表示,请帮忙完善流程图,①②③④⑤⑥处应填的内容分别是( )、( )、( )、( )、( )、( )
(填字母:A、M=30 B、3<T≤8 C、M=5 D、M=5+(T-3)*2 E、8<T≤12 F、T≤3)
22.为了更好地了解某地的水质情况,科研人员采集了该地各监测点当天的水质数据。数据中包含了各监测点的水质类别、水温(℃)、pH、溶解氧(mg/L)、高锰酸盐指数(mg/L)。通过数字化学习,小申了解到水质类别从高到低分为1-5类,级别最高(质量最好)为1,级别最低(质量最差)为5。小申采集了某监测点的水质数据,部分数据如表所示。小申设计了一个算法,统计水质类别为1的天数。请选择合适的框图,将其拖至右侧流程图的虚线框内,将算法设计完整。
日期
水质类别
pH
溶解氧
高锰酸盐指数
2021/1/1
3
7.54
5.39
4.5
2021/1/2
3
7.47
6.42
4.85
2021/1/3
2
7.8
6.52
1.52
2021/1/4
1
6.5
8.24
1.36
2021/1/5
3
7.56
5.21
4.74
2021/1/6
2
7.27
7.08
1.03
2021/1/7
2
6.87
6.87
1.03
2021/1/8
2
6.59
6.59
1.94
2021/1/9
1
7.76
7.76
3.36
① ②
23.算法的常用表示方法有3种: 、 、 。
三、判断题
24.算法在程序设计中可有可无,它不会影响程序设计的效率。( )
25.在计算机中算法执行的每一步都有确定的含义,不会出现二义性。( )
26.利用计算机解决同一问题时,往往可以采用多种不同的算法来实现,好的算法应该具备时间效率高、内存占用少等特点。( )
27.“无论算法有多么复杂,都必须在有限步骤之后结束并终止运行”,这句话表明了算法的有穷性。( )
四、操作题
28.这个问题,是我国古代著名趣题之一。大约在1500年前,《孙子算经》中就记载了这个有趣的问题。书中是这样叙述的:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?这四句话的意思是:有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。求笼中各有几只鸡和兔。请根据题目意思补全下列空着的代码。
for tu in range( ① , ② ):
ji=③
if ④ :
print("兔的只数为",tu, "鸡的只数为",ji)
29.某APP为鼓励用户积极签到,制定积分签到政策,用户第一次连续签到可以得到1分,第二次连续签到得2分,第三次连续签到得到4分,接下来,每次得分分别为8,16,32……。若签到中断,则前面签到所得积分清空,重新从第一天开始积分。当用户积分达到10000分时,可以兑换相应奖品,小明想得到的毛绒娃娃需要20000积分,请设计算法帮小明计算,需要至少连续签到多少天才能拿到毛绒娃娃。
(1)用算法解决上述问题,在______步骤(单选,填字母:A.设计算法 B.抽象与建模 C.描述算法),确定用变量day表示需要花费的时间,用jf表示当前签到可以获得几分,用sum_jf表示目前已经累计获得的积分,并得出解决问题的计算模型。
(2)解决此问题的算法流程图如下图所示,请在虚线框中画上合适的流程图基本图形。
(3)请在流程图中划线处填上合适语句。
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.D
【详解】本题考查递归算法。快速排序、二分搜索和归并排序都是典型的递归算法。快速排序通过递归地对数组进行分区和排序,二分搜索通过递归地缩小搜索范围,归并排序通过递归地将数组分成更小的部分进行排序。而选择排序是一种迭代算法,它通过反复选择剩余元素中的最小值来排序,不需要递归实现。故选D。
2.C
【详解】本题考查枚举算法的应用。分析题干,可知可以通过枚举所有可能来找出“谁是卧底”。故选C。
3.A
【详解】本题考查算法特征相关内容。算法是指在有限步骤内求解某一问题所以使用的一组定义明确的规则。通俗地说,算法就是用计算机求解某一问题的方法,是能被计算机机械执行的动作或指令的有穷集合。故而解决同一个问题方法不一样,算法也就不一样。算法具备5个方面的重要特征:有穷性、确定性、一个算法必须有0个或者多个数据输入(数据输入)、一个算法有一个或多个输出(数据输出)、可行性。故本题答案是A选项。
4.A
【详解】本题主要考查算法的特征。一个算法应该具有以下五个重要的特征:1、有穷性: 一个算法必须保证执行有限步之后结束;2、确切性:算法的每一步骤必须有确切的定义;3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定义了初始条件;4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;5、可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。故选A。
5.C
【详解】本题考查算法特征相关内容。算法的特征有:1、有穷性:算法的有穷性是指算法必须能在执行有限个步骤之后终止;2、确切性算法的每一步骤必须有确切的定义;3、输入项:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;4、输出项:一个算法有一个或多个输出,以反映对输入数据加工后的结果,没有输出的算法是毫无意义的;5、可行性:算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步骤,即每个计算步骤都可以在有限时间内完成(也称之为有效性)。故本题答案是C选项。
6.A
【详解】本题主要考查算法结构。由图可知,该算法结构是顺序结构,故本题:选A选项。
7.C
【详解】本题考查的是流程图识读。c=20,不满足c>=100,执行y=0.9*c=18。故选C。
8.A
【详解】本题考查算法的描述。流程图是一种用图形和文字描述算法执行过程的方法,它能够帮助人们更好地理解和分析算法的执行过程,是一种图形化表示方法。流程图不可以直接在计算机上运行。故答案为:A。
9.D
【详解】本题考查的是流程图。流程图中菱形是条件判断框,平行四边形是数据输入/输出框,圆角矩形是开始/结束框,矩形是数据处理框。故选D。
10.C
【详解】本题主要考查算法流程图。流程图的符号中,平行四边形一般作为输入输出框,矩形一般作为处理框,菱形一般作为判断框,圆角矩形一般作为起止框,故本题选C选项。
11.C
【详解】本题考查算法描述相关内容。算法描述方法有:自然语言、流程图、伪代码和程序设计语言,故本题答案是C选项。
12.C
【详解】本题考查算法的特征。算法的特征有:有穷性、确定性、有零个或多个输入、有一个或多个输出、可行性。
1、有穷性:一个算法必须保证执行有限步之后结束;
2、确定性:算法的每一步骤必须有确切的定义;
3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件;
4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;
5、可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。
故选:C。
13.B
【详解】本题考查算法相关内容。算法具有有穷性的特点,A选项错误。算法可以没有输入,但必须有输出,B选项正确。算法可以使用流程图、N-S图、自然语言、伪代码、程序设计语言表示,C选项错误。算法的控制结构有顺序、选择、循环结构,D选项错误。故本题答案是B选项。
14.C
【详解】本题考查的是流程图识读。阅读该流程图可知,其作用是将十进制数23转换成二进制数10111,变量sum用来累加二进制数每位数字之和,所以结果为4。故本题应选C。
15.D
【详解】本题考查的是流程图识读。观察流程图可知,该算法功能是计算s=1-2+3-……t-1的值。若输入k的值为5,s=1-2+3-4=-2,选项A说法错误;i从1到4,故循环体共执行了4次,选项B说法错误;程序结束后,t的值为1,选项C说法错误;i要从1判断到5,故表达式i<k执行了5次,选项D说法正确。故本题应选D。
16.B
【详解】本题主要考查算法流程图的识读。A公司的保密室采用指纹验证,只允许录入到指纹库中的B部门员工进入,如果其他部门员工进行指纹验证会触发警报感应器。根据算法以及流程图,可知流程图中①处的内容应该是是否属于B部门员工,故本题选B选项。
17.A
【详解】本题主要考查算法的特征。一个算法应该具有以下五个重要的特征:1、有穷性: 一个算法必须保证执行有限步之后结束;2、确切性:算法的每一步骤必须有确切的定义;3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定义了初始条件;4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;5、可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。故本题选A选项。
18.可行
【详解】本题考查算法的特征。算法作为能确实解决问题的策略,具有以下特征: 有穷性:算法的执行步骤必须是有限的,不能无限循环或无限执行。 确定性:算法的每一步骤都必须是明确定义的,不会存在歧义或不确定性。 数据输入/输出:算法需要接受输入数据,经过一系列的步骤处理后产生输出数据。 可行性:算法的执行过程是可行的,即能够在有限时间内完成,并且解决问题的方法是有效的。故答案为:可行。
19.1
【详解】本题考查的是流程图识读。阅读流程图可知,该程序功能是求a,b,c中最小的数。故当输入a=3,b=1,c=5时,运行结束后d的值1。
20.24,40
【详解】本题考查算法流程图相关内容。分析流程图可知,该流程图描述的是顺序结构,执行顺序:(1)a1=8,a2=16(a1、a2获得初值);(2)a1=a1+a2=8+16=24,a1值为24;(3)a2=a1+a2=24+16=40,a2的值为40。故本题答案是:24,40。
21. F B E C D A
【详解】本题考查的是流程图识读。按照计费规则,首先判断时长是否不超过3小时(含3小时)即T<=3,是则收费5元M=5;否则判断时长是否超过3小时且不超过8小时(含8小时)即 3<T≤8;否则判断时长是否超过8小时且不超过12小时(含12小时)即 8<T≤12,满足②则执行M=5+(T-3)*2,满足③则执行M=30。
22.
【详解】本题考查的是流程图识读。依次读取水质类别数据,如果还有未读取的数据,则继续读取下一个数据,对读取的数据进行判断,如果水质类别为1,则计数cnt加1。故①为: ②为:
23. 流程图
自然语言 伪代码
【详解】本题考查的是算法描述。算法的常用表示方法有3种:流程图、自然语言、伪代码。
24.错误
【详解】本题考查算法相关内容。算法就是用计算机求解某一问题的方法是能被机械地执行的动作或指令的有穷集合。算法是程序的灵魂,它独立于任何一种程序设计语言,一个算法可以用多种程序设计语言来实现。良好的算法设计,不仅可以提高程序的执行效率,起到事半功倍的效果,而且可以以算法设计为基础,通过寻求不同问题存在的相互联系,从计算机角度对不同问题的共性进行算法设计,实现程序编写的举一反三。算法设计是整个程序设计的核心。故本题答案是:错误。
25.正确
【详解】本题考查算法特征相关内容。算法的五大特征:有穷性、确定性、能行性(可行性)、有0个或多个输入、有一个或多个输出。每一步都有确切的含义,不会出现二义性,这体现了算法的确定性。故本题答案是:正确。
26.正确
【详解】本题考查算法相关内容。好的算法通常具有以下特点:(1)正确性--算法能够产生正确的输出结果,符合预期的计算目标。(2)可读性--算法的逻辑清晰,易于理解和阅读,方便其他人理解和维护。(3)高效性--算法在有限的时间内能够完成计算任务,不会消耗过多的计算资源。(4)健壮性--算法能够处理各种输入情况,不会因为输入的变化而导致错误或崩溃。(5)可扩展性--算法能够适应不同规模和复杂度的问题,并能够方便地进行扩展和修改。(6)优化性--算法能够在满足计算要求的前提下,尽可能地减少时间和空间复杂度,提高计算效率。(7)可靠性--算法在各种条件下都能够产生一致的结果,不受环境或输入数据的影响。故本题答案是:正确。
27.正确
【详解】本题主要考查算法的特征。一个算法应该具有以下五个重要的特征:1、有穷性: 一个算法必须保证执行有限步之后结束;2、确定性:算法的每一步骤必须有确切的定义;3、数据输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定义了初始条件;4、数据输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;5、可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。故答案为正确。
28. 1 35 35-tu tu*4+ji*2==94:
【详解】本题考查Python程序设计相关内容。本题涉及到鸡兔同笼问题,由题目可知,鸡兔共35只,两者脚数为94,假设兔的数量为tu,取值范围为[1,34],则鸡的数量ji=35-tu,若tu*4+ji*2==94成立,则满足鸡兔同笼要求。故①处答案是:1,②处答案是:35,③处答案是:35-tu,④处答案是:tu*4+ji*2==94:。
29.(1)B
(2)
(3)sum_jf←sum_jf+jf或sum_jf=sum_jf+jf或sum_jf+=jf
【详解】本题考查算法流程图相关知识点。
(1)用算法解决上述问题,在抽象与建模步骤,确定用变量day表示需要花费的时间,用jf表示当前签到可以获得几分,用sum_jf表示目前已经累计获得的积分,并得出解决问题的计算模型。故选B。
(2)菱形是条件判断框,平行四边形是数据输入/输出框,圆角矩形是开始/结束框,矩形是数据处理框。虚线框中应使用菱形框,即。
(3)用变量sum_if累计积分,jf表示每次得到的积分,故此处填sum_jf←sum_jf+jf或sum_jf=sum_jf+jf或sum_jf+=jf。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$