资源简介 案例 基于解析算法的问题解决1. 《课程标准》要求通过解决实际问题,体验程序设计的基本流程,感受算法的效率,掌握程序调试与运行的方法。2. 教学目标·理解解析算法的含义与基本思想,能够通过编程实现算法。(计算思维)·掌握使用解析算法解决问题的基本方法,能从日常生活和学习中发现或抽象出可以利用算法与程序设计解决的问题,形成主动应用算法和程序解决问题的意识。(信息意识、计算思维)·能对自己和他人设计的算法与程序进行优化,开展合作,运用算法与程序实现设计问题求解方案,进行创造性探索。(数字化学习与创新)·能遵守与程序设计相关的伦理道德与法律法规,负责任地使用信息技术。(信息社会责任)3. 学业要求能够利用程序设计语言实现简单算法,解决实际问题。4. 教学对象分析本节课的授课对象是高中一年级的学生,他们具有强烈的求知欲和探索精神,兴趣广泛,思想活跃,有创意,有较好的发散思维,有一定的分析问题和解决问题的能力。经过前期的学习,他们已经掌握了Python语言编程的基础知识,并实现了编程模拟“自助式人行过街红绿灯”的基本功能。但对程序设计中的一些基本算法了解不深,对现实生活中较复杂问题的分析能力较弱,不能选择合适的算法进行问题的分析和算法实现。另外,在日常学习和生活中,学生经常需要构建表达式解决较为复杂的问题,具有较强的解析算法学习需求。5. 教学重点与难点教学重点:理解解析算法的含义与基本思想,能够通过编程实现算法。教学难点:掌握使用解析算法解决问题的基本方法,能从日常生活、学习中发现或抽象出可以利用算法与程序设计解决的问题。6. 教学方法与教学手段教学方法:项目学习、合作探究、任务驱动。本节课从本章项目学习出发,在学生已经实现“自助式人行过街红绿灯”基本功能的基础上,引导学生结合生活实际进行分析,通过编程实现设置最短绿灯时长,认识解析算法,理解其基本思想。同时,联系学生日常学习、生活经验,设置研究性学习中可能遇到的问题和生活中可能遇到的问题两种真实情境,让学生进行分组实践,讨论探索,从而进一步掌握使用解析算法解决问题的基本方法,并尝试将这种思维模式迁移到现实的学习、生活中,提升对模型构建和算法设计的敏感度和分析意识。7. 教学过程设计教学环节教学内容学生活动设计意图创设情境导入新课1. 展示已完成的项目程序“自助式人行过街红绿灯”运行情况。提出程序中存在的问题:信号灯的时长设置各不相同。2. 提出问题思考:生活中信号灯的时长是如何设置的观察思考引导学生关注信号灯时长问题,以项目学习为基础,提出问题,为后面使用解析算法解决问题做好准备学习新知识,认识解析算法活动1:配置“自助式人行过街绿灯”最短绿灯时长。(1)分析问题从简单问题出发,分析要计算最短绿灯时长应考虑的因素。已知条件:马路宽度s,行人步行速度v和人反应时长t0。求解目标:最短绿灯时长t。解析式为:在教师引导下,思考并回答问题。板书写出最短绿灯时长的解析式先进行数学计算,再进行编程实现,感受计算机实现自动化计算的优势,理解算法的作用(2)数学计算以学校马路(马路宽20 m)为例,根据相关数据,使用数学计算的方法,计算出最短绿灯时长。展示计算结果并讨论:问题1:成人、老人和孩子的数据应该选取哪个?问题2:绿灯时长可以为小数吗?师生共同讨论,得出结论:选取老人和孩子的数据更合理;绿灯时长不能为小数,需要向上取整根据具体数据,计算出最短绿灯时长。展示计算结果并讨论如何根据实际情况选取数据,以及根据需求对数据进行特殊处理通过使用真实数据解决生活中的问题,学习结合实际情况,选取恰当的数据(3)绘制流程图课件展示流程图半成品(图1),请学生补充完整。归纳问题解决过程:首先,根据已知条件对马路宽度、步行速度和反应时间进行初始化;然后,进行一系列的计算处理;最后,输出最短绿灯时长思考,并使用电子白板补全课件中的流程图通过分析问题、算法设计和编程实现的实践过程,认识解析算法,理解解析算法的含义及基本思想,使用解析算法解决根据路宽配置“自助式人行过街红绿灯”最短绿灯时长的问题学习新知识,认识解析算法图1 计算最短绿灯时长流程图半成品(4)编程实现修改项目程序代码,在“自助式人行过街红绿灯”程序中添加设置最短绿灯时长的功能。完成编程实现,展示运行效果,实现该功能的核心代码如下所示。# 根据路宽设置绿灯时长v = 0.9 # 设置“步行速度”t0 = 3 # 设置“人反应时间”# 输入道路宽度s = int(input("请输入道路宽(米):"))# 计算最短绿灯时长t = math.ceil(s / v + t0) 1. 参照流程图,修改项目程序代码,添加设置最短绿灯时长功能。2. 展示关键解析语句,并运行程序,查看效果让学生理解解析算法的基本思想,联想在其他学科学习中的解析过程,认识到通过计算机程序实现自动化计算的优越性(5)师生归纳,理解解析算法解析算法指通过找出解决问题的前提条件与结果之间关系的表达式,计算表达式来实现问题的求解。解析算法的核心在于构建出恰当的解析式,然后转换为正确的程序表达式,只有这样才能最终实现问题的求解。课件展示用解析算法解决问题的基本过程,如图2所示。解析算法在数学、物理和化学等学科的学习中也经常用到回顾解决根据路宽配置“自助式人行过街红绿灯”最短绿灯时长问题的过程,理解解析算法的基本思想,联想解析算法在其他学科的学习中用到的解析过程学习新知识,认识解析算法图2 用解析算法解决问题的基本过程应用实践活动2:使用解析算法解决问题1. 列举问题供学生研究。(1)用解析算法进行研究性学习。任务:研究小球自由落体运动问题的学习单如下浏览学习单,思考任务培养学生主动应用算法和程序实现解决学习问题的意识研究小球自由落体运动问题的学习单。任务:小球自由落体运动问题 问题描述:从500 m高楼上自由落下一个小球,求从开始落下的时刻起,小球在最后1 s内的位移 分析问题: 已知条件: 求解目标: 二者关系: 数学解析式: 编程调试:打开教科书教学资源平台中的“自由落体.py”文件,将代码补充完整,并运行、调试。提示:使用math模块中的函数sqrt()求二次方根 思考:如何改写程序,计算反应时间?(实现反应尺原理)应用实践(2)用解析算法分析现实生活中的问题。任务:通过计步计算运动时消耗的热量,学习单如下浏览学习单,思考任务培养学生主动思考生活中程序应用的算法设计思想研究运动时消耗的热量问题的学习单。任务:通过计步计算运动时消耗的热量 问题描述:小明每天通过手机记录行走步数,了解自己运动时热量的消耗情况,想一想这个数据是如何计算得出的?提示:① 移动应用程序通常是通过统计步数、距离、速度、时间等数据来测算消耗的热量的。常用公式为:体重× 距离× 运动系数(k)其中,体重的单位为kg,距离的单位为km。② 不同类型运动的运动系数k取值不同,健走运动的系数k为0.821 4,步长建议取值0.6 m~0.7 m 分析问题: 已知条件: 求解目标: 设计算法(写出相应的数学解析式): 编程调试:打开本书配套光盘中的“热量计算.py”文件,补充代码并调试、运行 思考:为何现实生活中移动应用程序的测算结果各有不同2. 教师巡视,根据具体情况,对任务的完成情况进行反馈和指导。 3. 活动梳理,总结使用解析算法解决问题的关键。构建恰当的解析式,是使用解析算法解决问题的关键所在。根据活动2中两个问题的解决方法,分别说明:① 当使用一个解析式无法解决问题时,需要使用多个解析式进行多次推导;(小球自由落体运动问题)② 解析式如果不够科学,会直接影响程序的运行或是问题的解决(通过计步计算运动时消耗的热量)参考学习单中的提示,完成任务。思考分析,归纳梳理让学生通过模拟解决研究性学习和现实生活中的问题,进一步掌握使用解析算法解决问题的基本方法,突破本节课的难点课堂总结1. 师生总结:解析算法是最基本、最常用的算法之一,首先分析已知条件和求解目标以及它们之间的关系,然后推导出解析式,有的问题一次推导就可以解决,有的则需要多次推导,最后将解析式转换成程序表达式,编程实现自动化计算,从而解决问题。2. 课后思考:教科书中阅读拓展“利用‘割圆术’求π的近似值”是如何实现的回顾总结总结解析算法的基本思想,强化抽取解析式的关键方法,回归用计算机解决问题的核心过程。抛出拓展思考,为后面的课程学习埋下伏笔 展开更多...... 收起↑ 资源预览