内容正文:
4.1 算法及其特征
一、选择题
1.小王同学周末的计划是:8:00 起床,9:00 至11:30 学习,14:30 打篮球,19:00看新闻联播,20:00至 21:30 学习。如果用算法描述这个计划,应该使用的结构是( )
A.顺序结构 B.选择结构 C.循环结构 D.嵌套结构
2.以下算法的结构是( )
① 输入a和b的值 ② 若 a>b,则 c=a-b ③ 否则 c=b-a 输出c ⑤ 结束
A.顺序结构 B.循环结构 C.分支结构 D.递归结构
3.下列关于算法特征的说法正确的是( )
A.算法不能没有输入 B.算法执行者只能是机器
C.算法至少要有1个输出 D.算法的有穷性指算法要在有限的时间内完成
4.流程图是描述________的常用方式。( )
A.程序 B.算法 C.数据结构 D.计算规则
5.下列关于算法的说法不正确的是( )
A.在计算机科学领域内,算法指的是用计算机解决问题的步骤
B.“计算斐波那契数列的所有元素”违背了算法的确定性
C.数据、运算和控制转移是算法的三大要素
D.常见的算法描述方式有自然语言、流程图、伪代码、计算机程序设计语言等
6.小申了解到水质类别符合1类标准需要从多个指标进行判断,其中要求溶解氧(mg/L)≥7.5。小申设计了一个算法,判断样本在溶解氧指标上是否符合 1 类标准。下面是小申设计的算法流程图,流程图不满足算法特征的( )
A.确定性 B.有一个或多个输出 C.有穷性 D.有零个或多个输入
7.图形符号“”在流程图中表示( )
A.变量的计算与赋值 B.开始和结束 C.条件判断 D.输入和输出
8.下列关于算法的说法不正确的是( )
A.实现算法的语言可以是多样的 B.算法具有确定性
C.解决同一问题的算法可以有多种 D.算法可以是零个输出
9.下列不属于算法特征的是( )
A.有穷性 B.确切性 C.存储性 D.可行性
10.鸡兔同笼、百钱百鸡、求1000以内所有的素数……这些问题,可以用同一种类型的算法去解决,这种方法是( )
A.解析法 B.枚举法 C.递归法 D.归纳法
11.某算法流程图如下图所示,若输入k的值为5,以下说法正确的是( )
A.程序运行结束后,s的值是2 B.循环体共执行了5次
C.程序结束后,t的值为-1 D.表达式i<k执行了5次
12.某算法的部分流程图如图所示,执行这部分后,下列说法不正确的是( )
A.a的值为9
B.b的值为17
C.循环条件b<=15?共判断4次
D.当第3次判断循环条件b<=15?时,b的值为9
13.“洗衣机的洗衣流程”情境问题,洗衣机模拟人洗衣的过程,自动执行洗衣程序,节省了大量的人力,这主要归功于由算法控制的机器设备。算法指在有限步骤内解决问题所使用的方法,从下图2的“洗涤算法”中,可以看出算法具有的特征是( )
图1 图2
A.无穷性 B.单一性 C.确定性 D.繁琐性
14.A公司的保密室采用指纹验证,只允许录入到指纹库中的B部门员工进入,如果其他部门员工进行指纹验证会触发警报感应器。根据算法,流程图中①处的内容应该是( )
A.是否属于A公司员工 B.是否属于B部门员工
C.是否识别 D.是否其他部门员工
15.某算法的部分流程图如下图所示,执行这部分流程后,变量X和Y的值分别为( )
A.3 和-8 B.4 和 6 C.-5 和 10 D.10 和 -5
16.在用“更相减损术”求最大公约数的过程中,输入的是两个正整数。这说明算法具有( )
A.有输入 B.有输出 C.有穷性 D.确定性
二、填空题
17.小明设计了一个“机器人走棋盘”算法,流程图如下。据流程图分析,机器人从棋盘S位置沿箭头方向出发,将到达的位置是 。
18.所谓 是人们为解决具体问题所采用的方法和步骤。
19.以下流程图当输入a=3,b=1,c=5时,运行结束后d的值 。
20.小申设计了一个算法,能够根据输入的三条线路的距离,找出最短距离,请将流程图空白处填写完整:① ② ③
21.以下流程图的运行结果是 。
三、判断题
22.在计算机中算法执行的每一步都有确定的含义,不会出现二义性。( )
23.利用计算机解决同一问题时,往往可以采用多种不同的算法来实现,好的算法应该具备时间效率高、内存占用少等特点。( )
24.用自然语言描述的算法通俗易懂,便于翻译成计算机程序设计语言。( )
25.算法是解决“做什么”和“怎么做”的具体步骤的描述,一个算法必须具有有穷性、确定性、有一个或多个输入、有一个或多个输出、可行性这五个基本特征。
26.算法是能被计算机执行的动作或指令的有穷集合。( )
四、操作题
27.这个问题,是我国古代著名趣题之一。大约在1500年前,《孙子算经》中就记载了这个有趣的问题。书中是这样叙述的:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?这四句话的意思是:有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。求笼中各有几只鸡和兔。请根据题目意思补全下列空着的代码。
for tu in range( ① , ② ):
ji=③
if ④ :
print("兔的只数为",tu, "鸡的只数为",ji)
28.以下流程图是一个算法的描述,该算法是对A、B值进行判断,如果A不大于B,则A与B的值互换,最后输出A,B的值。
(1)根据题目中对算法的描述,则流程图中①处填写 。
(2)如果用Python语言实现“A、B的值互换”,则应该写为 。
(3)如果用Python语言实现“输出A,B的值”,则应该写为 。
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.A
【详解】本题考查算法的应用。本算法描述的事件按照时间顺序依次执行,所以算法结构是顺序结构模式。故选A。
2.C
【详解】本题考查算法的基本结构。算法的基本结构有:顺序、选择(分支)、循环结构。顺序的执行顺序是自上而下,依次执行;选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程;循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。题干中需要判断a和b的大小,然后执行不同的语句,属于分支结构。故答案为:C。
3.C
【详解】
本题考查算法特征相关内容。A选项,算法可以0个输入,选项错误。B选项,算法的执行者可以是人或机器,选项错误。C选项,算法至少要有1个输出,选项正确。D选项,算法的有穷性指一个算法的处理步骤必须是有限的,“算法要在有限的时间内完成”是可行性,选项错误。故本题答案是C选项。
4.B
【详解】本题考查算法与流程图。流程图是一种用图形和文字描述算法执行过程的方法,它能够帮助人们更好地理解和分析算法的执行过程。故选:B。
5.B
【详解】本题考查算法。算法的有穷性是指算法在有限步骤内能够结束,不会出现无限循环或无法终止的情况。而斐波那契数列是一个无限序列,每个元素都是前两个元素之和,因此在计算所有元素时,计算过程将永远不会结束,违反了算法的有穷性。故答案为:B。
6.A
【详解】本题考查算法特征相关内容。算法的特征有:有穷性、确定性、可行性、有零个或多个输入、由一个或多个输出。确定性:算法中每一步的含义必须是确切的,不可出现任何二义性。在判断框中:d≧某数值,并未明确指出是哪个数值,不满足算法确定性特征。故本题答案是A选项。
7.C
【详解】本题考查流程图。在流程图中,圆角矩形是开始/结束、平行四边形是输入/输出、菱形是条件判断、矩形是过程处理。故答案为C选项。
8.D
【详解】本题考查的是算法。一个算法可用多个程序语言实现,可有多种描述形式。算法具有如下特征:1、有穷性:算法必须能在执行有限个步骤之后终止;2、确切性:算法的每一步骤必须有确切的定义;3、输入项:一个算法有0个或多个输入;4、输出项:一个算法有一个或多个输出,没有输出的算法是毫无意义的;5、可行性:算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成(也称之为有效性)。故本题应选D。
9.C
【详解】本题考查算法特征相关内容。算法特征:1、有穷性:一个算法必须保证执行有限步之后结束;2、确切性:算法的每一步骤必须有确切的定义;3、输入:一个算法有零个或多个输入,以刻画运算对象的初始情况;4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果,没有输出的算法是毫无意义的;5、可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。故本题答案是C选项。
10.B
【详解】本题考查算法相关内容。解析法是指能够找出表示问题的前提条件和结果之间的关系的数学表达式,并通过表达式的计算来实现问题的求解。枚举法是指在算法中采用搜索的方法,把各种可能的情况都考虑到,并对所得的结果逐一进行判断,过滤掉那些不符合要求的结果,保留那些符合要求的结果。递归法是一种通过重复将问题分解为同类的子问题而解决问题的方法。归纳法一般指归纳推理,是一种由个别到一般的推理。由一定程度的关于个别事物的观点过渡到范围较大的观点,由特殊具体的事例推导出一般原理、原则的解释方法。鸡兔同笼、百钱百鸡、求1000以内所有的素数……这些问题,可以用枚举法解决。故本题答案是B选项。
11.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。
12.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选项。
13.C
【详解】本题考查的是算法特征。一个算法应该具有以下五个重要的特征:1、有穷性:一个算法必须保证执行有限步之后结束;2、确切性:算法的每一步骤必须有确切的定义;3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件;4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果,没有输出的算法是毫无意义的;5、可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。从图中可知,算法具有确定性。故本题应选C。
14.B
【详解】本题主要考查算法流程图的识读。A公司的保密室采用指纹验证,只允许录入到指纹库中的B部门员工进入,如果其他部门员工进行指纹验证会触发警报感应器。根据算法以及流程图,可知流程图中①处的内容应该是是否属于B部门员工,故本题选B选项。
15.C
【详解】本题主要考查算法流程图的执行。X=10,Y=5,X=X+Y=15,Y=X-Y=15-5=10,X=Y-X=10-15=-5,不满足X>Y,程序结束,此时变量X和Y的值分别为-5和10,故本题选C选项。
16.A
【详解】本题主要考查算法的特征。在用“更相减损术”求最大公约数的过程中,输入的是两个正整数。这说明算法具有输入性,故本题选A选项。
17.②
【详解】本题考查算法与流程图。i=1,每次循环递增1,循环条件是i<=3,循环体是每次前进1格,循环体结束后,到达的位置是①,接着向左转前进1格,到达位置②结束。故答案为:②
18.算法
【详解】本题考查的是算法。所谓算法是人们为解决具体问题所采用的方法和步骤。
19.1
【详解】本题考查的是流程图识读。阅读流程图可知,该程序功能是求a,b,c中最小的数。故当输入a=3,b=1,c=5时,运行结束后d的值1。
20. a<b a<c
b<c
【详解】本题考查算法流程图选择结构程序设计相关内容。分析题意可知,该流程图的作用是求取三个正整数的最小值。结合求最小值方法和该流程图示意,可得答案:①a<b;②a<c;③b<c。答案不唯一,其他能得出正确结论的表达式也可以。
21.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。
22.正确
【详解】本题考查算法特征相关内容。算法的五大特征:有穷性、确定性、能行性(可行性)、有0个或多个输入、有一个或多个输出。每一步都有确切的含义,不会出现二义性,这体现了算法的确定性。故本题答案是:正确。
23.正确
【详解】本题考查算法相关内容。好的算法通常具有以下特点:(1)正确性--算法能够产生正确的输出结果,符合预期的计算目标。(2)可读性--算法的逻辑清晰,易于理解和阅读,方便其他人理解和维护。(3)高效性--算法在有限的时间内能够完成计算任务,不会消耗过多的计算资源。(4)健壮性--算法能够处理各种输入情况,不会因为输入的变化而导致错误或崩溃。(5)可扩展性--算法能够适应不同规模和复杂度的问题,并能够方便地进行扩展和修改。(6)优化性--算法能够在满足计算要求的前提下,尽可能地减少时间和空间复杂度,提高计算效率。(7)可靠性--算法在各种条件下都能够产生一致的结果,不受环境或输入数据的影响。故本题答案是:正确。
24.错误
【详解】本题考查算法描述相关内容。自然语言表示的算法容易产生歧义,表示的含义往往不严格,不便翻译成计算机程序设计语言,故本题答案是:错误。
25.错误
【详解】本题考查算法特性相关内容。算法的特性有:有穷性、确定性、有零个或多个输入、有一个或多个输出。一个算法可以没有输入。故本题答案是:错误。
26.正确
【详解】本题考查算法相关内容。算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法的一个特性是:有穷性(Finiteness),是指算法必须能在执行有限个步骤之后终止。故本题答案是正确。
【点睛】
27. 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:。
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的值即可)。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$