内容正文:
2.1 算法的概念及描述
一、选择题
1.下列关于算法和算法描述,正确的是( )
A.用一种程序语言来实现某个具体问题的算法只可能有一种方式
B.可行性是指算法的每一个步骤理论上可行,并不要求实际操作可行
C.很多问题计算时无解,因此算法可以有 0 个或多个输出
D.算法中数据的存储包括原始数据、计算中间结果、最终结果
2.以下关于计算机算法的说法中,正确的是( )
A.算法的每一个步骤必须明确 B.算法步骤可以是无限的
C.算法可以有输出也可以没有 D.算法的步骤可以是计算机无法完成的
3.下列关于算法的叙述,正确的是( )
A.解题的步骤一定是无穷的 B.算法是解决问题的方法和步骤
C.算法可以没有输出项 D.算法是一定需要输入项
4.某算法的部分流程图如右图所示,以下说法正确的是( )
A.该流程执行完,输出的结果是41
B.该流程执行后,变量a的值是32
C.交换s←s+k*a和k←1-k这两个语句的顺序,不影响输出结果
D.该流程执行后,变量k的值是1
5.欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。其解决问题的算法步骤如下:
① 输入a, b。
② 以a除以b,令所得的余数为 r。
③ b赋值给a,r赋值给b。
④ 若r不等于0,转步骤② ;否则继续步骤⑤ 。
⑤ 输出 a。
把以上自然语言描述的算法用流程图表示,流程图中菱形框中应填入的是( )
A.r==0? B.a==0? C.r!=0? D.a!=0?
6.在编程开发“手机走路计步器”的过程中,确定计步奖励规则和实现步骤并加以描述属于( )
A.设计算法 B.调试程序 C.分析问题 D.编写程序
7.以下关于求解“鸡兔同笼”问题的算法,其描述方式是( )
第一步:输入A和B的值
第二步:求 X=2A-B/2
第三步:求Y=B/2-A
第四步:输出X和Y的值
第五步:结束
A.自然语言 B.伪代码 C.计算机程序 D.流程图
8.以下算法的结构是( )
① 输入a和b的值 ② 若 a>b,则 c=a-b ③ 否则 c=b-a 输出c ⑤ 结束
A.顺序结构 B.循环结构 C.分支结构 D.递归结构
9.下列选项中,不属于算法特征的是( )
A.无穷性 B.确定性 C.输入、输出 D.可行性
10.用流程图来描述分支结构时要使用的符号是( )
A.连接圈 B.处理框 C.输入输出框 D.判断框
11.某算法的部分流程图如图所示,执行这部分流程,输入变量n的值为7,则以下错误的是( )
A.该流程执行后,变量a的值为5 B.该流程执行后,变量b的值为8
C.该流程执行后,程序输出的值为6 D.语句c<=n?共执行了4次
12.设计算法是程序设计的核心。为了表示一个算法,可以用不同的方法。常用的有自然语言、流程图、伪代码、PAD图等。这其中以特定的图形符号加上说明,表示算法的图,称为算法流程图。下列选项中表示对一个给定的条件进行判断的是( )
A. B. C. D.
13.某算法的部分流程图如图所示,执行这部分流程,若输入x的值依次为1,2,3,4,5,-1,则输出s的值是( )
A.3 B.7 C.13 D.15
14.下列关于算法的叙述,正确的是( )
A.有穷性是算法的基本特征之一 B.解决一个问题的算法只有一种
C.可行性不属于算法基本特征 D.算法对程序设计没有任何作用
15.以下流程图描述的算法执行结果是( )
A.10 B.25 C.30 D.55
16.下列表述错误的是( )
A.算法的本质是一种程序设计语言
B.计算机程序是计算机解决问题的一组可执行指令
C.程序设计语言泛指一切用于书写计算机程序的语言
D.代码是一系列计算机语言指令
二、填空题
17.在非数值计算中, 可以用来快速确定一个元素是否存在于一个集合中。
18.若输入 16 和 12,输出结果是 。
19.流程图中的菱形一般用代码 和 表示。
20.哥德巴赫猜想提出,任何一个不小于6的偶数都可以表示成两个素数之和,请编写程序,输入任意一个大于等于6的偶数,输出所有其等于两个素数之和的式子。例如: 6=3+3; 18=5+13, 18=7+11。
将24拆解成两个素数之和,可以有几种拆解方法? 种
21.2021年7月19日-20日,河南郑州经历了百年罕见的特大暴雨,城市受灾严重,一段众人合力破窗救出一位外婆和外孙、外孙女的视频惊心动魄。
原来60多岁外婆开车接外补和外孙女放学途中,遭遇车辆被大水围困。外婆立即给较远位置的女儿打电话求助,报出她附近店铺名字:一家便利店:一家酒店和一家面馆。女儿第一反应是报警,但当时所有报警电话都占线:于是女儿通过外卖平台和点评软件搜索便利店、面馆、酒店的名字:确定外婆的位置,并查询到这些店铺的联系电话,三家店铺均打通电话,但便利店老板在较远位置救援,店内无人;面馆只有一人,立刻赶去现场;酒店有数人也赶去救援。于此同时,无法赶赴现场的女儿在安全知识平台查询呛水、溺水抢救措施,以备急用。
大家想尽办法,利用有限的工具,最终在大水即将漫过车顶时救出被困三人至安全处。众人喜极而泣,对女儿冷静、睿智地正确“远程求救”纷纷表示赞赏。
请阅读以上材料,分析女儿危急关头处理事件的方法与流程,完成下列各题。
分析女儿求助流程图,①②③处的流程分别是( )、( )、( )。
(填字母:A.平台查询店铺电话及救援位置 B.报警成功 C.联系到多人救援 D.拨打便利店电话)
三、判断题
22.算法只能用自然语言来描述。( )
23.计算机无法解决“打印所有偶数”的问题,其主要原因是解决该问题的算法违背了算法特征中的有穷性。( )
24.表示算法的方法通常可以是流程图、伪代码和高级语言。( )
25.算法在程序设计中可有可无,它不会影响程序设计的效率。( )
26.用自然语言描述算法形象、直观、更容易理解。( )
四、操作题
27.某手机APP程序为了增加程序热度,采用“签到换积分”的形式来吸引用户,用户的签到记录由“0”和“1”的字符串组成,其中字符“0”表示未签到,字符“1”表示签到,积分计算规则如下:签到1天得1分,若连续签到k天,则k天所得分数为1+2+···+k-1+k分;未签到得0分。例如:
第1天
第2天
第3天
第4天
第5天
第6天
······
签到
签到
未签到
签到
签到
签到
······
+1
+2
+0
+1
+2
+3
······
将积分规则作以下修改:
(一)签到1天得1分,若连续签到k(k<=7)天,则k天所得分数为1+2+···+k-1+k分;若k>7天,则得7分,未签到得0分。
第1天
第2天
第3天
第4天
第5天
第6天
第7天
第8天
第9天
第10天
第11天
第12天
第13天
第14天
签到
未签到
签到
签到
签到
签到
签到
签到
签到
签到
签到
未签到
签到
签到
+1
+0
+1
+2
+3
+4
+5
+6
+7
+7
+7
+0
+1
+2
(二)增加一次补签功能。
按以上规则,求用户所得积分的最大值。
(1)用一句话简单描述你的求解方法。
(2)用流程图来描述实现上述功能的算法。
28.根据下图所示的流程图,回答问题。
(1)语句i=i+1总共被执行的次数是 ;
(2)该算法中用到的两种结构是 和 ;
(3)若依次输入12、-10、30、19、22,则输出的值是 ;
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.D
【详解】本题考查算法相关内容。算法是指为解决一个问题而采取的有限个方法或步骤。一个问题可以有多个算法;可行性要求理论和实际都需要可行;算法必须有输出;算法中数据的存储包括原始数据、计算中间结果、最终结果。故本题答案是D选项。
2.A
【详解】本题考查的是算法特征。一个算法应该具有以下五个重要的特征:1、有穷性: 一个算法必须保证执行有限步之后结束;2、确切性:算法的每一步骤必须有确切的定义;3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定义了初始条件;4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;5、可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。故本题选A选项。
3.B
【详解】本题考查的是算法的描述及特征。解题的步骤一定是有限的;算法就是解决问题的方法和步骤;算法至少要有一个输出项;算法是可以没有输入项。故选B。
4.A
【详解】本题考查算法流程图相关内容。其运行过程如图所示:。A选项,该流程执行完,输出的结果是41,选项正确。B选项,该流程执行后,变量a的值是64,选项错误。C选项,交换s←s+k*a和k←1-k这两个语句的顺序后,输出结果为17,选项错误。D选项,该流程执行后,变量k的值是0,选项错误。故本题答案是A选项。
5.A
【详解】本题考查算法流程图相关内容。分析算法描述,由“若r不等于0,转步骤② ;否则继续步骤⑤ ”知,菱形框处缺少判断条件,若条件不成立,则转步骤②,所以此处应填写:r==0?。故本题答案是A选项。
6.A
【详解】本题考查算法步骤。在设计算法阶段,开发者会确定程序如何执行特定的任务或功能。在这种情况下,确定计步奖励规则和实现步骤是设计算法的一部分,因为它涉及到定义程序如何处理用户的步数并据此给出奖励。故答案为A选项。
7.A
【详解】本题考查的是算法描述。自然语言是指用简洁的汉语或英语等语言和数学符号来描述算法。流程图是一种直观形象、用图形来描述算法的方法。伪代码是用计算机语言和自然语言结合来表示计算步骤要完成的处理或需要的数据。题干描述方式是自然语言。故选A。
8.C
【详解】本题考查算法的基本结构。算法的基本结构有:顺序、选择(分支)、循环结构。顺序的执行顺序是自上而下,依次执行;选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程;循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。题干中需要判断a和b的大小,然后执行不同的语句,属于分支结构。故答案为:C。
9.A
【详解】本题考查算法特征相关内容。一个算法应该具有以下五个重要的特征:1、有穷性:一个算法必须保证执行有限步之后结束;2、确切性:算法的每一步骤必须有确切的定义;3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定义了初始条件;4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;5、可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。故本题答案是A选项。
10.D
【详解】本题主要考查算法流程图。菱形是条件判断框,平行四边形是数据输入/输出框,圆角矩形是开始/结束框,矩形是数据处理框。流程图来描述分支结构时要使用的符号是判断框。故本题应选D。
11.D
【详解】本题考查流程图。执行过程各变量的值变化如下:
a
1
1
2
3
5
b
1
2
3
5
8
c
1
2
3
5
8
i
2
3
4
5
6
语句c<=n?共执行了5次,故本题应选D。
12.D
【详解】本题考查算法流程图相关内容。以特定的图形符号加上说明,表示算法的图,称为流程图。圆角矩形表示流程的开始(起)与结束(止),通常只有一个开始框;矩形表示流程中需要执行或处理的内容;菱形表示对流程中的某一条件进行判断,用来决定执行下一操作;用平行四边形表示程序流程中资料的输入或结果的输出;箭头代表流程中程序执行的方向与顺序。故本题答案是D选项。
13.C
【详解】本题考查流程图。本题使用表格追踪法,表格中的k、s均为执行流程后的值:
x
k
s
1
0
-1
2
1
1
3
0
4
4
1
8
5
0
13
-1
当输入最后的-1时,程序执行输出s,即输出为13。故答案选C。
14.A
【详解】本题考查的是算法相关知识。解决一个问题的算法有多种;可行性属于算法基本特征;算法是程序设计的依据。故本题应选A。
【点睛】
15.B
【详解】本题考查流程图。分析流程图可知,初始状态下i=1,s=0,
第一次循环:判断i<=10成立,执行语句:s=s+i=0+1=1,i=i+2=1+2=3;
第二次循环:判断i<=10成立,执行语句:s=s+i=1+3=4,i=i+2=3+2=5;
第三次循环:判断i<=10成立,执行语句:s=s+i=4+5=9,i=i+2=5+2=7;
第四次循环:判断i<=10成立,执行语句:s=s+i=9+7=16,i=i+2=7+2=9;
第五次循环:判断i<=10成立,执行语句:s=s+i=16+9=25,i=i+2=9+2=11;
第六次循环:判断i<=10不成立,退出循环,输出s=25。故答案为B选项。
16.A
【详解】本题考查算法的描述。算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令;程序设计语言泛指一切用于书写计算机程序的语言;代码是一系列计算机语言指令。故选A。
17.哈希表
【详解】本题考查哈希表的描述。在非数值计算中,哈希表(Hash Table)是一种常用的数据结构,可以用来快速确定一个元素是否存在于一个集合中。哈希表通过哈希函数将元素的键值映射到表中的一个位置,从而实现快速查找、插入和删除操作。由于哈希表的平均时间复杂度为O(1),因此在需要频繁查找元素的场景中非常高效。
18.4
【详解】本题考查的是流程图识读。阅读流程图可知,这是采用辗转相除法求最大公约数。16和12的最大公约数是4。
19. if else
【详解】本题考查流程图。在流程图中,菱形通常表示条件判断的部分,其中使用if表示条件为真的情况,而使用else表示条件为假的情况。故答案为:if、else。
20.3或三
【详解】本题考查算法程序设计相关内容。把24拆成两个素数的和有3种拆法:5和19、7和17、11和13。故本题答案是:3或三。
21. B A C
【详解】本题考查的是流程图相关知识。①②③处的流程分别是B判断报警成功与否——如果报警不成功——A平台查询店铺电话及救援位置——拨打店铺电话——判断是否能C联系到多人救援。
22.错误
【详解】本题考查算法。算法可以用多种方式来描述,常见的有自然语言、流程图、程序设计语言等。自然语言描述较为通俗易懂,但可能存在模糊和歧义;流程图直观清晰,能更形象地展示算法的流程和逻辑;程序设计语言则可以直接实现算法。故说法错误。
23.正确
【详解】本题考查算法特征相关内容。算法具有有穷性、确切性、输入项(0个或多个输入)、输出项(1个或多个输出)、可行性五个重要特征。“打印所有偶数”是无穷的,所以计算机无法解决“打印所有偶数”,是违背了“有穷性”的原则。故本题答案是:正确。
24.正确
【详解】本题考查算法的表示。表示算法的方法有多种,常见的包括流程图,它通过图形符号直观地展示算法步骤和逻辑流程;伪代码,是一种类似编程语言但更简洁易懂的方式来描述算法逻辑;高级语言,如 C、C++、Java等可以直接编写代码来实现算法。故说法正确。
25.错误
【详解】本题考查算法相关内容。算法就是用计算机求解某一问题的方法是能被机械地执行的动作或指令的有穷集合。算法是程序的灵魂,它独立于任何一种程序设计语言,一个算法可以用多种程序设计语言来实现。良好的算法设计,不仅可以提高程序的执行效率,起到事半功倍的效果,而且可以以算法设计为基础,通过寻求不同问题存在的相互联系,从计算机角度对不同问题的共性进行算法设计,实现程序编写的举一反三。算法设计是整个程序设计的核心。故本题答案是:错误。
26.错误
【详解】本题考查算法的描述。用流程图描述算法形象、直观、更容易理解,故表述错误。
27. 方法一:找到补签后积分最多的那一天,再统计积分;方法二:枚举补签每一个未签到时的总积分,求最大值。
【详解】本题考查算法流程图相关内容。结合题目内容,可知:
(1)依据签到积分规则,若要统计积分最大值,可以采用的方法有:找到补签后积分最多的那一天,再统计积分;具体如答案所示。
(2)依据签到积分规则,分析用户签到情况所形成的序列,在序列中判断是否签到成功,若签到成功,则进行积分累计,签到1天得1分,若连续签到k(k<=7)天,则k天所得分数为1+2+···+k-1+k分,若k>7天,则得7分,若中断签到,则从再次签到成功开始,重新累计,由算法流程图表示方法可画出流程图,具体如答案所示。
28. 4 分支结构 循环结构 30
【详解】本题考查算法流程图相关内容。(1)i=1,循环条件是i<=4,故语句i=i+1总共被执行的次数是4次,故①处答案为:4。(2)观察流程图可知,该算法中用到的两种结构是分支结构和循环结构。故②处答案为:分支结构,③处答案为:循环结构。(3)分析该流程图,可知该算法功能是求输入数据的最大值。若依次输入12、-10、30、19、22,则输出的值是30。故④处答案为:30。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$