内容正文:
4.1 算法及其特征
一、选择题
1.要求所有两位数质数应选择( )
A.迭代法 B.顺序法 C.二分查找法 D.穷举法
2.小王同学周末的计划是:8:00 起床,9:00 至11:30 学习,14:30 打篮球,19:00看新闻联播,20:00至 21:30 学习。如果用算法描述这个计划,应该使用的结构是( )
A.顺序结构 B.选择结构 C.循环结构 D.嵌套结构
3.以下不属于算法特征的是( )
A.多样性 B.可行性 C.有穷性 D.确定性
4.算法特征之一“有穷性”指的是( )
A.算法不能太长 B.算法不能有多条输入语句
C.算法在执行有穷步骤之后一定要结束 D.算法中不能有多条输出语句
5.某算法的部分流程图如图所示,执行这部分流程,输出c的值是( )
A.9 B.10 C.90 D.100
6.关于算法的描述,正确的是( )
A.算法可以包含无限循环,所以算法的执行步骤可以是无限的
B.一个完整的算法必须要有输出
C.算法只能用伪代码表示
D.一个完整的算法至少要有一个输入
7.算法与程序的关系( )
A.算法是对程序的描述 B.算法决定程序,是程序设计的核心
C.算法与程序之间无关系 D.程序决定算法,是算法设计的核心
8.下列选项中,不适合用于描述“水仙花数问题”算法的是( )
A.自然语言 B.流程图 C.伪代码 D.机器语言
9.下列有关算法的描述说法正确的是( )
A.自然语言通俗易懂、计算机可直接执行,但容易产生歧义
B.流程图直观易懂且无二义,计算机可以直接执行
C.计算机程序设计语言通俗易懂,且能直接被计算机执行
D.伪代码结合了自然语言和计算机程序设计语言的优点,紧凑且直观简洁
10.下面不属于程序的基本控制结构的是( )
A.顺序结构 B.分支结构 C.循环结构 D.输入输出结构
11.有一个关于偶数的说法:“0是一个偶数,一个偶数与2的和是一个偶数。”这个说法中蕴含的算法思想是( )
A.穷举 B.二分 C.递归 D.解析
12.下列关于算法和程序设计语言之间关系的说法,正确的是( )
A.算法独立于程序设计语言,可以由多种程序设计语言来实现
B.程序设计语言与算法是一一对应的,每种算法由特定的程序设计语言来实现
C.当我们设计算法时,需要优先考虑由哪种程序设计语言来实现
D.评价一种算法的优劣,主要看能否被任何程序设计语言轻松实现
13.通过列举所有的可能进行密码破解,用到的算法是( )
A.递推 B.递归 C.穷举 D.分治
14.以下算法的描述方法是( )
第一步:输入直角三角形的两直角边a和b的值
第二步:计算s=(a×b)/2
第三步:输面积s的值
第四步:算法结束
A.程序描述法 B.自然语言描述法 C.流程图描述法 D.伪代码描述法
15.某算法的部分流程图如图所示,执行这部分后,下列说法不正确的是( )
A.a的值为9
B.b的值为17
C.循环条件b<=15?共判断4次
D.当第3次判断循环条件b<=15?时,b的值为9
16.全国连锁超市覆盖城市范围越来越广,为我们的生活提供了很多便利。同时微信、支付宝等支付功能的应用也让我们感受到信息技术的普及应用对我们生活的重要性。疫情期间需要测温扫码后符合条件才能进入超市购物,对于体温超过37.3℃的人员提示限制进入,该设备使用到的算法结构是选择结构( )
A.对 B.错
17.算法一般具有什么特征? ( )
A.有一个或多个输出 B.有穷性 C.可行性 D.确定性
二、填空题
18.所谓 是人们为解决具体问题所采用的方法和步骤。
19.算法作为能确实解决问题的策略,具有有穷性、确定性、数据输入/输出、 性的特征。
20.“某网店促销活动:购物满2件8折,满3件6折”。用算法来描述这一问题,可采用三种基本算法结构中的 结构。
21.以下流程图当输入a=3,b=1,c=5时,运行结束后d的值 。
22.以下流程图的运行结果是 。
23.小申设计了一个算法,能够根据输入的三条线路的距离,找出最短距离,请将流程图空白处填写完整:① ② ③
三、判断题
24.一个算法不一定非得有输入, 但至少要有一个输出,一个算法的执行步骤可以是有限的,也可以是无限的。( )
25.“无论算法有多么复杂,都必须在有限步骤之后结束并终止运行”,这句话表明了算法的有穷性。( )
26.算法是解决“做什么”和“怎么做”的具体步骤的描述,一个算法必须具有有穷性、确定性、有一个或多个输入、有一个或多个输出、可行性这五个基本特征。
27.算法是能被计算机执行的动作或指令的有穷集合。( )
四、操作题
28.以下流程图是一个算法的描述,该算法是对A、B值进行判断,如果A不大于B,则A与B的值互换,最后输出A,B的值。
(1)根据题目中对算法的描述,则流程图中①处填写 。
(2)如果用Python语言实现“A、B的值互换”,则应该写为 。
(3)如果用Python语言实现“输出A,B的值”,则应该写为 。
29.某算法流程图如下:
(1)依次输入1,10,1,执行该流程后,输出结果为 。
(2)依次输入1,10,2,执行该流程后,输出结果为 。
(3)依次输入1,6,2,执行该流程后,输出结果为 。
(4)依次输入3,6,2,执行该流程后,输出结果为 。
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.D
【详解】本题考查算法相关内容。迭代算法也称“辗转法”,是一种不断用变量的旧值递推出新值的解决问题的方法。顺序查找法(也称为线性查找),是一种基本的查找算法,它的工作原理是从数据序列的第一个元素开始,逐个比较每个元素,直到找到要查找的数据,或者检查完整个数据序列。二分法是在一个有序的数据集中,把数据集分成两部分,分别进行搜索,得到满足要求的数据。枚举(穷举)算法通过列举问题所有可能的解,并逐一检查每个解是否满足问题的条件。要求所有两位数质数应选择穷举法。故本题答案是D选项。
2.A
【详解】本题考查算法的应用。本算法描述的事件按照时间顺序依次执行,所以算法结构是顺序结构模式。故选A。
3.A
【详解】本题考查算法特征相关内容。一个算法应该具有以下五个重要的特征:1、有穷性: 一个算法必须保证执行有限步之后结束;2、确切性:算法的每一步骤必须有确切的定义;3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定义了初始条件;4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;5、可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。A选项不属于算法特征。故本题答案是A选项。
4.C
【详解】本题考查算法特征相关内容。算法的特征有:1、有穷性:算法的有穷性是指算法必须能在执行有限个步骤之后终止;2、确切性算法的每一步骤必须有确切的定义;3、输入项:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;4、输出项:一个算法有一个或多个输出,以反映对输入数据加工后的结果,没有输出的算法是毫无意义的;5、可行性:算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步骤,即每个计算步骤都可以在有限时间内完成(也称之为有效性)。故本题答案是C选项。
5.A
【详解】本题考查的是流程图识读。阅读流程图,可知其计算10~99中个位和十位数字相同的数有的个数。11、22、33、44、55、66、77、88、99满足,一共有9个。故本题应选A。
6.B
【详解】本题主要考查算法的描述。算法的执行步骤必须是有限的;一个完整的算法必须要有输出;算法可以用流程图表示,可以用伪代码表示等;一个完整的算法可以没有输入,但至少有一个输出,故本题选B选项。
7.B
【详解】本题考查算法相关内容。算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。算法决定程序,是程序设计的核心,算法不是唯一的,故本题答案是B选项。
8.D
【详解】本题考查的是算法描述方法。算法描述方法有:自然语言、流程图、伪代码等。机器语言是计算机语言的一种,故本题应选D。
9.D
【详解】
本题考查算法相关内容。A选项,计算机无法直接执行自然语言,选项错误。B选项,计算机无法直接执行流程图,选项错误。C选项,计算机程序设计语言不能直接被计算机执行,选项错误。D选项,伪代码结合了自然语言和计算机程序设计语言的优点,紧凑且直观简洁,选项正确。故本题答案是D选项。
10.D
【详解】本题考查算法基本结构。算法基本结构有:顺序结构、分支结构、循环结构。故选:D。
11.C
【详解】本题考查算法相关内容。枚举(穷举)算法通过列举问题所有可能的解,并逐一检查每个解是否满足问题的条件。二分法是在一个有序的数据集中,把数据集分成两部分,分别进行搜索,得到满足要求的数据。递归算法是指一种通过重复将问题分解为同类的子问题而解决问题的方法。解析算法是通过数学公式或逻辑推理来直接计算或推导问题的解。“0是一个偶数,一个偶数与2的和是一个偶数。”蕴含的算法思想是递归。故本题答案是C选项。
12.A
【详解】本题考查算法与程序设计语言关系相关内容。算法就是对解决某问题所采用的方法和步骤的描述。程序设计语言设计上就是一组符号及规则的集合。它是由语法、语义、语用三个要素组成。一个程序一般包括数据类型和算法两个方面的内容。其中数据类型(即数据结构)是对程序中的数据进行描述,指定数据在程序中的类型和数据的组织形式,它决定了数据的在内存中所占的存储空间和数据在内存中存放形式。而算法是对程序中数据的操作描述,是解决“做什么”和“怎么做”的问题,源程序中的操作语句就是算法的体现。程序设计语言是编写程序实现算法的语言工具。A选项,算法独立于程序设计语言,可以由多种程序设计语言来实现,选项正确。B选项,算法可以由不同的程序设计语言来实现,选项错误。C选项,算法最后由程序设计语言实现,选项错误。D选项,衡量算法性能优劣的标准是时间复杂度、空间复杂度、正确性、可读性、健壮性,选项错误。故本题答案是A选项。
13.C
【详解】本题考查算法相关内容。递推是通过计算前面的一些项来得出序列中的指定项的值。递归算法(recursion algorithm)在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。穷举法的基本思想是根据题目的部分条件确定答案的大致范围,并在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕。分治法就是将一个复杂的大问题分解成两个或者更多相同或者相似的子问题,再把子问题继续拆分成更小的子问题,直到子问题可以直接求解,然后原问题的解就是子问题的解的合并。通过列举所有的可能进行密码破解,用到的算法是穷举。故本题答案是C选项。
14.B
【详解】本题考查的是算法描述。自然语言是指用简洁的汉语或英语等语言和数学符号来描述算法。流程图是一种直观形象、用图形来描述算法的方法。伪代码是用计算机语言和自然语言结合来表示计算步骤要完成的处理或需要的数据。故选项B正确。
15.C
【详解】本题考查算法流程图相关内容。分析流程图可知,循环体内,a值每次递增2,即3、5、7、9...,b的值随a的变化而变化(b=2*a-1),b的值为:5、9、13、17...。当b的值为17时,循环条件不满足,结束循环。此时,a的值为9,b的值为17,A、B选项正确。对于循环条件,当b=0时,第一次执行,当b=17时,最后一次执行,共执行了5次,选项C错误。第三次判断循环条件时,b的值为9,D选项正确。故本题答案是C选项。
16.A
【分析】本题考查的知识点是算法的结构。算法的结构分为顺序结构、选择结构和循环结构。疫情期间需要测温扫码后符合条件才能进入超市购物,对于体温超过37.3℃的人员提示限制进入,该设备使用到的算法结构是选择结构。故答案为A选项。
【点睛】
17.ABCD
【详解】本题考查算法特征的描述。一个算法应该具有以下五个重要的特征:1、有穷性: 一个算法必须保证执行有限步之后结束;2、确切性:算法的每一步骤必须有确切的定义;3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定义了初始条件;4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;5、可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。故选ABCD。
18.算法
【详解】本题考查的是算法。所谓算法是人们为解决具体问题所采用的方法和步骤。
19.可行
【详解】本题考查算法的特征。算法作为能确实解决问题的策略,具有以下特征: 有穷性:算法的执行步骤必须是有限的,不能无限循环或无限执行。 确定性:算法的每一步骤都必须是明确定义的,不会存在歧义或不确定性。 数据输入/输出:算法需要接受输入数据,经过一系列的步骤处理后产生输出数据。 可行性:算法的执行过程是可行的,即能够在有限时间内完成,并且解决问题的方法是有效的。故答案为:可行。
20.分支
【详解】本题考查算法控制结构相关内容。算法有三种基本结构:顺序结构、分支结构、循环结构。题目中描述得是依据购物数量满足什么条件,确定打折数,属于分支结构。故本题答案是:分支。
21.1
【详解】本题考查的是流程图识读。阅读流程图可知,该程序功能是求a,b,c中最小的数。故当输入a=3,b=1,c=5时,运行结束后d的值1。
22.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。
23. a<b a<c
b<c
【详解】本题考查算法流程图选择结构程序设计相关内容。分析题意可知,该流程图的作用是求取三个正整数的最小值。结合求最小值方法和该流程图示意,可得答案:①a<b;②a<c;③b<c。答案不唯一,其他能得出正确结论的表达式也可以。
24.错误
【详解】本题考查算法特性相关内容。一个算法应该具有以下五个重要的特征:1)、有穷性:一个算法必须保证执行有限步之后结束;2)、确切性:算法的每一步骤必须有确切的定义;3)、输入:一个算法有0个或多个输入;4)、输出:一个算法有一个或多个输出;5)、可行性:算法中的每一步都可以被分解为基本的可执行操作,并在有限次内实现,而且人们用笔和纸做有限次运算后也可以完成。故本题答案是:错误。
25.正确
【详解】本题主要考查算法的特征。一个算法应该具有以下五个重要的特征:1、有穷性: 一个算法必须保证执行有限步之后结束;2、确定性:算法的每一步骤必须有确切的定义;3、数据输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定义了初始条件;4、数据输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;5、可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。故答案为正确。
26.错误
【详解】本题考查算法特性相关内容。算法的特性有:有穷性、确定性、有零个或多个输入、有一个或多个输出。一个算法可以没有输入。故本题答案是:错误。
27.正确
【详解】本题考查算法相关内容。算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法的一个特性是:有穷性(Finiteness),是指算法必须能在执行有限个步骤之后终止。故本题答案是正确。
【点睛】
28. A<=B C=A A=B B=C 或者 C=B B=A A=C 或 A,B=B,A(如果使用第三个变量的方法,则第三个变量不限制变量名称为C,满足条件即可,例如:T=A A=B B=T) print(A,B) 或 print(‘A、B变量的值分别为’,A,B)(不限制输出样式,能正确输出A和B的值即可)。
【详解】本题考查的是流程图识读。
(1)如果A不大于B,则A与B的值互换,故①处填写A<=B。
(2)A、B的值互换,可以引入三个变量进行交换:C=A A=B B=C 或者 C=B B=A A=C ;也可以直接赋值交换:A,B=B,A。
(3)Python输出函数是print( ),如果用Python语言实现“输出A,B的值”,则应该写为:print(A,B) 或 print(‘A、B变量的值分别为’,A,B)(不限制输出样式,能正确输出A和B的值即可)。
29. 10 5 3 2
【详解】本题考查的是流程图识读。阅读流程图可知是计算c~z(包含c和z)步长为b的序列数有几个。
(1)依次输入1,10,1,1~10步长为1的序列数有:1、2、3、4、5、6、7、8、9、10共10个数,故输出结果为10。
(2)依次输入1,10,2,1~10步长为2的序列数有:1、3、5、7、9共5个,故输出结果为5。
(3)依次输入3,6,2,3~6步长为2的序列数有:3、5共2个,故输出结果为2。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$