第二章 算法与问题解决
一、选择题
1.小明设计了一个“机器人走棋盘”算法,流程图如下。据流程图分析,机器人从棋盘S位置沿箭头方向出发,将到达的位置是( )
A.①位置 B.②位置 C.③位置 D.④位置
2.韦沐沐同学利用Python软件编制程序。初始时,他使用流程图描述算法,在设计输入、输出数据时使用的图例是( )
A. B. C. D.
3.必修一课本的3.3章节标题叫什么? ( )
A.算法的程序实现 B.算法程序实现的综合应用
C.简单算法及其程序实现 D.解析算法与枚举算法
4.某算法的部分流程图如图所示,执行这部分流程,若输入y,m,d的值分别是2021,5,28,则输出的结果是( )
A.146 B.147 C.148 D.149
5.某算法的部分流程图如图所示。执行这部分流程,若输入s的值为“yummy”,则输出的ch、t值分别为( )
A."y",1 B."m",1 C."y",5 D."m",4
6.“若是本书店会员,所有商品打八五折,否则无折扣”,用算法描述这一问题,合适的算法结构是( )
A.分支结构 B.循环结构 C.顺序结构 D.树形结构
7.某算法的部分流程图如图所示。执行这部分流程后,s的值是( )
A.1 0 1 0 B.1 0 1 C.0 1 0 1 D.0 1 0
8.算法执行时,每个步骤按照算法中出现的顺序依次执行的是( )
A.选择结构 B.顺序结构 C.体系结构 D.循环结构
二、判断题
9.算法必须有输出。 (_____)
10.算法有至少有一个输入,不一定有输出。 (____)
11.在流程图中,表示输入输出功能。(______)
12.算法中执行的任何计算步骤都可以被分解为基本的可执行的操作步骤。(________)
13.算法必须具备有穷性和确定性,在经历有穷步后得到一个或多个数据输出结果。(______)
14.算法就是解决问题的方法和步骤。 (_____)
三、填空题
15.某地一户一表居民实施阶梯式水价方案。阶梯水价计量分三级,第一级为18立方米以下,每立方米按2.4元计价;第二级为18至31立方米,每立方米按3.35元计价;第三级为31立方米及以上,每立方米按4.30元计价。如图2-1-38所示算法用于根据用水量V(立方米)计算水价s(元)。
流程图如图所示,①中应入填写的是 ,③中应该填入的是 。
16.阅读下列流程图,写出结果。
图中函数chr(x)返回数值x对应的字符,ord(x)返回字符x对应的ASCII码值。当输入jrrg时,输出结果为_____________
17.某算法的部分流程图如图所示。执行这部分流程,则输出的sum的值是______________
18.解决问题:求m和 n的最大公约数。根据以下算法描述,回答问题。
①输入m,n
②以m为被除数,n为除数,r为m除以n的余数
③判断r的值
若r=0,输出公约数n
若r≠0,则n将赋值给m,再将r赋值给n,转为执行步骤②
(1)上述算法的描述方式是_____________。
(2)若 m=2018,n =20,则最大公约数是_____________。
(3)这个算法是著名欧几里德算法,又称_____________。
(4)“r 为 m 除以 n 的余数”的 VB 语句是_____________。
(5)上述算法是用程序的_____________结构实现。
19.以下流程图描述的算法,执行结果是_______。
20.用智能电饭煲烧饭时,在微处理器的控制下,当饭烧熟时,智能电饭煲会自动停止高热烧饭,转为低热保温。这是因为锅底的温度传感器每隔一定时间(比如200毫秒)会将温度数据传送给微处理器,如果温度低于103℃,则继续高热烧板,一旦发现温度达到103℃(包含103℃,此时锅中水被蒸发完),微处理器就会控制继电器释放触点,让电饭煲停止烧饭,转入低热保温模式。根据以上描述回答下列问题:
(1)右图所示的流程图描述了某个时刻智能电饭煲根据输入的温度数据进行判断、处理的算法,则在流程图中①标记处应该填写_______。
(2)在这个系统中温度传感器所起的作用是________。
四、简答题
21.如图所示的流程图,请根据要求回答以下问题
(1)常见的算法描述主要有三种,本算法描述是什么?
(2)本算法的程序结构是什么?
(3)本算法程序的输出结果是多少?
(4)用计算机程序解决问题的步骤是:(请空白处补充完整)分析问题→设计算法→ →调试运行→检测结果。
(5)上述步骤哪-步骤是核心?
22.思考高楼的自动电梯在运行时需要考虑哪些方面(例如方便乘客,节约能源等),请为自动电梯设计一个适宜的算法。
五、操作题
23.“枚举算法”又称为“穷举法”,其基本思想是:一一列举出所有可能的解,并验证每个可能的解是否是真正的解,若是,就采纳,否则,就抛弃。
小明利用枚举算法解决“百元买百鸡”问题。用100元钱买100只鸡,公鸡,母鸡,小鸡都要有。公鸡5元1只,母鸡3元1只,小鸡1元3只。请问公鸡,母鸡,小鸡各应该买多少只?
假设公鸡有X只,母鸡有Y只,小鸡有Z只。
以下Python程序段实现了“百元买百鸡”的功能,请补全①②③处代码。
c = 0
for x in ____① :
for y in range(1,33):
z = 100-x-y
if ______② :
print("公鸡:",x,"母鸡:",y,"小鸡:",z)
_____③
print("共有买法",c,"种")
试卷第1页,共3页
试卷第1页,共3页
参考答案
1.B
2.D
3.C
4.C
5.C
6.A
7.B
8.B
9.对
10.错
11.错误
12.对
13.正确
14.对
15.V<31 、 S=4.3V
16.good
17.2450
18.自然语言描述 2 辗转相除法 r=m mod n 循环结构
19.@@@@
20.x<103℃ 输入锅底当前的温度值x
21.(1)流程图
(2)循环结构和分支结构(选择结构)
(3)72
(4)编写程序
(5)设计算法
22.自动电梯能实现自动升降,主要是它安装了微型电脑控制器。微型电脑控制器主要任务如下:
A.要让乘客方便,尽可能减少等待。
B.要节约能源,尽可能减少空开里程和往返次数。
我们可以从上述两个方向思考,设计适宜的算法。
一个参考算法如下:
① 乘客进入电梯房,按目标楼层键并关门启动运行;
② 控制器根据事先存储在电脑中的指标判断人员是否超载?若超载发出提示信息,下去若干人,返回第①步;若未超载,执行下一步;
③关闭电梯门,根据目标楼层键判断上升或下降;
④ 随时判断是否有人按下同方向的请求键。若是,则运行到该层停下,开门上下人,并按键启动;若没有新的请求,则到达既定目标层后,停止;
⑤接受新的请求,转而执行①;否则,停止。
23.range(1,20) 5*x+3*y+z/3 == 100 c = c+1 答案第1页,共2页