内容正文:
浙江良品图书有限公司
精彩三年学考尖峰 信息技术 2022浙江
专题梳理6 枚举与解析
单击此处编辑母版文本样式
1
【必修1 第90—91页 指导意见第13—19页】
1.解析算法的基本思想是指根据问题的前提条件与所求结果之间的关系,找出求解问题的数学表达式,并通过表达式的计算来实现问题的求解。
2.设计解析算法的一般步骤:(1)明确问题的前提条件。(2)明确要求的解。(3)寻找条件与结果之间的关系式,确保数学表达式的正确性。(4)在编程中正确描述数学关系式。
3.用Python编制解析程序时,必须保证计算过程描述的正确性。特别是把数学表达式转换成Python表达式时,必须注意这种
转换的正确性,否则容易产生运算结果错误或运行过程错误。
单击此处编辑母版文本样式
典例1编写程序,将摄氏温度转换为华氏温度,华氏度=摄氏度×9/5+32。实现如下功能:键盘分别输入两个整数赋值到t1,t2。运行后,输出结果包含两列数据,第1列为两数之间的摄氏温度值(间隔1度、升序),第2列为对应的华氏温度值。程序运行效果如图所示。
请在画线处填入合适代码:
t1 = int(input('请输入t1的值'))
t2=int(input('请输入t2的值'))
print('摄氏温度','华氏温度')
if t1>t2:
单击此处编辑母版文本样式
①_________________ #t1中存放较小值,t2中存放较大值
i=t1
while i <=t2:
f =②______________
print(i,' ',f)
③____________
解析 当t1较大时,t1和t2互换值;f为转换后的华氏温度值;while循环增量i+1。
t1,t2=t2,t1
i*9/5+32
i+=1
单击此处编辑母版文本样式
典例2铁路托运行李时,根据行李的重量按下列标准收费:若不超过50千克按每千克0.35元收费,若超过50千克,超过部分则按每千克0.5元收费,行李重量不得超过150千克。设计程序,通过键盘输入托运行李的重量,执行程序后,输出托运行李的费用,若行李超过150千克,则显示“行李超重!”。程序运行界面如图所示。
请在画线处填入合适的代码:
x=float(input('请输入行李重量:'))
单击此处编辑母版文本样式
if①__________:
print('行李超重!')
else:
if x>50:
y=②________________________
else:
y=0.35*x
print('行李收费:',③_____,'元')
x>150
0.35*50+0.5*(x-50)
y
单击此处编辑母版文本样式
解析 当重量超过150千克时,显示超重;当重量超过50千克小于等于150千克时,超出部分按每千克0.5元计算,最后的费用存放在变量y中。
单击此处编辑母版文本样式
【必修1 第91—94页 指导意见第13—19页】
1.枚举算法的基本思路是把问题所有可能的解一一列举,然后判断每一个列举出的可能解是否为正确的解。在枚举算法的程序实现中,逐一列举出可能解的过程采用循环结构实现,利用问题提供的约束条件筛选、判断解的过程中则需要采用分支结构。
2.枚举算法的优缺点和注意事项
(1)优点:是对现实生活的直接描述,易于理解,容易证明算法的正确性。
(2)缺点:枚举算法需要考察多个变量的大量状态,效率比较低。
单击此处编辑母版文本样式
(3)注意事项:要做到既不遗漏任何一个解,也不重复枚举;尽可能结合解析算法,减少枚举变量和枚举变量的范围,以提高效率。
单击此处编辑母版文本样式
典例3老师有一张重要的由5位数组成的发票因不慎落水,中间的百位和十位这两个数字变模糊了,如下图所示,只记得这个5位数是37或67的倍数。
请编写程序,找出所有可能的数字,并统计满足条件的个数。
c = 0
for i in range(100):
n=①________________
if②_____________________________:
25006+i*10
n%37==0 or n%67==0
单击此处编辑母版文本样式
prin