内容正文:
第4单元 计算与问题解决
一、选择题
1.在综合问题解决中,面向对象方法的优势不包括( )
A.易于维护 B.易于扩展 C.难以理解 D.代码复用
2.流程图描述的算法功能是( )
A.求1+2+4+7+11+…前10项的和 B.求1+2+4+7+11+…前9项的和
C.求1+2+3+4+5+…前10项的和 D.求1+2+3+4+5+…前9项的和
3.算法的重要特征不包括( )
A.唯一性 B.确定性 C.可行性 D.有穷性
4.下面关于深度优先搜索的说法,哪个是正确的( )
A.它总是能找到问题的最短解 B.它适用于所有类型的问题
C.它使用递归来实现 D.它从图的任意节点开始搜索
5.输入a,b,c的值,判断它们能否构成三角形的算法结构采用( )
A.顺序结构 B.循环结构 C.网状结构 D.选择结构
6.关于算法的描述,下列选项中正确的是( )
A.算法本身就是一种程序设计语言 B.对于同一个问题,只有同一个算法
C.算法必须在有限步骤内实现 D.算法可以使用自然语言、伪代码、流程图等多种不同的方法来描述
7.用计算机解决实际问题的过程中,需要进行算法设计,算法指的是( )
A.实际问题描述 B.最终结果
C.解决问题的方法和步骤 D.数值计算的方法
8.某算法的流程图如图所示。执行该算法,依次输入x的值为3,2,1,-1后,该算法输出的n值为( )
A.-1 B.0 C.3 D.6
9.某算法的部分流程图如图所示。执行这部分流程后,输出 f1,f2 的值分别是( )
A.5, 8 B.8, 13 C.13, 21 D.21, 34
10.下列算法,输出结果是( )。
A.10,7 B.7,10 C.7,3 D.3,7
11.某算法的流程图如图所示,执行该流程,输入x的值为整数26,则输出s的结果是( )
A.11010 B.10011 C.01011 D.11001
12.下图所示的流程图用于计算圆的周长,流程图中①处的内容是( )
A.C=3.14*r*r B.C=2x3.14xr C.C=2*3.14*r D.输出r
13.某算法的部分流程图如图所示,执行流程图后,若输入y的值依次为5,1,3,4,6,0,则输出c的值是( )
A.3 B.4 C.5 D.6
14.有27个砝码,外观一模一样,其中有一个异常砝码重0.95g,其他砝码重1g。有一个只能分清轻重的天平,请问最少需要使用( )次天平能找出那个重0.95g的砝码。
A.2 B.3 C.4 D.5
15.假设在“烧水泡茶”这一过程中要经历5道工序,分别是①烧开水壶1分钟,②烧开水10分钟,③洗茶壶茶杯2分钟,④取茶叶1分钟,⑤泡茶1分钟,若合理安排这5到工序执行的先后顺序,可以使“烧水泡茶”整个过程所有的总时间最短为( )
A.12分钟 B.10分钟 C.11分钟 D.15分钟
16.下图是把华氏温度转换为摄氏温度的算法,这种描述算法的方式是( )
A.自然语言 B.流程图
C.伪代码 D.高级语言
17.计算s=1×2×3×…×n的算法流程图如图所示,虚线框中应填写的内容是( )
A. B. C. D.
18.如下图所示,该流程图所示的算法已在计算1+2+3+4……的值,但有一处错误导致程序出现死循环,该处是( )
A.①处 B.②处
C.③处 D.④处
二、填空题
19.常用的三种算法描述方法分别是自然语言、流程图、 。
20.以下算法的输出结果是: 。
21.如图所示算法,若输入n=4,输出是108,则用a与n在空白横线处组成一个完整的表达式,应填 。
22.哥哥考弟弟一道数学题,题目内容如下:“有一筐鸡蛋,2个2个数多1个,3个3个数多2个,4个4个数多3个,5个5个数正好数完,问这筐鸡蛋最少是几个?”流程图是解决此问题的算法,则空白横线处应填 。
23.Pygame自带了一个监听类循环,不断检查用户的操作,这个循环在程序运行过程期间持续工作。仔细阅读理解如下代码填写括号内容
while True:
for event in pygame.event.get(): # ( )
if event.type==pygame.QUIT: # ( )
sys.exit() #退出程序
if event.type==pygame.MOUSEBUTTONDOWN: # ( )
三、操作题
24.为了进一步提高交通管理水平,加大对超速违法行为的管控力度,保证高速公路行驶安全,打击违章超速等行为,高速公路上设置了多种测速方式,区间测速是常见的测速方式之一(如下图),某高速路段测速区间距离为4公里,该路段限速每小时80公里,车辆通过此路段的时间超过3分钟,则其平均时速就符合限速要求;车辆通过此路段的时间不足3分钟,就说明该车辆已经超速。
(三)选用Python语言,编写、调试运行模拟区间测速程序,验证、完善、优化算法
代码编写完成并在程序调试运行过程中,总会遇到各种各样的错误,有的错误是用户输入造成的,①关键字、函数名、变量名等拼写错误;②中英文输入、缩进格式、表达式书写以及缺少冒号等不符合Python的语法规范;还有一类错误是程序设计本身存在的逻辑错误,这类错误只有在运行时才能判断其算法是否正确和完整。根据要求,回答问题。
同学A的运行结果
表一:
s=int(input("请输入测速区间长度"))
t=int(input("请输入抓拍时间间隔"))
1imit=int(input("请输入限速"))
v=s*60/t
if v<=limit:
print("符含限远要求")else:
print("己超速")
File"<ipython-input-4-09d4250db4b6>",line 1
s=int(input(“请输入测速区间长度”))
SyntaxError: invalid character in identifier
同学B的运行结果
表二:
s=int(input("请输入测速区间长度"))
x=int(input("请输入抓拍时间间隔"))
1imit=int(input("请输入限速")
V=s*60/t
if v<=limit:
print("符合限速要求")else:
print("已超速")
请输入测速区间长度4
请输入抓拍时间间隔3
请输入限速80
Traceback (most recent call last):
<ipython-input–1-915d679200b8>in<module>line4
V=s*60/t
NameError: name 't' is not defined
(1)观察表一,分析同学A程序的错误并改正。
(2)观察表二,分析同学B程序的错误并改正。
(3)通过小组间的对比、分析,总结归纳得出,在利用计算机解决问题时,算法是不能被计算机直接执行的,需要将算法按照一定的规则编写成计算机能够识别和运行的程序,计算机程序设计语言是一组用来定义计算机程序的语法规则,统称编程语言。正确地使用编程语言,能让计算机准确地执行命令、解决问题。关于问题求解, 。(多选)
A.求解问题的算法往往不止一个
B.求解问题的算法描述中,可同时使用自然语言、流程图和伪代码
C.同一个算法可以编写不同的程序
D.程序是算法的具体实现
E.算法是计算机解决问题的核心
F.面对数据量很大时,人工处理效率较低,可以借助计算机解决问题更高效、更便捷
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.C
【详解】本题考查软件开发。
难以理解:实际上,面向对象方法并不以难以理解为其特点。相反,它通过封装、继承和多态等机制,使得代码更加清晰、易于理解。当然,对于初学者来说,面向对象的概念和术语可能需要一些时间来掌握,但一旦理解了这些基本概念,面向对象方法将大大提高代码的可读性和可理解性。故正确答案为:选项C。
2.A
【详解】本题考查算法分析。
a初始化为1,i初始化为0。a=a+i,即当前项的值a是前一项加上i,每次循环累加a到s,i=i+1。当i>=10停止循环。即累加前10项。故正确答案为:选项A。
3.A
【详解】本题考查算法的特征。。算法的重要特征包括:有穷性、可行性、确定性、输入项、输出项。故选A。
4.C
【详解】本题考查算法。
深度优先搜索通常使用递归或栈来实现。它并不总是能找到问题的最短解,而是根据搜索路径的不同可能找到不同的解。此外,深度优先搜索可以从指定的起始节点开始搜索,而不是从任意节点。故正确答案为:选项C。
5.D
【详解】本题考查算法的基本结构。算法的基本结构有:顺序、选择(分支)、循环结构。顺序的执行顺序是自上而下,依次执行;选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程;循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。输入a,b,c的值,判断它们能否构成三角形的算法结构采用选择结构。故答案为:D。
6.CD
【详解】本题主要考查算法的描述。算法本身不是一种程序设计语言;对于同一个问题,可以有多个算法;算法必须在有限步骤内实现;算法可以使用自然语言、伪代码、流程图等多种不同的方法来描述,故本题选CD选项。
7.C
【详解】本题考查的是算法。算法是指解决问题的方法和步骤。故选项C正确。
8.C
【详解】本题考查流程图。程序运行过程如下。因此算法输出的n的值为3。故答案为:C。
s
n
x
0
0
3
0
1
2
0
2
1
0
3
-1
9.C
【详解】本题主要考查算法流程图的执行。f1=1,f2=1,f=0,第一遍循环,f=f1+f2=2,f1=f2=1,f2=f=2;第二遍循环,f=f1+f2=3,f1=f2=2,f2=f=3;第三遍循环,f=f1+f2=5,f1=f2=3,f2=f=5;第四遍循环,f=f1+f2=8,f1=f2=5,f2=f=8;第五遍循环,f=f1+f2=13,f1=f2=8,f2=f=13;第六遍循环,f=f1+f2=21,f1=f2=13,f2=f=21;第七遍循环,不满足判断条件,输出 f1,f2的值分别是13,21,故本题选C选项。
10.B
【详解】本题考查的是流程图识读。a=10,b=7,a>b成立,执行a=a+b=17,b=a-b=17-7=10,a=a-b=17-10=7。输出a,b的值分别为:7,10故本题应选B。
11.C
【详解】本题考查的是流程图识读。阅读流程图可知,程序功能是:将输入的十进制数x转换为二进制数,并逆序输出。输入x的值为整数26转换为二进制数为:11010,逆序后为:01011,故选项C正确。
12.C
【详解】本题考查的是流程图识读。阅读流程图,可知这是求圆的周长C,故流程图中①处的内容是C=2*3.14*r(*表示乘)。故选C。
13.A
【详解】本题考查的是流程图识读。阅读流程图可知c是统计最后一段输入值比前一个值大的个数,3>1,4>3,6>4。3个,故本题应选A。
14.B
【详解】本题考查的是算法。自然语言描述如下:
将27个砝码分为三堆,每堆9个,任意取两堆,如果相等,那么轻的那个在第三堆里,如果不相等,那么重0.95g的砝码就在较轻的一堆里;接着把较轻的一堆中的9个砝码再分为三份,每份3个,如此类推,三次就可以找到重0.95g的砝码。
15.A
【详解】本题考查的算法的优化。“烧水泡茶”的五道工序是可以优化的。③洗茶壶茶杯2分钟,④取茶叶1分钟,这两步时可以在②烧开水10分钟的时候同时做的。所以总用时可以最短为1+10+1=12分钟,故选项A正确。
16.B
【详解】本题考查的是算法描述。用自然语言描述算法,就是用人们日常所用的语言,如汉语、英语等来描述算法;用流程图描述算法是用程序框图来描述算法的一中表示方法;用伪代码描述就是用介于自然语言和计算机语言之间的文字和符号来描述算法。图中是利用流程图来描述算法。故应选B。
17.C
【详解】本题考查的是流程图识读。计算s=1×2×3×…×n,初始i=1,终值是n,故虚线框中应填写的内容是i<=n,选项C正确。
18.B
【详解】本题考查的是流程图识读。s的取值可能为1、3、6、10、15、21……,不可能等于16,即②处条件一直成立。故本题应选B。
【点睛】
19.程序设计
【详解】本题主要考查算法的描述方法。常用的三种算法描述方法分别是自然语言、流程图、程序设计。
20.-2
【详解】本题主要考查算法流程图的执行。a=18,b=-2,a>b,d=b=-2,c=7,d<c,输出d的值为-2。
21.a<=n
【详解】本题考查算法流程图的识读。
第一次循环,a=a+b=2,b=a*b=2;
第二次循环,a=a+b=4,b=a*b=8;
第三次循环,a=a+b=12,b=a*b=96;
第四次循环不满足条件时,a+b=108,符合条件,n的值为4,结合运行过程,循环条件可以是a<=n。
22.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。
23. ①监听并获取事件列表 ②Quit事件 ③侦听到鼠标点击事件
【详解】本题考查的是Python中的Pygame模块。pygame.event.get()是监获取事件列表,pygame.QUIT是Quit事件,pygame.MOUSEBUTTONDOWN是侦听到鼠标点击事件。
24. 用户输入错误造成的,将引号的中文输入改为英文输入 程序设计本身存在的逻辑错误。或者修改变量x,或者修改变量t ABCDEF
【详解】本题主要考查Python程序的综合应用。①由代码运行后的报错提示,可知同学A程序的错误是用户输入错误造成的,应将引号的中文输入改为英文输入。②分析表二可知,同学B程序的错误是变量t没有定义,应修改变量x,或者修改变量t。③关于问题求解,求解问题的算法往往不止一个;求解问题的算法描述中,可同时使用自然语言、流程图和伪代码;同一个算法可以编写不同的程序;程序是算法的具体实现;算法是计算机解决问题的核心;面对数据量很大时,人工处理效率较低,可以借助计算机解决问题更高效、更便捷,故本题选ABCDEF选项。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$