内容正文:
第一节 算法与算法描述
一、选择题
1.判断一元二次方程ax2+bx+c=0有几个实数根,下列结构中算法最好的是( )
A.顺序结构 B.分支结构 C.循环结构 D.树型结构
2.在评估算法性能时,我们通常关注哪些指标( )
A.时间复杂度和空间复杂度 B.算法的可读性
C.算法的颜色编码 D.算法的执行环境
3.算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列。下列关于算法特性描述不正确的是( )
A.有零个或多个输入 B.至少要有一个或多个输出
C.算法在执行循环时,允许出现无限循环 D.算法的每一步都有确定的含义,不会出现二义性
4.某算法的流程图如图所示,当输入n为4321时,执行该流程图后,下列说法不正确的是( )
A.变量s的终值为10 B.“n!=0”语句共执行4次
C.循环体部分的执行次数为4 D.该流程图符合算法的有穷性特征
5.以下属于计算机程序设计过程步骤的是( )
A.制作图表 B.分析问题 C.提出问题 D.记录过程
6.以下关于算法特征说法错误的是 ( )
A.一个算法的每个步骤必须是确定的 B.一个算法只能有一个输出
C.一个算法步骤是有限的 D.一个算法有零个或多个输入
7.下列关于算法的概念及特征的说法正确的是( )
A.算法随着计算机的发明应运而生 B.算法必须要有输入
C.算法的描述方式只能是流程图 D.算法必须要有输出
8.下列算法,输出结果是( )。
A.6 B.9 C.3 D.15
9.下图是某算法的部分流程图,执行这部分流程后,a、b的值分别是( )
A.0、1 B.1、2 C.3、3 D.3、4
10.某算法流程图如下图所示,若输入k的值为5,以下说法正确的是( )
A.程序运行结束后,s的值是2 B.循环体共执行了5次
C.程序结束后,t的值为-1 D.表达式i<k执行了5次
二、填空题
11.哥德巴赫猜想提出,任何一个不小于6的偶数都可以表示成两个素数之和,请编写程序,输入任意一个大于等于6的偶数,输出所有其等于两个素数之和的式子。例如: 6=3+3; 18=5+13, 18=7+11。
将24拆解成两个素数之和,可以有几种拆解方法? 种
12.以下流程图运行结束后y的值是 。
13.如图所示算法,有一数列:1、2、2、4、8、32、256…求这个数列的第n(n>=3)项,则空白横线处用a、b、c组成一个表达式,应填 。
14.以下算法的输出结果是: 。
15.哥哥考弟弟一道数学题,题目内容如下:“有一筐鸡蛋,2个2个数多1个,3个3个数多2个,4个4个数多3个,5个5个数正好数完,问这筐鸡蛋最少是几个?”流程图是解决此问题的算法,则空白横线处应填 。
三、判断题
16.算法是解决特定问题的一系列有序步骤。( )
17.算法只能用自然语言来描述。( )
18.算法的每一个步骤可以对应程序中一条或多条语句,每条语句最多只能实现一个操作。( )
19.解决同样一个问题,算法不管怎样设计,写出的程序运行出结果的时间效率都是一样的。( )
20.在用乘车卡乘车时,当卡内余额不足,系统会给出提示信息,请乘客投币。在对这一过程设计算法时,必须要用到算法的选择结构。( )
21.衡量算法的优劣往往从时间复杂度和空间复杂度两个维度考虑。( )
四、操作题
22.小明遇到了一个数学问题,问题如下:
计算n个数的和:2、、、、……、
在n较大时,他发现人工计算比较耗时,因此他利用所学知识设计了如下算法,并编写Python程序进行计算。
程序代码如下:
n=int(input(“请输入n的值:”))
s=0 #s表示n个数的和
for i in range(1,___________①___________):
t=___________②___________ #第i项的值
s=s+t
print(“n个数的和是”, ___________③___________)
请回答以下问题:
(1)程序中①处应填写 。
(2)程序中②处应填写 。
(3)程序中③处应填写 。
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.B
【详解】本题考查算法控制结构。通过公式求解一元二次方程,判断其是否有实数根,可以用条件分支结构。故选B。
2.A
【详解】本题考查算法相关内容。评估算法性能时,我们主要关注的是算法执行所需的时间和空间资源,即时间复杂度和空间复杂度。故本题答案是A选项。
3.C
【详解】本题主要考查算法的特征。一个算法应该具有以下五个重要的特征:1、有穷性: 一个算法必须保证执行有限步之后结束;2、确切性:算法的每一步骤必须有确切的定义;3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定义了初始条件;4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;5、可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。故本题选C选项。
4.B
【详解】本题考查算法流程图的识读。分析流程图可知,该流程图实现对输入n的各个位进行求和。当输入n为4321时,“n!=0”语句共执行5次。故选B。
5.B
【详解】本题考查计算机解决问题的步骤。正确的步骤应该是:分析问题、设计解决方案、编写代码、测试和调试、部署和维护。故答案为:B。
6.B
【详解】本题考查的是算法特征。一个算法应该具有以下五个重要的特征:1、有穷性: 一个算法必须保证执行有限步之后结束;2、确切性:算法的每一步骤必须有确切的定义;3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定义了初始条件;4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;5、可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。故本题应选B。
7.D
【详解】本题考查算法的概念及特征。A选项,计算机被发明以前,人们对于算法就已经研究了很长的时间,选项错误;B选项,算法可以有0个或多个输入,选项错误;C选项,算法能用自然语言、流程图、伪代码、程序设计语言等描述,选项错误;D选项,算法必须有输出,选项正确。故本题答案是D选项。
8.B
【详解】本题考查的是流程图识读。初始值s=0,T=1,i=1。
i<=3成立,T=i*T=1*1=1,s=s+T=0+1=1,i=i+1=2;
i<=3成立,T=i*T=2*1=2,s=s+T=1+2=3,i=i+1=3;
i<=3成立,T=i*T=3*2=6,s=s+T=3+6=9,i=i+1=4;
i<=3不成立,输出s=9,故本题应选B。
9.C
【详解】本题考查算法与流程图。定义a=6,b=0;根据流程图步骤计算如下:
第一次循环:判断b<a成立,执行语句b=b+1=0+1=1、a=a-1=6-1=5;
第二次循环:判断b<a成立,执行语句b=b+1=1+1=2、a=a-1=5-1=4;
第三次循环:判断b<a成立,执行语句b=b+1=2+1=3、a=a-1=4-1=3;
第四次循环:判断b<a不成立,循环结束,输出a=3,b=3。故答案为C选项。
10.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。
11.3或三
【详解】本题考查算法程序设计相关内容。把24拆成两个素数的和有3种拆法:5和19、7和17、11和13。故本题答案是:3或三。
12.3
【详解】本题考查算法流程图的识读。y=1
第一次循环,y=y+1=2,满足y<3
第二次循环,y=y+1=3,不满足y<3,输出y的值是3。
13.c=a∗b
【详解】本题考查的是流程图识读。观察数列:1、2、2、4、8、32、256…,可知an=an-2*an-1(n>=3),故空白横线处应填:c=a∗b。
14.85
【详解】本题考查的是流程图的执行过程。a=“5”,b=“8”,“5”>“8”,N,x=“85”。故输出的结果为85。
15.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。
16.正确
【详解】本题考查算法。算法是计算机科学中的一个核心概念,它是指为解决某一特定问题而设计的一系列有序、明确的、可执行的步骤或指令的集合。这些步骤或指令描述了如何逐步地将输入数据转换为所需的输出数据。故正确。
17.错误
【详解】本题考查算法。算法可以用多种方式来描述,常见的有自然语言、流程图、程序设计语言等。自然语言描述较为通俗易懂,但可能存在模糊和歧义;流程图直观清晰,能更形象地展示算法的流程和逻辑;程序设计语言则可以直接实现算法。故说法错误。
18.正确
【详解】本题考查的是算法相关知识。算法的每一个步骤可以对应程序中一条或多条语句,每条语句最多只能实现一个操作。题干中说法正确。
19.错误
【详解】本题考查算法的描述。解决同样一个问题,算法不一样,写出的程序运行出结果的时间效率也是不一样的,故表述错误。
20.正确
【详解】本题考查的是算法结构。选择结构会依据条件选择其中一个分支执行。在用乘车卡乘车时,当卡内余额不足,系统会给出提示信息,请乘客投币。在对这一过程设计算法时,必须要用到算法的选择结构。说法正确。
21.正确
【详解】本题考查的是算法。衡量算法的优劣往往从时间复杂度和空间复杂度两个维度考虑,题干中的说法正确。
22. n+1 (i+1)/i s
【详解】本题主要考查算法流程图及Python程序实现。①range(start, stop, [step]),start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。分析题干可知,变量i依次取1、2、3……n,因此此处填n+1。②变量t表示i项的值,由流程图可知,t=(i+1)/i,故此处填(i+1)/i。③此处输出n个数的和s。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$