1、1 算法的概念及描述算法的概念及描述 【课程标准课程标准】 从生活实例出发,概述算法的概念与特征,运用恰当的描述方法和控制结构表示简单 算法。 通过解决实际问题,感受算法的效率。 【教学目标教学目标】 根据项目需求分析设计算法,理解并熟悉利用自然语言、流程图和伪代码描述算法的 方法。 (数字化学习与创新) 选用恰当的描述方法和控制结构表示算法,增强用算法解决问题的意识。 (计算思维、 信息意识) 通过对生活中某一逻辑关系问题的对比探究,掌握枚举算法解决问题的方法,并比较 数理思维方式与计算思维方式解决同一问题的效率差异, 逐步养成用计算思维解决问题的习惯, 提高工作效率。 (计算思维) 【学业
2、要求学业要求】 依据解决问题的需要,设计和表示简单算法。 【学情分析】【学情分析】 高中学生已经有了一定的逻辑推理能力, 且从小接受的教育使之形成了根深蒂固的数理思 维模式,本课内容为学生打开了解决生活实际问题的另一扇窗。前面学习了用计算机解决问题 的一般过程,以及算法的概念、特征等基本知识,为本节课尝试用简单的算法解决问题做了铺 垫。 由于学生之前没有系统地学习过算法的概念, 尤其对计算机算法知之甚少, 考虑到这一点, 本节课提供了程序文件,让学生在比较中认识计算思维的优势,从而转变观念。 【教学重点教学重点】 2 掌握三种常见的描述算法的方法,选用恰当的描述方法和控制结构表示算法。 【教学
3、难点】【教学难点】 根据实际问题需求设计算法,描述枚举算法。 【教学方法教学方法】 教学方法: 主要采用比较法、 分组讨论法、 师生互动探究模式、 项目式驱动模式组织教学。 软硬件资源:网络机房、流程图绘制软件、教学课件。 【教学过程教学过程】 教学环节教学内容学生活动设计意图 问题导入 1提出问题:为完善本章第 1 节提到的思考活动“红灯变绿 灯” 的功能, 如何将 “倒计时 15s” 的算法描述出来? 2引导学生用自然语言描述 该问题的求解算法。 思考回答 通过项目式驱动, 提出问题需求, 引出本 课的主题算法的描 述。 通过直接回答解 题步骤, 初步掌握自然 语言描述算法的方法。 师 生
4、 交 流,认识算法 的表示方法 归纳自然语言描述算法: 1用自然语言描述算法的方 式; 2用自然语言描述算法的特 点。 思考归纳 这部分的知识难 度不大, 但全部是新知 识, 而且是本节课的重 点内容, 教师依据学生 特点,能引导的引导, 需要讲述的讲述, 逐步 推进教学进度, 使学生 初步掌握算法的三种 描述方法以及算法的 学习流程图描述算法; 1提问:还可以用哪些方式 思考回答 3 三种基本控制结构的 流程图画法, 为后续实 践提升部分做好准备。 来描述算法呢? 2介绍流程图的常用符号及 其功能; 3利用课件分析流程图描述 算法的三种基本控制结构; 4师生归纳出“倒计时 15s” 算法的流
5、程图; 5总结用流程图描述算法的 特点。 聆听 讨论交流 归纳总结 学习伪代码描述算法: 1指导学生阅读教科书中的 “倒计时 15s”算法的伪代码表 示, 提问: 伪代码表示的算法有何 特点? 2归纳并对比三种算法表示 方法的优缺点; 3深入思考解决同一问题是 否只有一种算法, 需要考虑哪些因 素。 阅读思考 交流 归纳总结 回答问题 实 践 活 动,体验不同 的算法设计 任务 1:根据“六人跳舞”问 题描述,设计算法找出各自的舞 伴。 本活动案例来源 于生活, 却又不是普通 的生活算法可以解决 的, 因此学生只能另辟 4 1问题描述。 同学们跳集体舞, 其中三位男 生为 a,b,c,三位女生
6、为 x,y, z。有人不知道谁和谁搭档跳舞, 于是询问了其中的三位, 听到的回 答是这样的:a 说他将和 x 搭档; x 说她的舞伴是 c;c 说他将和 z 搭档。这人听后知道他们在开玩 笑, 全是假话。 请找出他们各自的 舞伴。 2师生归纳解题方法:刚刚 用到的方法属于数理思维方式, 即 用逻辑推理的方式直接想出或是 用手工算出结果。 教师提出还可以 用枚举法来求解本题。 3教师介绍枚举法解决该问 题的思路, 师生共同设计出相应的 伪代码表示算法。 4 教师提供对应的程序文件, 指导学生对照伪代码表示的算法 理解程序功能, 并运行程序解决问 题。 5师生交流两种问题解决方 法的特点, 强调用
7、计算机实现枚举 算法的优势: 枚举算法在常人看来 可能是一种“笨”方法,因为要一 一列举判断, 我们会感觉麻烦; 但 理解问题 参与交流 聆听学习 蹊径, 寻求新的解题思 路,从而认识枚举算 法。 该算法易于理解和 实现, 教师用该案例进 行练习提升较为合理, 但该算法会用到复杂 的循环嵌套结构, 对于 没有程序设计基础的 学生来说, 用伪代码描 述相对简单, 加之教师 给出“六人跳舞”的伪 代码, 后面只需修改成 “八人跳舞”即可,学 生可以独立完成。 且该 案例是学生熟悉的逻 辑推理题, 学生能快速 利用数理思维解出该 题,增强信心,为下一 环节两种思维方式的 分组竞技做好知识与 技能的储
8、备。 5 计算机具有超强的运算能力, 而且 它不会对重复的操作感到厌倦, 所 以运行效率较高。 枚举法是计算机 解决问题的一种常用方法, 体现了 计算思维求解问题的特点。 程序体验 反思交流 深入探究 分组竞技 任务 2:根据“八人跳舞”问 题描述,设计算法找出各自的舞 伴。 1问题描述。 同学们跳集体舞, 其中四位男 生为 a,b,c,d,四位女生为 x, y,z,k。有人不知道谁和谁搭档 跳舞, 于是询问了其中的四位, 听 到的回答是这样的:a 说他将和 x 搭档;x 说她的舞伴是 c;c 说他 将和 z 搭档;d 说他将和 x 搭档。 这人听后知道他们在开玩笑, 全是 假话。请找出他们各
9、自的舞伴。 2 组织学生选择任意方法 (数 理思维或计算思维) 解决问题, 分 理解问题 随着案例问题中 条件的逐渐增加或改 变, 学生在分组竞技的 过程中会不断体会到 两种方式的不同, 利用 计算思维解决逻辑关 系问题的优势逐渐体 现 6 组竞赛。 3 教师统计完成人数及效率, 提问学生解题的过程及效率, 引导 学生分析数理思维与计算思维的 异同。 4展示“八人跳舞”程序,引导 学生思考, 如果换一个条件, 如 “d 说他将和 y 搭档” ,利用两种思维 方式解题的效率又如何?引导学 生关注用计算思维解题在问题的 可扩展性方面的优势 小组竞赛 完成任务 交流讨论 思考问题 反思归纳 总结提升 教师总结:本节课学习了算法描述方法中 的自然语言、流程图和伪代码三种方法,了解 了各自的特点,比较出了计算思维在解决逻辑 关系问题时的优势。除了逻辑关系问题外,生 活中还有很多问题都可以用计算思维来解决, 希望同学们今后多尝试并习惯用计算思维来解 决实际问题,做一名数字化时代的真正参与者 总结、 梳理、 展望, 引导学生多尝试用计 算思维解决实际问题