内容正文:
第二章 算法与问题解决
一、选择题
1.下列流程图是“求0~100所有偶数和”问题的算法,则①应该填( )
A.i B.i=i+2 C.i=i*2 D.i=i/2
2.以下流程图符合算法特征的是( )
A.图a B.图b C.图c D.图d
3.关于算法及算法的表示,下列说法不正确的是( )
A.算法是解决问题的方法和步骤 B.自然语言描述操作时容易产生歧义
C.算法可以没有任何输入,但必须有输出 D.自然语言不能用来表示算法,而流程图可以
4.若运行时输入x=8,以下流程图的运行结果是( )
A.7 B.9 C.8 D.1
5.如图所示,对列表D操作,若依次输入2、-3、1、5、10,以下算法执行结果是( )
A.1 B.-3 C.5 D.2
6.以下流程图描述的算法功能是( )
A.判断输入的三位数中的十位数的奇偶性 B.判断输入的三位数中的个位数的奇偶性
C.判断输入的三位数中的百位数的奇偶性 D.判断输入的三位数的奇偶性
7.用流程图描述算法的过程中,下面哪条语句需要用框图来表示( )
A.i>=3 B.i=i+1 C.i mod2==1 D.print i
8.在计算正方形的面积算法中,“第一步,输入边长a;第二步,计算正方形的面积s=a*a;第三步,输出正方形的面积s”。这种计算正方形面积的算法使用的基本控制结构是( )
A.顺序结构 B.选择结构 C.循环结构 D.分支结构
9.在设计算法时,以下哪个不是算法的基本控制结构( )
A.顺序结构 B.选择结构 C.循环结构 D.随机结构
10.下列不属于算法描述方式的是( )
A.自然语言 B.高级语言 C.流程图 D.伪代码
11.某算法的部分流程图如图所示,执行这部分流程后,下列说法正确的是( )
A.s值为9 B.i值为6 C.n的值为0 D.n>1执行了8次
12.已知算法的部分流程图如图所示,若输入 x 为 18,则输出结果为( )
A.4 B.5 C.6 D.7
13.以下不是描述算法的常用方法的是( )
A.用自然语言描述算法 B.用机器语言描述算法 C.用流程图描述算法 D.用伪代码描述算法
14.某算法的部分流程图如图所示。若输入n的值为23,则输出sum的值为( )
A.2 B.3 C.4 D.5
15.介于自然语言和程序设计语言之间的人工语言描述算法是( )
A.流程图 B.框架图 C.自然语言 D.伪代码
16.某算法的部分流程图如下图所示,执行这部分流程后,变量X和Y的值分别为( )
A.3 和-8 B.4 和 6 C.-5 和 10 D.10 和 -5
二、填空题
17.在《数据与计算》中,算法是解决问题的一系列有序步骤,它必须具备有限性、确定性、 、有输入和输出以及可行性等特征,以确保算法能够在有限的步骤内得到正确的结果。
18.算法作为能确实解决问题的策略,具有有穷性、确定性、数据输入/输出、 性的特征。
19.“某网店促销活动:购物满2件8折,满3件6折”。用算法来描述这一问题,可采用三种基本算法结构中的 结构。
20.以下流程图当输入a=3,b=1,c=5时,运行结束后d的值 。
21.一段程序代码的流程图如图所示,这段程序的运行结果为S= 。
三、判断题
22.伪代码比自然语言描述算法更加直观和易于理解。( )
23.表示算法的方法通常可以是流程图、伪代码和高级语言。( )
24.任何复杂的算法都可以用顺序、分支、循环结构来实现。( )
25.算法是解决“做什么”和“怎么做”的具体步骤的描述,一个算法必须具有有穷性、确定性、有一个或多个输入、有一个或多个输出、可行性这五个基本特征。
26.算法的三种基本控制结构是分支结构、循环结构和模块结构。( )
四、操作题
27.暑假期间,小明担任了天文馆售票处的志愿者工作,工作内容是维持游客的买票秩序,在开始售票前后的一段时间内(7:50-8:00),他观察到排队买票的队列发生了以下变化。
根据上述观察,思考并回答下面的问题。
(1)最先进入队列的是( ),P3买完票离开后,排在队首的人是( ),买票中不算排在队首的人,队列里有( )个人在排队。
(2)为了便于游客参观,天文馆配置了伴游机器人,此机器人不仅可以当小导游陪伴游览,还可以利用其自带的搜索功能轻松查找馆内餐厅、洗手间及各个展馆位置,搜索功能主要依赖于( )
A.DNS B.GPS C.CSS D.iOS
(3)经过暑假志愿服务的经验,小明想为天文馆设计一款网上自助售票系统,请你帮助小明完成预约流程图。① 、② 、③ 、④ 。
(填字母:A.是 B.选择预约日期 C.选择预约时间段 D.否)
28.某算法的部分流程图如图所示,请回答以下问题:
(1)该流程图中,包含了 个处理框。
(2)由流程图分析,此算法的控制结构属于
(选填字母:A.分支结构 B.循环结构)
(3)若输入7869,步骤 t←t*3 执行了 次,输出的s值为
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.B
【详解】本题考查的是流程图的识读。该算法是实现“求0~1000所有偶数和”问题,i的初值为0,下一个i值是上一个i的基础上加2,故①应该填i=i+2,故本题选B选项。
2.B
【详解】本题考查算法分析。
选项A,m=1,m<=10进入循环,改变循环变量m=m-1,则m越来越小,进入死循环。不满足算法的有穷性的特征。同理,选项D也不符合。选项C,m为自然数,m值不确定,故不满足算法确定性。故正确答案为:选项B。
3.D
【详解】本题考查算法的表示。自然语言可以用来表示算法,只是可能存在不够清晰准确的情况,流程图也可以表示算法。故答案为:D。
4.A
【详解】本题考查算法分析。
x=8,判断8能否被5整除。不能整除进入下一个分支,判断8是否大于10,返回逻辑假,执行x=x-1。输出x为7。故正确答案为:选项A。
5.A
【详解】本题考查流程图。初始化,x=1;第一次循环,A=2,D[1]=2,x=x+1=2;第二次循环,A=-3,D[2]=3,x=x+1=3;第三次循环,A=1,D[3]=1,x=x+1=4;第四次循环,A=5,D[4]=5,x=x+1=5;第五次循环,A=10,D[5]=10,x=x+1=6;输出D[x-3]=D[3]=1。故答案为:A。
6.A
【详解】本题考查流程图。首先输入一个三位数n,然后执行n=n//10去除n的个位数,接着n=n%10,此时n为输入的三位数的十位数,然后执行int(n/2)==n/2判断奇偶性,因此整个程序为判断输入的三位数中的十位数的奇偶性。故答案为:A。
7.B
【详解】本题考查流程图。
选项A、C为关系表达式判断,对应流程图的菱形框。选项D为输出函数,对应流程图的平行四边形框。矩形框对应数据处理。故正确答案为:选项B。
8.A
【详解】本题考查控制结构。顺序结构是程序中最基本的控制结构,按照代码编写的顺序依次执行每一条语句。在计算正方形面积的算法中,通常会按照先计算边长,然后计算面积的顺序进行操作,属于顺序结构。故答案为:A。
9.D
【详解】本题考查算法。算法的基本控制结构主要包括三种:顺序结构、选择结构和循环结构。随机结构并不属于算法的基本控制结构。算法的基本控制结构应该是明确、可预测和可控制的,而随机结构则意味着执行流程中存在不确定性,这不符合算法设计的基本要求。故选择D。
10.B
【详解】本题考查算法描述。高级语言,如C、Java、Python等,是用于编写程序的编程语言,不属于算法描述方式。高级语言是用于实现算法的编程语言,而不是描述算法的方式。故选择B。
11.A
【详解】本题考查算法流程图相关内容。分析流程图,其运行过程如下:
(1)n=20,n>1成立,i=2,执行循环体:n%i==0成立,执行:n=n//i=10,s=s+i=2;
(2)n=10,n>1成立,i=2,执行循环体:n%i==0成立,执行:n=n//i=5,s=s+i=4;
(3)n=5,n>1成立,i=2,执行循环体:n%i==0不成立,执行:i=i+1=3;
(4)n=5,n>1成立,i=3,执行循环体:n%i==0不成立,执行:i=i+1=4;
(5)n=5,n>1成立,i=4,执行循环体:n%i==0不成立,执行:i=i+1=5;
(6)n=5,n>1成立,i=5,执行循环体:n%i==0成立,执行:n=n//i=1,s=s+i=9;
(7)n=1,n>1不成立,循环结束。
此时,s值为9,i值为5,n的值为1,n>1执行了7次。故本题答案是A选项。
12.B
【详解】本题考查算法流程图相关内容。分析流程图,其功能是统计x的因子个数(不包含x本身)。若输入x为18,则其因子为:1、2、3、6、9,个数为5,故本题答案是B选项。
13.B
【详解】本题考查算法相关内容。算法描述方法有:自然语言、流程图、伪代码以及程序设计语言,机器语言不属于算法描述方法,故本题答案是B选项。
14.C
【详解】本题考查的是流程图识读。阅读该流程图可知,其作用是将十进制数23转换成二进制数10111,变量sum用来累加二进制数每位数字之和,所以结果为4。故本题应选C。
15.D
【详解】本题考查算法的描述。伪代码(Pseudocode)是一种非正式的,类似于英语结构的,用于描述模块结构图的语言。介于自然语言和程序设计语言之间的人工语言描述算法是伪代码。故选D。
16.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选项。
17.可行性
【详解】本题考查算法。在《数据与计算》中,算法被描述为解决问题的一系列有序步骤,这些步骤需要满足一些基本的特性以确保算法的有效性和正确性。
有限性:算法必须在有限的时间内完成,即算法必须包含有限个步骤。这意味着算法不能陷入无限循环或其他无限的操作中。
确定性:算法的每个步骤都必须是明确且没有歧义的。也就是说,对于算法中的每个步骤,都必须有确切的定义和明确的操作方式。
可实现性: 算法中的每一个步骤都必须是可行的,也就是说,它们必须能够在某个计算模型(如图灵机)下被精确执行。这包括使用明确定义的操作和数据结构。另外,算法的描述不应有歧义,即不同的人应该能够按照相同的步骤来执行算法。
有输入:算法应该有零个或多个输入,这些输入是算法开始执行前所需要的已知条件或数据。
有输出:算法应该有一个或多个输出,这些输出是算法执行后得到的结果。这些结果应该是算法执行前未知的,或者是从输入数据经过计算后得到的新信息。
可行性:算法中的操作必须是可以在实际环境中执行的,这包括时间可行性和空间可行性。也就是说,算法的执行时间必须是可接受的,并且它所使用的存储空间也必须在可接受的范围内。
故正确答案为可行性。
18.可行
【详解】本题考查算法的特征。算法作为能确实解决问题的策略,具有以下特征: 有穷性:算法的执行步骤必须是有限的,不能无限循环或无限执行。 确定性:算法的每一步骤都必须是明确定义的,不会存在歧义或不确定性。 数据输入/输出:算法需要接受输入数据,经过一系列的步骤处理后产生输出数据。 可行性:算法的执行过程是可行的,即能够在有限时间内完成,并且解决问题的方法是有效的。故答案为:可行。
19.分支
【详解】本题考查算法控制结构相关内容。算法有三种基本结构:顺序结构、分支结构、循环结构。题目中描述得是依据购物数量满足什么条件,确定打折数,属于分支结构。故本题答案是:分支。
20.1
【详解】本题考查的是流程图识读。阅读流程图可知,该程序功能是求a,b,c中最小的数。故当输入a=3,b=1,c=5时,运行结束后d的值1。
21.5
【详解】本题考查算法流程图的识读。a=5,S=1,满足判断条件a>=4,执行S=S*a=5,再输出S的值是5。
22.正确
【详解】本题考查伪代码。伪代码可以明确地定义算法的步骤、变量、数据类型和流程控制结构,这使得读者能够更准确地理解算法的工作原理。此外,伪代码还可以直接转换为编程代码,这对于算法的实现和测试非常有帮助。我们需要根据实际需要选择合适的描述方式。在需要精确、无歧义地描述算法时,伪代码可能更加直观和易于理解,故正确。
23.正确
【详解】本题考查算法的表示。表示算法的方法有多种,常见的包括流程图,它通过图形符号直观地展示算法步骤和逻辑流程;伪代码,是一种类似编程语言但更简洁易懂的方式来描述算法逻辑;高级语言,如 C、C++、Java等可以直接编写代码来实现算法。故说法正确。
24.正确
【详解】本题考查程序基本结构。任何复杂的算法都可以用三种基本结构组成,分别是:顺序结构、选择结构、循环结构。故表述正确。
25.错误
【详解】本题考查算法特性相关内容。算法的特性有:有穷性、确定性、有零个或多个输入、有一个或多个输出。一个算法可以没有输入。故本题答案是:错误。
26.错误
【详解】本题主要考查算法的基本结构。算法的三种基本结构是:顺序结构、分支结构和循环结构,故表述错误。
27. P1 P4 5 B B C A D
【详解】
本题考查算法相关内容。
(1)由图可知,最先进入队列的是7:55已经在排队的队首P1,当P3买完票离开后,排在队首的人是他后面的P4,这时买票队列中不算排在队首的人P4,队列里有5个人在排队,分别是P5,P6,P7,P8,P9。故①处答案为:P1,②处答案为:P4,③处答案为:5。
(2)GPS是Global Positioning System全球定位系统的简称。它可以为地球表面绝大部分地区(98%)提供准确的定位、测速和高精度的时间标准。伴游机器人利用GPS可以轻松查找馆内餐厅、洗手间及各个展馆位置。故④处答案为:B。
(3)进入天文馆预约APP-->B.选择预约日期-->判断预约人数,如果没有达到上限-->C.选择预约时间段-->判断时间段,如果约满-->A.是-->返回重新选择预约日期,判断时间段,如果没有约满-->D.否-->添加预约人,预约成功。故⑤处答案为:B,⑥处答案为:C,⑦处答案为:A,⑧处答案为:D。
28. 4 B 2 64
【详解】本题考查算法流程图。
(1)菱形是条件判断框,平行四边形是数据输入/输出框,圆角矩形是开始/结束框,矩形是数据处理框。该流程图中,包含了4个处理框。
(2)由流程图分析,此算法的控制结构属于循环结构。
(3)若输入7869,即n=7869
第一遍循环,满足n>0,t=n%10=9,n=n//10=786,满足f=1,t=t*3=27,s=s+t=27,f=1-f=0;
第二遍循环,满足n>0,t=n%10=6,n=n//10=78,不满足f=1,s=s+t=33,f=1-f=1;
第三遍循环,满足n>0,t=n%10=8,n=n//10=7,满足f=1,t=t*3=24,s=s+t=57,f=1-f=0;
第四遍循环,满足n>0,t=n%10=7,n=n//10=0,不满足f=1,s=s+t=64,f=1-f=1;
第五遍循环,不满足n>0,循环结束。步骤 t←t*3 执行了2次,输出的s值为64。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$