内容正文:
3.2 算法及其描述
一、选择题
1.流程图中矩形的功能是( )
A.算法的开始或结束 B.算法中变量的计算与赋值
C.算法中变量的输入或输出 D.算法中变量的条件判断
2.以下不是描述算法的基本方法是( )
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.新冠疫情期间,医院实行分诊制度,进入医院首先要测量体温,37.3 ℃以下的病人正常就诊,对于37.3 ℃以上的病人要去发热门诊就诊,下图是根据体温判断如何就诊的流程图,如果输入的体温是38.2℃,则该流程的执行顺序是( )
A.①②③ B.①②④ C.①②④③ D.①②③④
8.流程图可以用图形直观表示算法,如用流程图表示z=x+y,要用到以下哪个图形?( )
A.直角矩形 B.菱形 C.垂行四边形 D.圆角矩形
9.某算法的部分流程图如图所示。
执行这部分流程,若依次输入2,-3,5,1,2,-1,-8,3,4,0,则输出变量m的值为( )
A.5 B.6 C.7 D.8
10.下列选项中没有体现递归思想是( )
A. B. C. D.
11.下列关于算法特征的描述错误的是( )
A.算法必须在有限的步骤内结束 B.算法至少有一个输入
C.算法的每一步必须有确切的含义 D.算法至少有一个输出
12.某算法的部分流程图如图所示,以下说法正确的是( )
A.该流程执行后,变量 k 的值是-1
B.该流程执行后,变量 a 的值是 16
C.该流程用于计算并输出 1+8-16 的值
D.该流程完整执行后,“a<32?”共执行了 3 次
13.若输入 16 和 12,输出结果是( )。
A.0 B.1 C.4 D.12
14.下图算法的基本结构是( )
A.顺序结构 B.树形结构 C.选择结构 D.循环结构
二、填空题
15.算法的常用表示方法有3种: 、 、 。
16.描述算法可以有多种方法,比如可以使用自然语言或 进行描述。
17.下图描述的算法执行结果是 。
18.以下算法的输出结果是: 。
三、判断题
19.利用计算机解决同一问题时,往往可以采用多种不同的算法来实现,好的算法应该具备时间效率高、内存占用少等特点。( )
20.表示算法的方法通常可以是流程图、伪代码和高级语言。( )
21.衡量算法的优劣往往从时间复杂度和空间复杂度两个维度考虑。( )
22.选择结构中,无论条件是否成立,都可以同时执行两个步骤。( )
四、操作题
23.“枚举算法”又称为“穷举法”,其基本思想是:一一列举出所有可能的解,并验证每个可能的解是否是真正的解,若是,就采纳,否则,就抛弃。
小明利用枚举算法解决“百元买百鸡”问题。用100元钱买100只鸡,公鸡,母鸡,小鸡都要有。公鸡5元1只,母鸡3元1只,小鸡1元3只。请问公鸡,母鸡,小鸡各应该买多少只?
假设公鸡有X只,母鸡有Y只,小鸡有Z只。
以下Python程序段实现了“百元买百鸡”的功能,请补全①②③处代码。
c = 0
for x in ① :
for y in range(1,33):
z = 100-x-y
if ② :
print("公鸡:",x,"母鸡:",y,"小鸡:",z)
③
print("共有买法",c,"种")
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.B
【详解】本题主要考查算法流程图。菱形是条件判断框,平行四边形是数据输入/输出框,圆角矩形是开始/结束框,矩形是数据处理框(用于变量的计算与赋值),故本题选B选项。
2.B
【详解】本题考查的是算法描述。描述算法的基本方法有:自然语言、流程图、计算机语言。书面语言不是描述算法的方法。故应选B。
3.A
【详解】本题考查的是算法。算法有三种描述方式,自然语言、流程图和伪代码。一个算法可以没有输入,但是必须有输出。算法必须在有限步骤之内完成。故选项A正确。
4.B
【详解】本题考查的是流程图识读。循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。它由循环体中的条件,判断继续执行某个功能还是退出循环。①③是选择结构。②④是循环结构。故本题应选B。
5.C
【详解】本题考查的是算法。算法是指解决问题的方法和步骤。故选项C正确。
6.C
【详解】本题考查算法的特征。算法的特征有:有穷性、确定性、有零个或多个输入、有一个或多个输出、可行性。
1、有穷性:一个算法必须保证执行有限步之后结束;
2、确定性:算法的每一步骤必须有确切的定义;
3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件;
4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;
5、可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。
故选:C。
7.B
【详解】本题主要考查算法流程图。输入的体温是38.2℃大于37.3℃,故该流程的执行顺序是①②④,故本题选B选项。
8.A
【详解】本题主要考查算法流程图。菱形是条件判断框,平行四边形是数据输入/输出框,圆角矩形是开始/结束框,矩形是数据处理框。,如用流程图表示z=x+y,要用到直角矩形,故本题选A选项。
9.D
【详解】本题考查的是流程图的识读。该流程图的功能是求连续序列和的最大值,最大值为5+1+2=8,故选项D正确。
10.C
【详解】本题考查递归思想相关内容。递归的基本思想,是把规模较大的一个问题,分解成规模较小的多个子问题去解决,而每一个子问题又可以继续拆分成多个更小的子问题,最重要的一点就是假设子问题已经解决了,现在要基于已经解决的子问题来解决当前问题;或者说,必须先解决子问题,再基于子问题来解决当前问题,在具体实现时候的体现就是调用自身。ABD体现了递归思想,C选项并未体现递归思想。故本题答案是C选项。
11.B
【详解】本题考查的是算法特征。算法的特征:(1)有穷性:一个算法在执行有穷步之后必须结束,即一个算法所包含的计算步骤是有限的。(2)确定性:算法执行的每一个步骤必须有确切的定义,不能出现模棱两可的情况。(3)数据输入:一个算法必须有零个或多个数据输入,以刻画运算对象的初始情况。(4)数据输出:一个算法有一个或多个数据输出,以反映对输入数据加工后的结果,没有输出的算法是毫无意义的。(5)可行性。算法中执行的任何计算步骤都可以被分解为基本的可执行的操作步骤,即每个计算步骤都可以在有限时间内完成。故本题应选B。
12.D
【详解】本题主要考查算法流程图的执行。s=1,k=1,a=8,第一次循环,满足a<32,执行s=s+k*a=9,k=1-k=0,a=2*a=16;第二次循环,满足a<32,执行s=s+k*a=9,k=1-k=1,a=2*a=32;第三次循环,不满足a<32,循环结束。该流程执行后,变量k的值是1,变量a的值是32,变量s的值是9,该流程完整执行后,“a<32?”共执行了3次,故本题选D选项
13.C
【详解】本题考查的是流程图识读。阅读流程图可知,这是采用辗转相除法求最大公约数。16 和 12的最大公约数是4,故本题应选C。
14.A
【详解】本题考查的是算法结构。算法结构有:顺序结构、选择结构、循环结构。顺序结构表示程序中各步操作按出现的先后顺序执行;选择结构表示程序的处理步骤出现了分支,需要根据某一特定条件选择其中一个分支执行;循环结构表示程序反复执行某个或某些操作,直到判断条件为假(真)时才可终止循环。由图中可知这是一个顺序结构。故应选A。
15. 流程图
自然语言 伪代码
【详解】本题考查的是算法描述。算法的常用表示方法有3种:流程图、自然语言、伪代码。
16.伪代码
【详解】本题考查算法描述。伪代码是一种非特定的程序设计语言的、用于描述算法逻辑但不依赖具体编程语言的描述方法。故答案为伪代码。
17.15
【详解】本题主要考查算法流程图的执行。外循环一共执行5次,内循环每次执行m次,m依次取1、2、3、4、5,内循环每执行1次,s递增1,故执行完s=1+2+3+4+5=15。
18.85
【详解】本题考查的是流程图的执行过程。a=“5”,b=“8”,“5”>“8”,N,x=“85”。故输出的结果为85。
19.正确
【详解】本题考查算法相关内容。好的算法通常具有以下特点:(1)正确性--算法能够产生正确的输出结果,符合预期的计算目标。(2)可读性--算法的逻辑清晰,易于理解和阅读,方便其他人理解和维护。(3)高效性--算法在有限的时间内能够完成计算任务,不会消耗过多的计算资源。(4)健壮性--算法能够处理各种输入情况,不会因为输入的变化而导致错误或崩溃。(5)可扩展性--算法能够适应不同规模和复杂度的问题,并能够方便地进行扩展和修改。(6)优化性--算法能够在满足计算要求的前提下,尽可能地减少时间和空间复杂度,提高计算效率。(7)可靠性--算法在各种条件下都能够产生一致的结果,不受环境或输入数据的影响。故本题答案是:正确。
20.正确
【详解】本题考查算法的表示。表示算法的方法有多种,常见的包括流程图,它通过图形符号直观地展示算法步骤和逻辑流程;伪代码,是一种类似编程语言但更简洁易懂的方式来描述算法逻辑;高级语言,如 C、C++、Java等可以直接编写代码来实现算法。故说法正确。
21.正确
【详解】本题考查的是算法。衡量算法的优劣往往从时间复杂度和空间复杂度两个维度考虑,题干中的说法正确。
22.错误
【详解】本题考查的是算法结构。选择结构中,根据条件来选择执行的步骤。故题干中说法错误。
23. range(1,20) 5*x+3*y+z/3 == 100 c = c+1
【详解】本题考查的是python编程。X代表的是公鸡,公鸡5元一只,所以此处的range函数为range(1,20),左闭右开区间。if条件是满足三种鸡的总价格为100元的条件,故答案为5*x+3*y+z/3 == 100,注意这里是一个判断条件,用==表示。c代表的是有几种购买方案,当if条件满足时,即满足一种方案,执行方案数加1,c=c+1。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$