内容正文:
2.3 周而复始的循环——条件循环
【学科核心素养】
1.能够根据解决问题的需要,自觉、主动地寻求恰当的方式处理信息。(信息意识)
2.通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案。(计算思维)
3.掌握数字化学习工具的操作技能。(数字化学习与创新)
4.能够遵守信息法律法规,信守信息社会的道德与伦理准则。(信息社会责任)
【课程标准要求】
掌握一种程序设计语言的基本知识,使用程序设计语言实现简单算法。通过解决实际问题,体验程序设计的基本流程,感受算法的效率,掌握程序调试与运行的方法。
【学业要求】
依据解决问题的需要,设计和表示简单算法;掌握一种程序设计语言的基本知识,利用程序设计语言实现简单算法,解决实际问题(计算思维)。
【学情分析】
学生在前面的课中已经学习了基本的赋值语句和分支语句,对于编写程序解决问题的一般流程已经比较熟悉,并且在前一节课学习了计数循环,因而学生对循环工作原理有了一定基础。
【学习目标】
1. 了解条件循环的基本结构;
2. 学会条件循环的使用方法;
3. 熟练使用条件循环解决实际问题。
【教学重点】
理解循环语句的工作原理;
掌握循环语句的基本格式。
【教学难点】
能够使用循环语句解决实际问题。
【教学方法】
讲授演示法、任务驱动法、问题引导法
【教学过程】
教学环节
教师活动
学生活动
设计意图
课堂导入
展示图片:对人来说,长时间重复做同一件事情,通常会觉得不愉快,且效率会有所下降。
观察图片,观看程序运行过程及结果。
通过对于重复性任务,人和机器的截然反差,感受程序的优越性,激发起学生探知的兴趣。
运行“罚抄程序”:但计算机往往不知疲倦,非常适宜用重复的方式完成任务。
学习目标
我们将计算机程序中某些代码的反复执行称为循环。上节课我们学习了Python中的计数循环,本节课我们来学习条件循环。
展示学习目标:了解条件循环的基本结构;
学会条件循环的使用方法;
熟练使用条件循环解决实际问题。
明确本节课的学习内容,了解学习目标。
明确本节课的学习内容,了解学习目标。
学习新课
由同学们熟悉的“压岁钱”引出对“自动转存”知识点的解释,从而情景引入“计算理财产品收益”任务:小明上大学后将积攒的5万元压岁钱购买了一年期收益率3.7%的银行保证收益型理财产品。每年理财赎回后,他会提取1万元用作生活所需,余下资金仍购买此种理财。在收益率不变的情况下,多少年后资金被全部取出?
回顾计算机解决问题的一般过程:分析问题、设计算法、编写程序、调试与维护程序。
阅读题目
明确任务
分析问题
分析每年的存款变化,从中寻找规律。
逐年分析每年的存款总额计算公式
通过分析每年的存款变化,得出计算公式的规律、特点:循环问题,并且循环的次数不确定,从而引出条件循环知识。
学生通过观看ppt资料自主学习条件循环的相关知识。
学习条件循环的相关知识
通过充分学习条件循环的基础知识,然后在实践中灵活运用。
设计算法
用流程图描述算法
在教师的引导下循序渐进的画出本任务的流程图。
通过流程图算法学生可对问题的解决过程有一个清晰明确的认识把握。
编写程序
money=50000
year=0
While money>0: money=round(money*(1+0.037),2)-10000
year=year+1
print(year,“年后资金被全部取出”)
根据流程图及条件循环知识编写出对应的python程序代码。
提高学生编写程序的能力以及检验同学们对条件循环知识自主学习的情况。
调试与维护
Python是解释程序,因此它的调试是在运行过程中逐行进行的:录入、语法、计算方法等错误。
遵循调试程序的步骤调试程序:编写代码--运行程序--修改错误--运行程序--再修改--直至运行成功
学生在调试程序的过程中提高动手实践能力、发现问题解决问题的能力,同时收获体验程序运行成功后的胜利感、成就感。
课堂练习
某投资者购买了10万元一年期实际收益率为4.25%的理财产品,由于产品一直在持续运作,投资者不按时赎回视为自动再投资。在收益率不变的情况下,至少多少年后投资可以翻倍?
参考代码:
money=100000
year=0
while ___________:
money=round(money*(1+0.0425),2)
_________________
print(“至少”,year,”年后投资可以翻倍”)
阅读问题,思考划线部分,补充程序。
加强对条件循环知识熟练应用来解决解决实际问题。
拓展知识 双重循环
如果在一个循环中包含另一个循环