课题 “韩信点兵”枚举法的实现 课时 1课时 学习目标 1.通过“小小军事家清点战车数量”游戏,进一步学习枚举法的思想。 2.通过小组合作使用枚举法解决“韩信点兵”问题,掌握枚举法解决问题的一般 过 程 。 3.通过完善半成品程序,掌握枚举法的程序实现,提升解决问题的能力。 学习重点 掌握枚举算法解决问题的一般过程 学习难点 掌握枚举算法的程序实现 学习准备 PPT、任务记录单、“韩信点兵”动画视频、半成品程序。 学习过程 学习版块 学生活动 教师活动 设计意图 改进设计 回顾:清点战车,唤醒旧知 1.观看课件,认识古代多种不同作战功能的战车样式,如二轮战车、四轮战车等。阅读题目:已知有二轮和四轮战车共36辆,车轮102只,求两种战车各有几辆。完成任务:清点两种战车的数量。 2. 在Excel 空白文件中尝试求出二轮战车和四轮战车的数量。挑选2名学生反馈计算方法及结果。 1.播放课件,引导学生观察战车的车轮数,和学生一起阅读题目,抽象并建模。 2.巡视指导计算过程,收集典型的计算方式。反馈并归纳枚举法的思想:有序地尝试每一种可能的解,如果满足条件就采纳,否则继续,直到条件不满足。枚举法的两个关键是枚举范围和正确解的判断条件。 在第一单元解决“鸡兔同笼”问题的过程中,学生已经学习了枚举法。战车的轮数与鸡、兔的脚数为同一性质的问题,且 “清点战车”的命名向“点兵”靠近,以此回顾枚举法的建模,开展以“古代小军师”为主线的一系列活动,环节之间有较强的连贯性。 探索:跟着韩信去点兵,提出问题 1.观看“韩信点兵”视频,思考:“韩信点兵”问题中,已知什 么 求什么 2.小组讨论:可以用哪些方法来统计士兵人数 1.播放视频,指出思考方向。 2.按计算机排座的方法组织小组,引导小组内讨论问题。请3 组的代表说一说。 引导小组讨论可用哪些算法来点兵,用驱动性问题来展开持续性学习。六年级的学生会用已学的数学知识去计算,在计算 过程中不断发散思维,为后续学习使用多种算法做铺垫。 建构:沙场点兵,解决问题 活动一 明确要素,抽象建模 1.阅读文字,用自然语言描述问题,抓住关键要素。 2.小组合作,组内成员按x 值均分计算量,完成表2所示的任务记录单。 活动二 出谋划策,算法设计 1.参考教材的枚举法流程图,带着问题在图2的任务记录单中 完成“韩信点兵”的流程图。 (1)流程图中的两个“关键”如何填写 (2)是否需要在流程图中添加变量x的初始值 若需要,在哪 个位置添加 2.学习“%”和 “and” 的运用。在任务记录单中写出 “x 除以3 余2”“x除以3余2且x 除以5余3且x 除以7余2”的Python表达式。 活动三 应势而生,程序实现 1.完成任务记录单:将流程图逐框转换成Python 代码。 2.在计算机中打开以下程序,先完善,再运行,实现算法。 x=1000 while : If 1.讲解、列数量关系。引导学生逐句阅读问题,找出范围和条件关系式,提炼计算模型。 巡视指导学生填写表格。小结:枚举法的关键是确定枚举的范围和正确解的判断条件。 1.巡视任务记录单的完成情况,并对有问题的学生进行直接指 导,如枚举范围和判断条件填写的顺序关系方面。如该如何填写以 同时满足多个条件 2.运行Python,示范运算符“%”和逻辑运算符“and” 的运用。教师巡视并指导学生书写表达式,纠正问题,如“==”“and” 前后有空格等。 1.巡视学生对流程图进行逐句翻译的情况。留意一些特别的问题“while”“if” “print”等词是否拼写正确。 2.巡视指导学生的代码,收集语句格式等问题。提醒学生程序 编写的格式是有层次性的,循环体内容需缩进。集中反馈问题,如 “while”和“if”后面的“:”等。 抽象过程中,教师引导过程可表示为数的除法运算,被除数、商可用“□”等图形符号表示,以便建立模型。抽象之 ... ...
~~ 已预览到文档结尾了 ~~