内容正文:
第一节 算法与算法描述
一、选择题
1.下列选项中,不属于流程图中常见的图形的是( )
A.三角形 B.矩形 C.平行四边形 D.菱形
2.编写计算机程序解决问题要经过分析问题、设计算法、编写程序、调试运行程序等步骤。问题分析清楚后,需要给出解决问题的详细方法和步骤,这一过程称为( )
A.分析问题 B.设计算法 C.编写程序 D.调试运行程序
3.关于算法,以下说法正确的是( )
A.算法可以是不确定的
B.算法是人们解决问题的想法
C.算法的步骤多少可以不受限制
D.算法是解决问题过程所需的有限步骤
4.以下流程图描述的算法执行结果是( )
A.1 B.2 C.3 D.6
5.下列关于算法特征的叙述中,正确的是( )
A.算法所包含的步骤可以是无穷的
B.算法的每一步步骤必须有确切的定义
C.一个算法可以没有输入,也可以没有输出
D.一种算法只能用一种程序设计语言开实现
6.下面是“输入两个数,将其中值最大的数存入max”的算法:
第1步:输入两个数a,b。
第2步:如果a大于b,则将a的值赋给max,否则将b的值赋给max。
第3步:输出max的值。
关于这个算法,说法正确的是( )
A.上述算法是用自然语言描述的 B.上述算法是用流程图描述的
C.上述算法是顺序算法结构 D.上述算法是用伪代码描述的
7.小明编写了一道程序用来计算1+2+3+4+5+…+∞,但是他编写不出程序来,因为这不符合算法的( )特点。
A.必须有输出 B.有穷性 C.必须有输入 D.可行性
8.某算法的部分流程图如题图所示,若n的值为10,数组a中元素a[0]至a[n-1]依次存放25,14,19,5,12,17,8,1,3,16,执行这部分流程后,输出s的值为( )
A.1 B.4 C.9 D.10
9.用计算机解决问题时,一般先确定“要做什么”,再确定“如何去做”以及计算机“怎么做”。对于利用计算机解决问题的4个步骤,“要做什么”就是( )
A.分析问题 B.设计算法 C.编写程序 D.调试运行
10.下列关于算法特征的描述错误的是( )
A.算法必须在有限的步骤内结束 B.算法至少有一个输入
C.算法的每一步必须有确切的含义 D.算法至少有一个输出
11.下列不属于算法基本特点的是( )。
A.有穷性 B.有一个或多个输入 C.可行性 D.有一个或多个输出
12.求1至10之间所有奇数和的算法描述如下:
①将1赋值给变量i;
②判断i是否能被2整除,若不是,将该数累加到变量sum中;
③将变量i加1,若i还小于或等于10,转②;
④输出sum的值;
⑤结束。
该算法采用的描述方法属于 ( )
A.流程图 B.自然语言 C.伪代码 D.计算机语言
13.某算法的部分流程图如图所示,以下说法正确的是( )
A.该流程执行后,变量k的值是1 B.该流程执行后,变量a的值是32
C.该流程执行后,变量s的值是6 D.该流程执行后,“a<16?”共执行了3次
14.某算法的部分流程图如图所示,执行这部分流程后,输出n的值为( )
A.2 B.3 C.4 D.5
15.某算法的部分流程图如图所示,执行该算法,输出的结果是( )
A.0 B.1 C.2 D.5
二、填空题
16.如图所示算法,输出结果是 。
17.阅读如图所示的流程图,如果输入的a和b的值分别为2019和2020,那么输出的a的值为 ,b的值为 。
18.如图所示算法,有一数列:1、2、2、4、8、32、256…求这个数列的第n(n>=3)项,则空白横线处用a、b、c组成一个表达式,应填 。
19.李华同学和业主委员会成员一起参与了小区智能停车场的改造,希望实现的功能主要包括车牌自动识别、车辆身份判断、出入控制、停车时间计算、费用收取及核查、语音对讲等。
管理策略:1.对于本小区业主固定车辆实施年费制,只要在缴费有限期内,则可自由通行。2.缴费期满则在车辆通过时自动提醒业主续费。3.为避免场地资源浪费,停车场允许外来车辆进入,按停车时长进行收费。
计费规则:时长不超过3小时(含3小时)的收费5元;时长超过3小时且不超过8小时(含8小时)的在5元的基础上每超过1小时增收2元;时长超过8小时且不超过12小时(含12小时)的收费30元。
李华根据计费规则设计了外来车辆进入停车场的计费流程图,时长用“T”表示,收费金额用“M”表示,请帮忙完善流程图,①②③④⑤⑥处应填的内容分别是( )、( )、( )、( )、( )、( )
(填字母:A、M=30 B、3<T≤8 C、M=5 D、M=5+(T-3)*2 E、8<T≤12 F、T≤3)
三、判断题
20.利用计算机解决同一问题时,往往可以采用多种不同的算法来实现,好的算法应该具备时间效率高、内存占用少等特点。( )
21.解决同样一个问题,算法不管怎样设计,写出的程序运行出结果的时间效率都是一样的。( )
22.算法的每一个步骤可以对应程序中一条或多条语句,每条语句最多只能实现一个操作。( )
23.衡量算法的优劣往往从时间复杂度和空间复杂度两个维度考虑。( )
四、操作题
24.某商场正在进行十周年购物打折活动,凡在本商场购物,所有商品一律九折;若购物金额超过500元,则超过部分享受八折优惠;若所购金额超过1500元,则超过的部分享受七折优惠。小李需要设计了一个结账小程序,用于计算顾客实际需要支付的金额。
(1)小李使用计算机编程解决上述实际问题,一般过程依次为(填序号):
①编写程序 ②设计算法 ③调试程序 ④抽象与建模。
(2)分析问题程序只要输入顾客的消费金额,然后根据商场打折活动的规则,可以计算出实际支付金额,假设顾客消费金额为M元,打折后实际支付金额为P元,以下列出了求解P的数学表达式,请将数学表达式及其条件补充完整。
(3)用算法描述这一消费打折规定,合适的算法控制结构是
A.顺序结构 B.分支结构 C.循环结构 D.树形结构
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.A
【详解】本题考查算法流程图相关内容。矩形表示数据处理;平行四边形表示输入输出;菱形表示判断。三角形并不是流程图中的标识。故本题答案是A选项。
2.B
【详解】本题考查计算机解决问题的步骤。在编写计算机程序解决问题时,当问题分析清楚后,接下来需要给出解决问题的详细方法和步骤,这个过程称为设计算法。分析问题是最初对问题的理解和界定;编写程序是将设计好的算法用编程语言实现;调试运行程序是检查程序的正确性和优化性能。故答案为:B。
3.D
【详解】本题考查的是算法描述。算法具有确定性,故选项A说法错误;算法是解决问题过程所需的有限步骤,故选项B错误;算法具有有穷性,故选项C错误。本题应选D。
4.D
【详解】本题考查流程图。分析流程图可知,初始状态下,x=1。顺序执行:(1)x=x+2=1+2=3;(2)x=x+3=3+3=6;输出x=6。故答案为D选项。
5.B
【详解】本题考查的是算法的特征。算法的特征:有穷性、确定性、数据输入、数据输出、可行性。(1)有穷性。一个算法在执行有穷步之后必须结束,即一个算法所包含的计算步骤是有限的。(2)确定性。算法执行的每一个步骤必须有确切的定义,不能出现模棱两可的情况。(3)数据输入。一个算法必须有零个或多个数据输入,以刻画运算对象的初始情况。(4)数据输出。一个算法有一个或多个数据输出。(5)可行性。算法中执行的任何计算步骤都可以被分解为基本的可执行的操作步骤。故本题应选B。
6.A
【详解】本题主要考查算法的描述。分析算法可知,上述算法是用自然语言描述的,是分支算法结构,故本题选A选项。
7.B
【详解】本题考查算法的特征。算法具有有穷性、确定性、可行性、有0个或多个输入、有一个或多个输出等特征。小明编写计算1+2+3+4+5+…+∞的程序无法实现,因为这个计算是无穷的,不符合算法的有穷性,即算法必须在有限的操作步骤内完成。故答案为:B。
8.A
【详解】本题考查算法流程图相关内容。分析流程图,其运行过程为:(1)s=9,循环条件成立,执行:p=(s-1)//2=(9-1)//2=4,a[4]=12,a[9]=16,a[4]<a[9]成立,交换两数,则数组a变为:{25,14,19,5,16,17,8,1,3,12},s=4;(2)s=4,循环条件成立,执行:p=(s-1)//2=(4-1)//2=1,a[1]=14,a[4]=16,a[1]<a[4]成立,交换两数,则数组a变为:{25,16,19,5,14,17,8,1,3,12},s=1;(3)s=1,循环条件成立,执行:p=(s-1)//2=(1-1)//2=0,a[0]=25,a[1]=16,a[0]<a[1]不成立,跳出循环,输出s,即:1。故本题答案是A选项。
9.A
【详解】本题主要考查计算机编程解决问题。用计算机编程解决问题时,首先应该确定程序“做什么”,这个环节对应的过程是分析问题,故本题选A选项。
10.B
【详解】本题考查的是算法特征。算法的特征:(1)有穷性:一个算法在执行有穷步之后必须结束,即一个算法所包含的计算步骤是有限的。(2)确定性:算法执行的每一个步骤必须有确切的定义,不能出现模棱两可的情况。(3)数据输入:一个算法必须有零个或多个数据输入,以刻画运算对象的初始情况。(4)数据输出:一个算法有一个或多个数据输出,以反映对输入数据加工后的结果,没有输出的算法是毫无意义的。(5)可行性。算法中执行的任何计算步骤都可以被分解为基本的可执行的操作步骤,即每个计算步骤都可以在有限时间内完成。故本题应选B。
11.B
【详解】本题考查的是算法特征。算法基本特点:有穷性、可行性、确定性、输入(零或多个输入)、输出(有一个或多个输出)。故本题应选B。
12.B
【详解】本题考查的市算法描述。算法描述常见有:流程图、自然语言、伪代码等。用自然语言描述算法,就是用人们日常所用的语言,如汉语、英语等来描述算法。本题算法采用的描述方法属于自然语言。故本题应选B。
13.C
【详解】本题考查的是流程图识读。s=0,k=1,a=2,第一次循环,满足a<16,执行s=s+k*a=2,k=-k=-1,a=2*a=4;第二次循环,满足a<16,执行s=s+k*a=-2,k=-k=1,a=2*a=8;第三次循环,满足a<16,执行s=s+k*a=6,k=-k=-1,a=2*a=16;第四次循环,不满足a<16,循环结束。该流程执行后,变量k的值是-1,变量a的值是16,变量s的值是6,该流程完整执行后,“a<16?”共执行了4次,故本题选C选项。
14.C
【详解】本题考查流程图。程序运行过程如下所示。因此输出n的值为4。故答案为:C。
d
n
i
36
0
2
18
1
2
9
2
2
9
2
3
3
3
3
1
4
3
15.B
【详解】本题考查的是流程图的识别。阅读流程图可知,程序功能是利用“除2取余”方法,将t的十进制数转换为二进制数,m统计1的个数,n统计0的个数。如果m>=5或n>=4退出,输出t(下一次的被除数)。十进数333转二进制数为:101001101,故在取到次高位0时退出(满足n>=4),这时t的值为1,故本题应选B。
16.4
【详解】本题考查算法分析。
该算法功能:初始化i=10,s=32。依次s累减i值,i值每次更新,i=i-2,循环判断条件直到i值小于等于2时,停止循环,输出s。即s=32-10-8-6-4=4。故正确答案为:4。
17. 2020 2019
【详解】本题考查算法流程图的识读。该流程图实现交换a、b的值,a=2019,b=2020,因此输出的a、b的值分别是2020和2019。
18.c=a∗b
【详解】本题考查的是流程图识读。观察数列:1、2、2、4、8、32、256…,可知an=an-2*an-1(n>=3),故空白横线处应填:c=a∗b。
19. F B E C D A
【详解】本题考查的是流程图识读。按照计费规则,首先判断时长是否不超过3小时(含3小时)即T<=3,是则收费5元M=5;否则判断时长是否超过3小时且不超过8小时(含8小时)即 3<T≤8;否则判断时长是否超过8小时且不超过12小时(含12小时)即 8<T≤12,满足②则执行M=5+(T-3)*2,满足③则执行M=30。
20.正确
【详解】本题考查算法相关内容。好的算法通常具有以下特点:(1)正确性--算法能够产生正确的输出结果,符合预期的计算目标。(2)可读性--算法的逻辑清晰,易于理解和阅读,方便其他人理解和维护。(3)高效性--算法在有限的时间内能够完成计算任务,不会消耗过多的计算资源。(4)健壮性--算法能够处理各种输入情况,不会因为输入的变化而导致错误或崩溃。(5)可扩展性--算法能够适应不同规模和复杂度的问题,并能够方便地进行扩展和修改。(6)优化性--算法能够在满足计算要求的前提下,尽可能地减少时间和空间复杂度,提高计算效率。(7)可靠性--算法在各种条件下都能够产生一致的结果,不受环境或输入数据的影响。故本题答案是:正确。
21.错误
【详解】本题考查算法的描述。解决同样一个问题,算法不一样,写出的程序运行出结果的时间效率也是不一样的,故表述错误。
22.正确
【详解】本题考查的是算法相关知识。算法的每一个步骤可以对应程序中一条或多条语句,每条语句最多只能实现一个操作。题干中说法正确。
23.正确
【详解】本题考查的是算法。衡量算法的优劣往往从时间复杂度和空间复杂度两个维度考虑,题干中的说法正确。
24. ④②①③ 450+(M-500)×0.8(500<M≤1500) B
【详解】本题考查的是计算机解决问题及算法。
(1)计算机编程解决上述实际问题,一般过程依次为:④抽象与建模②设计算法①编写程序 ③调试程序。
(2)若购物金额超过500元,则超过部分享受八折优惠,故数学表达式及其条件为:450+(M-500)×0.8(500<M≤1500)。
(3)依据不同的购物金额超,来计算总额,其合适的算法控制结构是分支结构,故选B。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$