内容正文:
第二章 算法与问题解决
一、选择题
1.小明同学在信息课上运用海伦公式的方法编写程序,求解三角形的面积能采用的算法属于( )
A.枚举法 B.递推法 C.解析法 D.选择法
2.某算法的流程图如图所示,若输入x的值为26,则下列说法正确的是( )
A.变量x的终值可能为负数 B.语句"x←x//2"共执行5次
C.语句"x>0?"共执行5次 D.输出变量s值为"01011"
3.下列关于算法的说法正确的是( )
A.可以用枚举算法解决“找出所有的素数”问题。
B.在屏幕上输出“helloworld!”,这个任务不需要用算法解决
C.“鸡兔同笼”问题,用解析算法和枚举算法都可以解决
D.算法必须要有输入,如“鸡兔同笼”问题必须输入头和脚的数量
4.某算法的部分流程图如图所示,执行该流程后,“m-1”被执行的次数为( )
A.3 B.4 C.5 D.6
5.以下不属于描述算法常用方法的是( )
A.用流程图描述算法 B.用思维导图描述算法
C.用自然语言描述算法 D.用伪代码描述算法
6.产生式规则表示法中的“前提”和“结论”分别代表什么( )
A.条件与结果 B.原因与效果 C.前提条件与推论结果 D.以上全部
7.下列选项中,不适合用于描述“水仙花数问题”算法的是( )
A.自然语言 B.流程图 C.伪代码 D.机器语言
8.下列问题不能用算法描述的是( )
A.输入边长,求正方形的面积
B.输入学生的身高和体重,求他们的身体指标值
C.输入三个数,求这三个数的最大数
D.输出所有5的倍数
9.“算法首先必须是正确的,即对于任意一组输入,包括合理的输入与不合理的输入,总能得到预期的输出”属于评价算法的( )
A.可读性 B.高效性 C.可行性 D.正确性
10.“洗衣机的洗衣流程”情境问题,洗衣机模拟人洗衣的过程,自动执行洗衣程序,节省了大量的人力,这主要归功于由算法控制的机器设备。当衣物重量属于范围1,则设定为第一档水量;衣物重量属于范围2,则设定为第二档水量;衣物重量属于范围3,则设定为第三档水量;否则,报警提示衣物超重。该功能的实现应该使用哪种控制结构( )
A.顺序结构 B.选择结构 C.循环结构 D.递归结构
11.关于算法,下列叙述正确的是( )
A.解决任何一个具体问题只有一种算法 B.流程图只是算法的一种表示形式
C.一种算法只能用一种程序语言来实现 D.算法是解题方法的精确描述,可以有无限个步骤
12.某算法的部分流程图如图所示。若输入n的值为23,则输出sum的值为( )
A.2 B.3 C.4 D.5
13.某算法的部分流程图如图所示。若输入 n 为 100,执行这部分流程图后,输出s的值为( )
A.-50 B.50
C.100 D.-5050
14.下列不属于算法特征的是( )
A.可行性 B.至少有1个输出 C.唯一性 D.有穷性
15.有若干只鸡兔同在一个笼子里,从上面数,有36个头,从下面数,有100只脚。执行完以下流程图以后,鸡和兔的数量分别是( )
A.12 24 B.11 25 C.22 14 D.20 16
16.某算法的流程图如下图所示,关于该算法下列说法正确的是( )
图1
A.执行这部分流程后,变量i的值为7
B.k的值为1*2*3*4*5*6*7的结果
C.该流程图是双重循环结构
D.将“i≤x/2”改成“i<x”,输出k的值发生变化
二、填空题
17.在深度优先搜索中,我们如何确定搜索的终止条件?
18.以下流程图的功能是:根据输入的正整数X,求分段函数 请将流程图中对应 ① ② 位置的语句选填完整。
① 处可填入的正确的表达式为
A.X%2==0 B.X%2!=0
C.X//2==0 D.X//2!=0
②
19.在符号运算中,表示“当且仅当”的逻辑结构通常用符号 表示。
20.算法是解决问题的方法和确定的、( )的步骤。
21.一个算法中的每一步都应该是确定的、没有歧义的语句,这符合算法特征中的( )性。
三、判断题
22.在选秀活动中,三个评委为每一位选手打分,如果三个评委都亮绿灯,则进入下一轮。如果两个评委亮灯,则进入特定席。如果红灯数超过两盏,就淘汰。最适合用到的程序结构是循环结构( )
23.根据空气湿度测定值,判断空气湿度是否处于相对舒适范围的算法,需要用到分支(选择)结构。( )
24.解决同样一个问题,算法不管怎样设计,写出的程序运行出结果的时间效率都是一样的。( )
25.算法的每一个步骤可以对应程序中一条或多条语句,每条语句最多只能实现一个操作。( )
26.千言万语不如一张图。以特定的图形符号加上说明,表示算法(有限的步骤去解决问题)的图,称为流程图或框图。 (判断对错)
四、操作题
27.某数据加密方法描述如下:
(1)以字节为单位进行加密处理;
(2)将1个字节的8位二进制数分割成前4位与后4位两个二进制数;
(3)分别将上述两个4位二进制数转换为十进制数;
转换前的字符M
字符M的ASCII十进制值
对应的二进制数
分割、转换后的十进制数
对应的加密字符
(4)将每个十进制数转换为1个加密字符,对应的“密码表”如下:
值(十进制)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
加密字符
I
l
i
k
e
C
H
N
P
o
s
t
c
a
r
d
小明按照上述方法,设计了一个字符串(仅包含若干个ASCII字符)加密办法,功能是将这个字符串的每个字符的ASCII码值作为1个字节转换为两个加密字符,连接这些加密字符,最后得到加密结果。下表显示了字符串中一个字符的加密过程:
下图左框中“This is an example!”是一个字符串,它由19个字符(包括大小写字母、空格和标点符号)组成,按照上述方法,每个字符加密后得到两个加密字符,最后加密结果为38个字符,如图中右框所示。
请回答下列问题:
(1)观察可知“e”加密后的结果为 (单选,填字母:A.HC / B.Ci / C.Ce)。
(2)已知ASCII表中,大写字母比对应的小写字母的十进制ASCII值要小32D,根据以上加密规则,完成字符“M”的加密过程,请将答案填写在下表空白处 。
(3)若将“密码表”中值为“0”对应的加密字符“I”改成“i”,加密后的密文可能无法解密,原因是 。
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.C
【详解】本题主要考查算法的描述。用海伦公式求解三角形的面积属于解析法,故本题选C选项。
2.B
【详解】本题考查算法流程图相关内容。A选项,变量x的终值为0,不可能为负数,选项错误。B选项,语句“x←x//2”共执行5次(13、6、3、1、0),选项正确。C选项,语句“x>0?”共执行6次(26、13、6、3、1、0),选项错误。D选项,输出变量s值为“11010”,选项错误。故本题答案是B选项。
3.C
【详解】本题考查算法。
A可以用枚举算法解决“找出所有的素数”问题。
这个说法不正确。虽然枚举算法可以用于找出一定范围内的所有素数(即尝试每一个数,并检查它是否是素数),但这种方法在数字范围很大时效率极低。对于“找出所有的素数”这一问题,实际上不存在一个具体的“所有”,因为素数是无穷的。因此,更常见的做法是指定一个范围,然后在这个范围内找出所有的素数。
B在屏幕上输出“helloworld!”,这个任务不需要用算法解决。
这个说法是错误的。算法是解决问题的一系列明确步骤,无论问题多么简单,只要涉及到执行一系列操作以达到某个目的,就需要算法。在这个例子中,输出“helloworld!”到屏幕也涉及到一系列的操作(如定位输出设备、发送字符串等),这些操作需要按照一定的顺序执行,因此也需要算法。
C “鸡兔同笼”问题,用解析算法和枚举算法都可以解决。
这个说法是正确的。“鸡兔同笼”问题是一个经典的数学问题,它可以通过建立数学方程(即解析算法)来求解,也可以通过枚举所有可能的鸡和兔的数量,然后找到满足条件的解(即枚举算法)来求解。
D算法必须要有输入,如“鸡兔同笼”问题必须输入头和脚的数量。
这个说法不正确。算法确实经常需要输入,但并不是所有算法都必须有输入。有些算法可能是自包含的,不需要外部输入就能执行。对于“鸡兔同笼”问题,如果我们已经知道了头和脚的具体数量,那么这些数量就是算法的输入。但如果我们是在讨论一个更一般化的算法,比如一个用于解决任意“鸡兔同笼”问题的算法,那么它确实需要输入头和脚的数量。但“算法必须要有输入”这一说法过于绝对,因此不正确。
故正确答案为:选项C。
4.C
【详解】本题主要考查算法流程图的执行。m=8,循环条件是m>3,循环体是m=m-1,当执行5次m=m-1后,m=3,此时不满足判断条件,退出循环,故本题选C选项。
5.B
【详解】本题主要考查算法的描述。常用的算法描述方法有:自然语言、伪代码、算法流程图和程序设计语言,故本题选B选项。
6.C
【详解】本题考查算法的描述。在产生式规则表示法中,“前提”指的是前提条件,而“结论”指的是推论结果。因此,前提和结论分别代表前提条件与推论结果。选项C是正确的。
7.D
【详解】本题考查的是算法描述方法。算法描述方法有:自然语言、流程图、伪代码等。机器语言是计算机语言的一种,故本题应选D。
8.D
【详解】本题主要考查算法的描述。输出所有5的倍数不满足算法的有穷性特征,不能用算法描述,故本题选D选项。
9.D
【详解】本题考查的是算法评价。算法正确性是对任意一个合法的输入经过有限步执行之后算法应给出正确的结果。算法正确性证明包括两个方面:①证明关于输入与输出之关系的命题是正确的;②证明算法中的公式及计算方法是正确的。“算法首先必须是正确的,即对于任意一组输入,包括合理的输入与不合理的输入,总能得到预期的输出”属于评价算法的正确性。故本题应选D。
10.B
【详解】本题考查的是算法结构。选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程。故该功能的实现应该使用选择结构,故本题应选B。
11.B
【详解】本题考查的是对算法的理解。一个问题可能有多种算法解决,选项A错误。一种算法可以用多种程序语言来实现,选项C错误。算法必须在有限步骤内完成,选项D错误。故本题选B。
12.C
【详解】本题考查的是流程图识读。阅读该流程图可知,其作用是将十进制数23转换成二进制数10111,变量sum用来累加二进制数每位数字之和,所以结果为4。故本题应选C。
13.A
【详解】本题考查的是流程图识读。阅读流程图可知,其功能是计算:s=1-2+3-4+……的功能。故若输入 n 为 100,则s=1-2+3-……-100=-50,选项A正确。
14.C
【详解】本题考查的是算法特征。算法特征有:有穷性,确定性,可行性,零到多个输入,一到多个输出。故本题应选C。
15.C
【详解】本题考查流程图
假设全是鸡:2×36=72(只)
鸡脚比总脚数少:100-72=28(只)
兔:28÷(4-2)=14(只)
鸡:36-14=22(只)
故本题选C选项
16.D
【详解】本题考查算法表示相关内容。A选项,在执行完流程后,i的值变为8,A错误;B选项,k的值为1*2*7,结果为14,B错误;C选项,通过观察流程图,可知该流程图为单循环结构,C错误;D选项,将将“i≤x/2”改成“i”后,输出k的值变为2,D正确。故本题答案为D选项。
17.找到目标节点时停止搜索
【详解】本题考查算法。
在深度优先搜索中,搜索的终止条件通常是找到目标节点。当我们到达目标节点时,搜索过程结束。故正确答案为:找到目标节点时停止搜索。
18. B Y ←3*X**3 或 Y ←3*X*X*X
【详解】本题主要考查算法流程图。①由题干及流程图可知,此处判断X是否为奇数,故填x%2!=0,选B选项。②由题干可知,此处是当X为奇数时,执行Y=3X3,故填Y ←3*X**3 或 Y ←3*X*X*X。
19.↔
【详解】本题考查符号运算。“↔”表示双条件关系,即两个命题同时为真或同时为假。
20.有限
【详解】本题考查的是算法定义。所谓“算法”就是解题方法的精确描述,由有限个步骤组成。
21.确定
【详解】本题考查的是算法特征。确定性:算法执行的每一个步骤必须有确切的定义,不能出现模棱两可的情况。
22.错误
【详解】本题主要考查程序基本结构。如果三个评委都亮绿灯,则进入下一轮。如果两个评委亮灯,则进入特定席。如果红灯数超过两盏,就淘汰。最适合用到的程序结构是分支结构,表述错误。
23.正确
【详解】本题考查选择结构的描述。选择结构,根据某个特定的条件进行判断后,选择其中一支执行。根据空气湿度测定值,判断空气湿度是否处于相对舒适范围的算法,需要用到分支(选择)结构。表述正确。
24.错误
【详解】本题考查算法的描述。解决同样一个问题,算法不一样,写出的程序运行出结果的时间效率也是不一样的,故表述错误。
25.正确
【详解】本题考查的是算法相关知识。算法的每一个步骤可以对应程序中一条或多条语句,每条语句最多只能实现一个操作。题干中说法正确。
26.正确
【详解】本题考查流程图的概念。以特定的图形符号加上说明,表示算法(有限的步骤去解决问题)的图,称为流程图或框图,正确。故答案为:正确。
27. A 加密字符i对应两个值0,2
【详解】本题主要考查数据加密及算法实现。
(1)字符“e”的ASCII码值是101,转换为二进制数是01100101,分割、转换后的的十进制数是6、5,对应的加密字符是HC;或者观察上图可知“e”加密后的结果也是HC,故本题选A选项。
(2)根据题干规则,完成字符“M”的加密过程是:
(3)若将“密码表”中值为“0”对应的加密字符“I”改成“i”,加密后的密文可能无法解密,原因是:加密字符i对应两个值0,2。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$