内容正文:
第二章 算法与问题解决
一、选择题
1.如图所示算法,若输入x是2,则输出结果是( )
A.48 B.120 C.240 D.12
2.某算法的部分流程图如图所示。执行该流程后,输出s、i的值分别是( )
A.9 4 B.5 5 C.4 5 D.0 6
3.下列关于算法和算法描述,正确的是( )
A.用一种程序语言来实现某个具体问题的算法只可能有一种方式
B.可行性是指算法的每一个步骤理论上可行,并不要求实际操作可行
C.很多问题计算时无解,因此算法可以有 0 个或多个输出
D.算法中数据的存储包括原始数据、计算中间结果、最终结果
4.某算法流程图如图所示,下列说法正确的是( )
A.该算法结构只有分支结构 B.i<=49?和i%10==3?的执行次数相同
C.程序执行后i的值为50 D.程序的输出结果为115
5.假如卧底在A、B、C、D四位同学中,A说:“不是我”,B说:“是C”,C说“是D”,D说:“C说的不对”,已知四人中有一人说谎,判断“谁是卧底”的算法适合( )
A.解析算法 B.二分查找算法 C.枚举算法 D.递归算法
6.某算法的部分流程图如图所示。执行这部分输入“1001011”,则输出值为( )
A.-1 B.0 C.1 D.2
7.某算法的部分流程图如右图所示,执行这部分流程,输出的s值为( )
A.28 B.162 C.280 D.945
8.下列有关算法概念与特征的描述,正确的是( )
A.算法就是解决问题的方法和步骤 B.一个问题的算法是唯一的
C.算法只能用自然语言描述 D.设计算法时不需要考虑计算机能否实现
9.算法与程序的关系( )
A.算法是对程序的描述 B.算法决定程序,是程序设计的核心
C.算法与程序之间无关系 D.程序决定算法,是算法设计的核心
10.下列选项中不属于算法特征的是( )
A.有穷性 B.唯一性 C.可行性 D.确定性
11.下列关于算法特征的说法正确的是( )
A.算法不能没有输入 B.算法执行者只能是机器
C.算法至少要有1个输出 D.算法的有穷性指算法要在有限的时间内完成
12.下列关于算法描述错误的是( )
A.一个有效的算法必须要有输入 B.算法必须在有限时间和有限步骤内完成
C.算法是解决问题的方法和步骤 D.可用自然语言、伪代码、流程图等不同的方法来描述算法
13.某算法的部分流程图如图所示。执行这部分流程,若输入m和n的值分别为18,12,则输出的结果是( )
A.0 B.2 C.4 D.6
14.下列关于算法描述错误的是( )
A.算法是有限步骤内解决问题的方法 B.算法必须具有可行性
C.一个算法必须要有一个输入 D.算法可以有多个输出
15.某算法的部分流程图如下图所示,执行这部分流程,若输入i的值为序列[2, 3, 4, 5]中的随机数,则下列说法正确的是( )
A.变量c的最大值为11 B.“a>0?”至少执行5次
C.程序结束时变量a一定等于0 D.只能使用while语句实现该循环结构
16.为了更好地了解某地的水质情况,科研人员采集了该地各监测点当天的水质数据。数据中包含了各监测点的水质类别、水温(℃)、pH、溶解氧(mg/L)、高锰酸盐指数(mg/L)。通过数字化学习,小申了解到水质类别从高到低分为1-5类,级别最高(质量最好)为1,级别最低(质量最差)为5。小申了解到水质类别符合1类标准需要从多个指标进行判断,其中要求溶解氧(mg/L)≥7.5。小申设计了一个算法,判断样本在溶解氧指标上是否符合1类标准。下图是小申设计的算法流程图,该流程图不满足算法特征的( )
A.有穷性 B.有一个或多个输出 C.确定性 D.有零个或多个输入
二、填空题
17.如图所示算法,小球从10米高空落地,以后每次弹起的高度都要比前次减少20%,经过多少次后,小球弹起的高度小于0.01米,请用h和数字组成表达式,应填 。
18.哥哥考弟弟一道数学题,题目内容如下:“有一筐鸡蛋,2个2个数多1个,3个3个数多2个,4个4个数多3个,5个5个数正好数完,问这筐鸡蛋最少是几个?”流程图是解决此问题的算法,则空白横线处应填 。
19.流程图描述的算法执行结果是 。
20.流程图描述的算法,执行结果是 。
21.下列流程图的结果是 。
三、判断题
22.在用乘车卡乘车时,当卡内余额不足,系统会给出提示信息,请乘客投币。在对这一过程设计算法时,必须要用到算法的选择结构。( )
23.计算机算法的三个基本控制结构是顺序结构、选择结构和循环结构,它们可以解决所有算法问题。( )
24.利用计算机解决同一问题时,往往可以采用多种不同的算法来实现,好的算法应该具备时间效率高、内存占用少等特点。( )
25.用自然语言描述的算法通俗易懂,便于翻译成计算机程序设计语言。( )
26.用自然语言描述算法形象、直观、更容易理解。( )
四、操作题
27.小明同学设计了求1-2+3-4+5-6+7-8.…….+99-100的和的流程图,请根据算法要求选择A-G 中的Python表达式或语句填入流程图的①-⑤中,将其补充完整。
A.n<=100
B.n<100
C. n=n+1
D.n=n+2
E. n% 2==0
F. sum=sum+n
G. sum=sum-n
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.C
【详解】本题考查程序分析。
该程序功能为:i初始化为1,当i<5时,i=i+1,x累乘i,赋值给x。若输入x是2,则x=2*2*3*4*5=240。故正确答案为:选项C。
2.B
【详解】本题考查算法流程图相关内容。执行流程图,i=2时,s=9;i=4时,s=5;退出循环时,i=5、s=5。故本题答案是B选项。
3.D
【详解】本题考查算法相关内容。算法是指为解决一个问题而采取的有限个方法或步骤。一个问题可以有多个算法;可行性要求理论和实际都需要可行;算法必须有输出;算法中数据的存储包括原始数据、计算中间结果、最终结果。故本题答案是D选项。
4.D
【详解】本题考查流程图。A选项错误,该算法结构既有分支结构也有循环结构。B选项错误,i<=49?执行次数为50次,i%10==3?执行次数为49次。C选项错误,程序执行后i的值为51。D选项正确,程序输出的值为:3+13+23+33+43=115。故答案为:D。
5.C
【详解】本题考查枚举算法的应用。分析题干,可知可以通过枚举所有可能来找出“谁是卧底”。故选C。
6.C
【详解】本题考查的是流程图识读。阅读流程图可知,其功能是将输入的字符串中各数相加,然后除2取余,最后输出1-余数。1+1+1+1=4,4%2=0,1-0=1,故选C。
7.C
【详解】本题考查的是流程图识读。阅读流程图可知计算的是s=1*4*7*10=280,故选C。
8.A
【详解】本题考查算法的概念和特征。算法就是解决问题的方法和步骤;一个问题的算法不是唯一的;算法能用自然语言、算法流程图等来描述;设计算法时需要考虑计算机能否实现。故选A。
9.B
【详解】本题考查算法相关内容。算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。算法决定程序,是程序设计的核心,算法不是唯一的,故本题答案是B选项。
10.B
【详解】本题考查算法的特征。唯一性在这里指代是算法结果的唯一性,但算法的结果可以是唯一的,也可以是多种可能的结果,这与算法的特征无关。故答案为:B。
11.C
【详解】
本题考查算法特征相关内容。A选项,算法可以0个输入,选项错误。B选项,算法的执行者可以是人或机器,选项错误。C选项,算法至少要有1个输出,选项正确。D选项,算法的有穷性指一个算法的处理步骤必须是有限的,“算法要在有限的时间内完成”是可行性,选项错误。故本题答案是C选项。
12.A
【详解】本题考查算法相关内容。算法就是解决问题的方法和步骤的描述,可以用自然语言、伪代码、流程图等多种不同的方法来描述,必须在有限步骤内实现,有零个或多个输入,至少一个或多个输出。故本题答案是A选项。
13.D
【详解】本题考查算法流程图相关知识。分析此流程图,模拟其运行过程:将m、n代入流程,当n!=0成立,重复执行m,n=n,m-n操作,当n!=0不成立时,输出m的值。m=18,n=16,n!=0成立,第一次进入循环,执行m,n=n,m-n操作后,m值为12,n值为6;n!=0成立,第二次进入循环,执行m,n=n,m-n操作后,m值为6,n值为6;n!=0成立,第三次进入循环,执行m,n=n,m-n操作后,m值为6,n值为0;n!=0不成立,循环结束。此时,m值为6。故本题答案是D选项。
14.C
【详解】本题考查算法的描述。一个算法应该具有以下五个重要的特征:1、有穷性: 一个算法必须保证执行有限步之后结束;2、确切性:算法的每一步骤必须有确切的定义;3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定义了初始条件;4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;5、可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。故选C。
15.B
【详解】本题考查流程图及循环结构相关内容。分析流程图及各变量初始状态可以得出:
A选项,变量c具有统计循环执行次数的作用,当随机数i每次都取最小值2时,循环执行次数最大,a由20开始,“a>0?”循环条件成立,进入循环,a每次-2,c每次+1,。当a=0时,a>0循环条件不成立,结束循环,此时循环执行10次,C的值为10,故C的最大值为10,选项错误;
B选项,“a>0?”的执行次数由随机数i的取值决定,当i每次都为最大值5时,“a>0?”执行次数最少。“a>0?”执行成立时,执行a=a-i操作,a的值变化情况:20、15、10、5、0,当a=0时,“a>0?”执行最后一次,循环条件不成立,无法进入循环。故“a>0?”执行至少执行5次,选项正确;
C选项,程序结束时变量a不一定等于0,当随机数i每次都取3,“a>0?”执行成立时,执行a=a-i操作,a的值变化情况:20、17、14、11、8、5、2、-1,当a=-1时,循环条件“a>0?”不成立,无法进入循环,选项错误。
D选项,循环语句有:for语句、while语句、do...while语句等形式,相互之间可以转换,均能实现相同功能。选项错误。
故本题答案是B选项。
16.C
【详解】本题考查的是算法特征。确定性:算法中每一步的含义必须是确切的,不可出现任何二义性。判断框中:d>某数值,不满足算法确定性特征。故本题应选C。
17.h=0.8*h
【详解】本题考查算法分析。
题意可知每次弹起的高度都要比前次减少20%,即每次是原来高度的80%,故正确答案为:h=0.8*h。
18.not p
【详解】本题考查流程图。在这个算法中,通过对变量n分别进行除以2、3、4、5的取余运算,并将结果分别存储在p1、p2、p3、p4中。然后通过p=p1 and p2 and p3 and p4来判断当前的n是否同时满足“2个2个数多1个,3个3个数多2个,4个4个数多3个,5个5个数正好数完”这些条件。由于我们要找的是满足条件的最小的n,所以在每次循环中,当p为True时,说明当前的n满足所有条件,不符合“最少”的要求,需要继续寻找更小的n。只有当p为False时,才继续增加n的值进行下一轮判断,直到找到满足条件且最小的n。因此,空白横线处应填not p。故答案为:not p。
19.16
【详解】本题考查的是流程图的识读。阅读流程图可知,计算的是1+3+5+7的值,故填16。
20.shanghai
【详解】本题考查算法分析。
该程序功能比较str1和str2字符串大小,输出较大的字符串。小写字母s的ASCII码大于大写字母S。故正确答案为:shanghai。
21.@@@@////$$$$
【详解】本题考查算法流程图相关内容。分析流程图,可知,其执行过程是:首先输出“@@@@”,然后在t!=1的条件下,执行循环体:(1)若n>2成立,输出“$$$$”,且令t值为1,否则输出“####”;(2)n=n+1。初始状态下,n值为1,n>2不成立,输出:“####”;再执行n=n+1,n值为2,n>2不成立,输出:“####”;再执行n=n+1,n值为3,n>2成立,输出:“$$$$”,t值为1,再执行n=n+1,n值为3;此时t==1成立,结束循环。流程图结果为:@@@@########$$$$。故本题答案是:@@@@########$$$$。
22.正确
【详解】本题考查的是算法结构。选择结构会依据条件选择其中一个分支执行。在用乘车卡乘车时,当卡内余额不足,系统会给出提示信息,请乘客投币。在对这一过程设计算法时,必须要用到算法的选择结构。说法正确。
23.正确
【详解】本题考查算法结构。顺序结构、选择结构和循环结构是算法的三个基本控制结构。故正确答案为正确。
24.正确
【详解】本题考查算法相关内容。好的算法通常具有以下特点:(1)正确性--算法能够产生正确的输出结果,符合预期的计算目标。(2)可读性--算法的逻辑清晰,易于理解和阅读,方便其他人理解和维护。(3)高效性--算法在有限的时间内能够完成计算任务,不会消耗过多的计算资源。(4)健壮性--算法能够处理各种输入情况,不会因为输入的变化而导致错误或崩溃。(5)可扩展性--算法能够适应不同规模和复杂度的问题,并能够方便地进行扩展和修改。(6)优化性--算法能够在满足计算要求的前提下,尽可能地减少时间和空间复杂度,提高计算效率。(7)可靠性--算法在各种条件下都能够产生一致的结果,不受环境或输入数据的影响。故本题答案是:正确。
25.错误
【详解】本题考查算法描述相关内容。自然语言表示的算法容易产生歧义,表示的含义往往不严格,不便翻译成计算机程序设计语言,故本题答案是:错误。
26.错误
【详解】本题考查算法的描述。用流程图描述算法形象、直观、更容易理解,故表述错误。
27.①:A;②:E;③:G;④:F;⑤:C;
【详解】本题考查算法流程图相关内容。求1-2+3-4+5-6+7-8.…….+99-100的和,可以采用循环解决。在n<=100的条件下,若n为奇数,执行sum=sum+n操作,若n为偶数,执行sum=sum-n操作。①处应判断加数n是否<=100,即n<=100,故此处答案为:A;②处应判断加数n是否为偶数,即n%2==0,故此处答案为:E;③处,在加数n为偶数时,应执行sum=sum-n,故此处答案为:G;④处,在加数n为奇数时,应执行sum=sum+n,故此处答案为:F;⑤处,执行完一次求和操作后,n值应+1后再去判断循环条件是否成立,故此处答案为:C;
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$