4.3 《非数值计算》 教材分析: 本节课选自高中信息技术《必修一:数据与计算》第四章第三节的内容,通过典型应用案例,让学生掌握分治思想和递归思想,了解分治算法和递归算法的优缺点及典型应用,培养学生根据问题选择合适的算法形成解决问题的方案的能力,进一步促进学生学科核心素养的提升。 学生分析: 本节课的授课对象为高一年级的学生。这一时期的学生已经初步具备python编程能力,在前面几节课的基础上,基本了解算法的概念及计算机解决问题的过程,但是对于问题分析能力以及将算法转化为编程过程的能力需要教师进一步督促引导。 教学目标: 1.通过分析问题-设计算法-编程实现-测试运行的解决问题的过程,能够根据具体问题设计合适的算法形成解决问题的方案。 2.通过“猜数字小游戏”,了解分治思想,并运用二分查找解决实际问题。 3.了解分治算法的优缺点,了解分治思想在生活中的应用。 教学重难点: 【教学重点】理解分治算法的原理以及二分查找解决问题的过程。 【教学难点】学以致用,能够运用合适的算法形成解决问题的方案。 教学准备: 教学硬件:机房 教学软件:python、wps、 教学资源:课堂活动清单、python半成品程序、教学课件等。 推荐课时:1课时(40min) 教学过程 教师活动 学生活动 设计意图 课堂复习 (2min) 通过例题复习 random.randint()函数的相关知识点。 回顾相关知识点。 复习之前学过的知识,为本节课的教学内容做铺垫。 课堂引入 (3min) 运行”猜数字游戏“,描述游戏功能。 思考:如何编写代码实现游戏。 观看游戏运行过程,思考编写程序实现步骤。 通过生活化小游戏,引入课堂,吸引学生兴趣。 新 知 讲 授 (33min) 新 知 讲 授 (33min) 知识讲解1 (3min) 分析问题: 如何生成随机数 如何输入要猜的数字 要猜几次? 如何比较m与t,如果猜中如何处理? 思考编程需要解决的几个问题。 培养学生问题分析的能力,能够根据问题形成解决问题的方案,形成计算思维。 活动一: 补充程序 (5min) 讲解流程图设计的算法,让学生学会根据算法编程。 完成活动1的python半成品。 在一步步教学环节中,形成分析问题-设计算法-编程实现-代码测试的计算机解决问题的过程。 知识讲解2 (3min) ”猜数字游戏“,如何猜的又快又准 如果使用枚举算法,一个数字一个数字的猜测,效率太低,如何实现快速猜测? 学生根据生活尝试,回答:每次从中间开始猜测。 联系生活实际,引出分治算法的思想,体会分治思想在生活中的应用。 知识讲解3 (3min) 分治算法 教师讲解分治算法的原理: 大事化小,小事化了。 学生理解分治算法的思想,并能应用到案例中。 基于现实问题的讲解,有利于知识点的快速记忆,便于学生知识结构的迁移。 案例演示 (2min) 教师演示如何使用二分查找从一个有序列表中查找数字9。 学生观看演示过程,理解二分查找。 通过形象化案例,转化抽象思维,理解二分查找的原理。 活动二: 再次运行“猜数字游戏”体验利用二分查找实现最快的找到数字 (5min) 巡回指导 对比两个查找过程 体验二分查找法查数据的优势。 通过对比,学生能够很容易理解二分查找的优势。 知识讲解4 (3min) 讲解二分查找最坏查找次数,引出二分法查找最快需要几步? 学生思考回答1次,但每个数字最快找到次数是不一样的。 循序渐进引入问题,引发学生思考。 活动三:将程序补充完整。统计二分法最快查找次数。 (5min) 巡回指导 将程序补充完整 通过程序补充,体会利用python工具解决二分查找的过程。 抛砖引玉 (2min) 二分查找的前提是:被查找的数据必须是有序的! 如何对一组无序的数据如何进行排序呢? lst=[9,6 ,45,23,48,7] 学生思考排序的方法 承上启下,为后面引出递归实现排序做铺垫。 共 ... ...
~~ 您好,已阅读到文档的结尾了 ~~