内容正文:
2.1 算法的概念及描述
一、选择题
1.编制计算机程序解决问题的过程中,设计算法是重要的环节,下列关于算法的叙述中错误的是( )
A.算法必须有输入,也必须有输出 B.算法是解决问题的方法和步骤
C.有穷性是算法的基本特征之一 D.算法可以用流程图或者自然语言加以描述
2.如下图所示流程图,下列说法中正确的是( )
A B C
A.A是顺序结构、B是分支(选择)结构、C是循环结构
B.A是顺序结构、B是循环结构、C是分支(选择)结构
C.A是分支(选择)结构、B是顺序结构、C是循环结构
D.A是循环结构、B是分支(选择)结构、C是顺序结构
3.下列关于算法的特征描述,不正确的是( )
A.确定性:算法的每一步必须有确切的含义 B.有穷性:算法必须在有限步之内结束
C.输入:算法必须至少有1个输入 D.输出:算法必须至少有1个输出
4.以下关于算法中输入、输出的描述正确的是( )。
A.算法可以没有输入,表示该算法不涉及任何数据信息
B.算法可以没有输出,表示该算法运行结果为“无解”
C.算法必须要有输入,否则算法无法进行
D.算法至少要有一个输出
5.如图所示的算法描述方式是( )
A.思维导图 B.自然语言 C.流程图 D.伪代码
6.算法分析的两个主要方面是( )
A.空间复杂度和时间复杂度 B.正确性和简单性
C.可读性和文档性 D.数据复杂度和程序复杂度
7.算法设计是编写程序的基础。下列关于算法的叙述正确的是( )
A.算法结果不唯一
B.算法可以没有输出
C.算法必须具有确定性
D.算法的表示必须使计算机能理解
8.下列关于算法及算法的特征的描述,正确的是( )
A.算法必须使用计算机借助用某种语言实现
B.自然语言不能用来表示算法,而流程图可以
C.任何一个算法都必须有数据输入
D.算法必须有问题求解的结果,包含至少一个输出
9.下列关于算法表示方法的描述,正确的是( )
A.描述算法的方法只能是流程图
B.用一种程序语言来实现某个具体问题的算法只可能有一种
C.同一种算法只能用一种程序语言来实现
D.算法可以使用英语进行描述
10.某算法的部分流程图如图所示。执行这部分流程,输入n 的值为 2048,则输出s的值是( )
A.2 B.6 C.10 D.14
11.下列关于算法的叙述,正确的是( )
A.解题的步骤一定是无穷的 B.算法是解决问题的方法和步骤
C.算法可以没有输出项 D.算法是一定需要输入项
12.某算法的部分流程图如图所示,执行这部分流程后,输出a,i的值分别是( )
A.42,7 B.28,8 C.56,8 D.56,7
13.某饮品店采用会员积分消费模式。顾客扫描店铺二维码关注公众号,输入手机号及个人资料注册后即成为普通会员,每消费10元可积1分。消费积分累计100分,升级为V1会员,享受8折消费优惠;消费积分累计180分,升级为V2会员,享受7折消费优惠。用算法流程图描述“消费积分累计100分,升级为V1会员;消费积分累计180分,升级为V2会员”的问题,用t表示顾客的消费积分,下列选项不正确的是( )
A. B.
C. D.
14.第一年有一头小母牛,每头小母牛从出生第四年起,每年生一头小母牛,按此规律,第10年时有( )头母牛。
A.13 B.15 C.19 D.28
15.以下流程图描述的算法执行结果是( )。
A.5 B.50 C.35 D.10
二、填空题
16.流程图描述的算法执行结果是 。
17.某同学网购的书已到达家附近的快递门店,需要他自己去取,不巧的是,这次购买的三本书是三个不同的物流公司派送的,他家与各快递门店的位置如图如示,该同学估算了在这些地点这间步行需要的时间,如下表:
我们将该同学家和各个快递门店的位置抽象成顶点,作为根节点的“家”编号为“H”,其3个子节点(快递门店A,快递门店B,快递门店C)分别编号为“A” “B” “C”,两个位置间的步行线路抽象成边,在边上标上时间权值,如下图:
从起点出发,把当前可以到达的下一个位置列举出来,再从列举出的新位置出发,继续列举下一步可以到达的位置,以此类推,直到返回起点。我们可以用树结构把所有可能的走用图描述出来,请在下图方框中画出该图,并给出用时最短的路径和所用时间。
用时最短的路径和所用时间:
18.算法的基本结构有 种,其中分支结构有 个入口, 个出口;循环结构有 个入口, 个出口。(请填入相应的阿拉伯数字)
19.算法是解决问题的方法和确定的、( )的步骤。
20.以下算法的输出结果是: 。
三、判断题
21.人们在利用计算机程序解决同一个问题的时候,可以设计多种不同的算法。( )
22.表示算法的方法通常可以是流程图、伪代码和高级语言。( )
23.算法是随着计算机的发展而产生的,没有计算机就没有算法。( )
24.衡量算法的优劣往往从时间复杂度和空间复杂度两个维度考虑。( )
四、操作题
25.某种字符加密方法描述如下:
①将明文字符串s中的每个字母字符根据它所在该字符串的位置,往后移动相应的位置,并转化为对应的小写或大写字母(例如:大写字母A往后移动5位变成F,转化成小写字母得到f;小写字母y往后移动8位得到g,转化成大写字母得到G),非字母字符不处理,得到新串ss。
②将①得到的新串ss平均切割成两部分,若ss的长度n为奇数,则第一部分长度为n//2+1,第二部分长度为n//2。再将后面一段字母依次逐个插入前一段字符后边,组成一段密文。
例如“Good.Luck!”生成密文过程如下:
①明文字符串s移位和大小写转换过程:
下标位置
1
2
3
4
5
6
7
8
9
10
原始字符
G
o
o
d
.
L
u
c
k
!
向后移动i位
H
q
r
h
.
R
b
k
t
!
大小写转换
h
Q
R
H
.
r
B
K
T
!
②将①得到的密文ss平均切割成两部分。
例如将上述①得到的字符串中6~10位置的字符依次逐个连接在1~5字符后面,生成密文如图a所示:
图a
(1)若有一个待加密字符为“Python!”,根据上述加密规则,加密后的密文是
(2)已知采用上述加密方法得到的密文是“iTCDS!”,反推出明文是 。
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.A
【详解】本题主要考查算法的描述。算法可以有0个或多个输入,至少有一个输出;算法是解决问题的方法和步骤;有穷性是算法的基本特征之一;算法可以用流程图或者自然语言加以描述,故本题选A选项。
2.A
【详解】本题考查算法流程图相关内容。顺序结构的程序中每一条语句都会被执行,且只执行一次。分支结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序,对于要先做判断再选择的问题就要使用分支结构。循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。它通过循环体中的条件来判断继续执行某个功能还是退出循环。故本题答案是A选项。
3.C
【详解】本题考查算法特征相关内容。算法的特征有:有穷性、确定性、有零个或多个输入、有一个或多个输出、可行性。(1)有穷性:一个算法必须保证执行有限步之后结束;(2)确定性:算法的每一步骤必须有确切的定义;(3)输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件;(4)输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;(5)可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。故本题答案是C选项。
4.D
【详解】本题主要考查算法的特征。算法可以有0个或多个输入,算法可以没有输入,但不表示该算法不涉及任何数据信息,算法至少要有一个输出,故本题选D选项。
5.C
【详解】本题主要考查算法的描述方式。由图可知,该算法描述方式是流程图,故本题选C选项。
6.A
【详解】本题主要考查算法分析。算法分析的两个主要方面是空间复杂度和时间复杂度。在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间;空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度,故本题选A选项。
7.C
【详解】本题主要考查算法的特征。解决问题的算法不是唯一的,但算法结果是唯一的,故选项A说法错误;算法至少要有一个输出,故选项B说法错误;算法必须具有确定性,选项C正确;算法的表示可以使用自然语言、流程图和伪代码,故选项D说法错误。
8.D
【详解】本题考查的是算法及算法特征。算法描述常见有:自然语言、流程图、伪代码等,故选项AB说法错误;算法可以没有输入,故选项C说法错误;算法至少要有一个输出,故选项D的说法正确。
9.D
【详解】本题考查算法的表示。A选项错误,算法可以使用自然语言、伪代码、流程图、计算机程序设计语言等方式描述;B、C选项错误,同一个算法即使是使用同一种程序语言来实现,也可能有多种不同的描述方式。故答案为:D。
10.A
【详解】本题考查的是流程图识读。阅读流程图,可知该流程图功能是输入的n,将每位上的数字从低位到高位开始依次进行加、减、加……求和后输出。输入n的值为2048,则s=8-4+0-2=2。故选A。
11.B
【详解】本题考查的是算法的描述及特征。解题的步骤一定是有限的;算法就是解决问题的方法和步骤;算法至少要有一个输出项;算法是可以没有输入项。故选B。
12.C
【详解】本题考查的是流程图识读。初值为a=0,i=1,进入循环判断
第一次:i=1≤7,满足条件,则执行a=2*i+a=2,i=i+1=2;
第二次:i=2≤7,满足条件,则执行a=2*i+a=6,i=i+1=3;
第三次:i=3≤7,满足条件,则执行a=2*i+a=12,i=i+1=4;
第四次:i=4≤7,满足条件,则执行a=2*i+a=20,i=i+1=5;
第五次:i=5≤7,满足条件,则执行a=2*i+a=30,i=i+1=6;
第六次:i=6≤7,满足条件,则执行a=2*i+a=42,i=i+1=7;
第七次:i=7≤7,满足条件,则执行a=2*i+a=56,i=i+1=8;
第八次:i=8>7,不满足条件,跳出循环,输出a=56,i=8;
故选:C。
13.D
【详解】本题考查的是流程图识读。分析D选项的流程图,当条件“t>=100”不成立时(即表示t<100),再去判断条件“t>=180”是没有意义的;其次,通过代值(t=200)得到的结果是“显示V1会员”,是不正确的。
14.C
【详解】本题主要考查算法描述。根据题干规律,可列出如下表格,由表可知,第10年时有19头母牛,故本题选C选项。
15.C
【详解】本题考查的是流程图识读。初始值i=1,n=0,由i<=5可知外循环执行5次;由j<=10可知,第一次进入内循环,则内循环j从2到10,执行9次;第二次进入内循环,则内循环j从3到10,执行8次;第三次进入内内循环,则内循环j从4到10,执行7次;第四次进入内内循环,则内循环j从5到10,执行6次;第五次进入内内循环,则内循环j从6到10,执行5次;故n=n+1共执行了:9+8+7+6+5=35次。故n值为35,选项C正确。
16.55
【详解】本题考查算法分析。
该算法是计算从1加到10的运算结果,故1+2+3+4+5+6+7+8+9+10=55。故正确答案为:55。
17.
(1)H→A→B→C→H、H→C→B→A→H
(2)19
【详解】本题主要考查算法描述。从起点出发,把当前可以到达的下一个位置列举出来,再从列举出的新位置出发,继续列举下一步可以到达的位置,以此类推,直到返回起点。用树结构把所有可能的走用图描述出来,如下图所示: ,用时最短的路径是H→A→B→C→H、H→C→B→A→H,用时为19。
18. 3 1 1 1 1
【详解】本题主要考查算法的描述。算法的基本结构有3种(分别是顺序结构、分支结构和循环结构),其中分支结构有1个入口,1个出口;循环结构有1个入口,1个出口。
19.有限
【详解】本题考查的是算法定义。所谓“算法”就是解题方法的精确描述,由有限个步骤组成。
20.85
【详解】本题考查的是流程图的执行过程。a=“5”,b=“8”,“5”>“8”,N,x=“85”。故输出的结果为85。
21.正确
【详解】本题主要考查算法描述。人们在利用计算机程序解决同一个问题的时候,可以设计多种不同的算法,表述正确。
22.正确
【详解】本题考查算法的表示。表示算法的方法有多种,常见的包括流程图,它通过图形符号直观地展示算法步骤和逻辑流程;伪代码,是一种类似编程语言但更简洁易懂的方式来描述算法逻辑;高级语言,如 C、C++、Java等可以直接编写代码来实现算法。故说法正确。
23.错误
【详解】本题考查的是算法相关知识。算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。没有计算机也有算法,故题干中的说法是错误的。
24.正确
【详解】本题考查的是算法。衡量算法的优劣往往从时间复杂度和空间复杂度两个维度考虑,题干中的说法正确。
25. qTATW!L Happy!
【详解】本题主要考查算法描述及其实现。①若有一个待加密字符为“Python!”,根据上述加密规则,得到下表:
下标位置
1
2
3
4
5
6
7
原始字符
P
y
t
h
o
n
!
向后移动i位
Q
a
w
l
t
t
!
大小写转换
q
A
W
L
T
T
!
将得到的字符切割成两部分,将后面一段字母依次逐个插入前一段字符后边,组成一段密文,如下文:
下标位置
1
2
3
4
5
6
7
最终密文
q
T
A
T
W
!
L
根据上述加密规则,加密后的密文是qTATW!L
②已知采用上述加密方法得到的密文是“iTCDS!”,由下表可以反推出明文是Happy!。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$