课题:算法 | 执教: | 学校: | 学科: 信息技术 | 课时:40分钟 |
三维目标 | 知识与技能: | 1、了解算法的基本概念及其描述; 2、学会绘制流程图描述算法; 3、学习常用的算法----解析法和枚举法. | ||
过程与方法: | 学会分析问题,提取问题形成算法描述,掌握流程图的概念与制作方法。 | |||
情感、态度 与价值观: | 通过对问题的研究和分析,设计算法对问题进行求解,提高分析问题和解决问题的能力,体会算法分析的魅力。 | |||
重点与难点 | 教学重点: | 理解并学会利用算法分析问题并形成描述 | ||
教学难点: | 1、用流程图表示算法 2、算法设计与分析 | |||
学情分析 | 本节课的学习对象是八年级的学生,在前面的学习中,学生对程序设计有了一定的了解而对算法的概念及描述还比较模糊,没有完整的知识结构体系。本课需要学生了解基本算法,学会用流程图描述算法,学会设计算法并能利用算法来分析解决生活中的问题。 | |||
教材分析与教法分析 | 本节课是苏教版八年级第4章第2节《算法》中的一个知识点——《算法实例》内容。本节介绍了算法实现的基本方法,让学生体验绘制流程图描述算法的过程,对比与自然语言描述算法的区别。每一个环节都体现了解决问题的逻辑思维,从一开始的导入到最终需要学生自己思考,能利用流程图描述算法,对学生来说有点难度,也是一种挑战,会激发了学生的兴趣,为进一步学习注入动力。 考虑到算法对于学生而言,比较陌生,甚至会有一定难度,需要一定的协助合作,故而主要使用任务驱动,分组教学,教师讲解引导等教学方式实施教学。 | |||
学生准备 | 教材、草稿纸 | |||
机房软件准备 | VB、画程 | |||
教学过程 | ||||
教学环节 | 教学内容 | 教师活动 | 学生活动 | 设计意图 |
情境导入 | 导入(3min) | 课前小游戏:偷龙转凤 1、交换两容器中的液体。 2、学生整理步骤 教师板书步骤并总结: 这个小游戏中,包含了解决问题的方法(引入空容器),也包含了操作步骤。 | 学生欣赏、思考并回答 | 游戏导入,引出算法的概念:解决问题的方法和步骤 |
新课讲授 | 算法概念(3min) 算法故事 (3min) | 一、算法概念(PPT) 教师:总结并介绍算法 概念:解决问题的方法和步骤 计算机就是靠执行计算机程序工作的。 沃斯公式: 程序=算法+数据结构 1、同一问题,可用不同算法。 2、算法的优劣直接影响程序质量,算法是程序的灵魂 二、算法小故事 华罗庚“烧水泡茶”(PPT) 算法(一) VS 算法(二) 问:同学们觉得哪个算法更好呢?为什么? (时间统筹法) | 认真听讲 积极思考 学生听讲思考并回答 | 让学生了解关于算法的知识,体会算法与程序的关系 让学生体验算法的两个性质1、2 |
新课讲授 | 流程图设计(15min) | 三、算法描述 教师:算法是可以描述的 1、自然语言:用语言文字描述 (PPT:交换液体自然语言描述与流程图,请学生分析比较。) 缺点:烦琐、冗长 2、流程图:用图形符号表示 优点:直观、简洁 、流程图符号介绍(PPT) 、流程图基本结构介绍 顺序、分支、循环 3、实践学习-我来“画一画” 教师示范使用流程图描述算法: 、设计算法 、绘制流程图 4、学生实践:(抽奖活动) 利用流程图来描述算法: 小明参加了公司举办的抽奖活动,他计划:如果自己中奖了,就买房买车,享受生活。如果不中奖,就继续认真上班。请你设计一个流程图描述这次抽奖活动。 学生练习设计并绘制流程图。 练习检验:教师利用抽奖软件,用学号抽出学生上台示范。 教师完善讲解 | 学生比较分析两种描述方式的异同,体会其特点 学生回答 学生动手操作练习 | 通过对比让学生了解并熟悉算法描述的两种方式的优劣性 让学生了解流程图,学习使用流程图描述算法。 用趣味性实例提升学生学习兴趣 |
拓展活动 | 学生拓展 | 用流程图描述:求“1+2+3+……+100”的值 教师导析:本题应采用什么结构的流程图? | 课后拓展 | 拓展学习循环结构 |
算法实例 (10min) | 四、算法学习 1、教师介绍常用算法有: PPT:解析、穷举、递推、递归、贪心、动规、深搜、宽搜…… 引出本节课要学习的算法:解析法与枚举法 2、算法实例: 解析法~ 概念:先找出数学表达式,再求出表达式值。 例1~三角形面积: PPT:题目 Step1:分析问题 读入三角形的底和高,根据三角形面积公式:S=a*h/2求出结果 Step2:用流程图描述算法 、枚举法~ 概念:用计算机运行速度快的特点来穷举可能的情况。 例2~水仙花数 PPT:题目 Step1:分析问题 题目有哪些已知条件? 可以在什么范围内枚举?如是4位数,枚举范围是什么? 枚举:在数据范围一个个去判断是否满足条件,如满足就成立。 Step2:用流程图描述算法 学生练习 教师讲评 教师总结:刚才的解法是拆分三位数,然后根据条件进行判断是否成立。 | 学生听讲 答 学生回答: 1、三位数 2、关系式条件成立 100~999 1000~9999 | 让学生知道:解决问题应该从分析问题入手 | |
实例拓展 (5min) | 思维拓展:水仙花数解法二 问:有没有其他的解法? 教师启发: 现在我们换一个思路: 解法一是拆分三位数,我们能不能逆其道而行,从组成这个整数的每一位数字出发,合成三位数,会怎么呢? 请学生回答后,统一分析问题: Step1:分析问题 令百位数a取1~9,十位数b取0~9,个位数c取0~9,则对应的三位数: 合成后的数: x=a*100+b*10+c 判断条件a*a*a+b*b*b+c*c*c=x是否成立。 Step2:用流程图描述算法 学生练习 教师评讲 | 学生思考回答 | 让学生学会深入探索问题,学会逆向思维,并深刻体会“同一问题可以有不同算法”这一算法性质 | |
算法实例拓展 (2min) | 百钱百鸡 问题描述:公鸡5元,母鸡3元,小鸡3只1元,100元正好买100只鸡,求出所有的购买方案,各鸡买几只? 分析问题:题目有什么已知条件?需要枚举什么?可在什么范围内枚举?请学生回答 | 学生思考回答 | 拓宽学生视野,让学生学会从问题出发分析问题 | |
百钱百鸡算法探讨 (3min) | 算法设计1: 穷举公鸡:(x=1;x<=20;x++) 穷举母鸡:(y=1;y<=33;y++) 穷举小鸡:(z=1;z<=100;z++) 如果条件 (100==x+y+z && 100==5*x+3*y+z/3)成立,则输出购买方案。 问:最坏情况,需要枚举多少次? 算法分析:此算法需要枚举尝试20*33*100=66000次。算法的效率显然太低。 深入思考:如何优化算法? 优化算法: 我们分析题目要求时发现,买小鸡的钱应该为整数,那么小鸡的数量Z则应该是3的倍数,所以为了减少枚举次数,我们可以对算法1进行改进: 把对小鸡数量Z的循环语句步长设为3,即Z=Z+3,在3~99的范围内,将3的倍数枚举出来,这就是小鸡的数量。 这个改进,可进一步提高(算法1)的效率,减少循环次数 PPT:流程图 深入思考:还有没有不同的算法? 算法设计2: 在公鸡(x)、母鸡(y)的数量确定后,小鸡的数量z就固定为100-x-y,无需再进行枚举了。 此时约束条件只有一个: 5*x+3*y+z/3=100. 穷举公鸡:(x=1;x<=20;x++) 穷举母鸡:(y=1;y<=33;y++) 小鸡=100-公鸡数-母鸡数; 如果条件 (z能整除 3)并且( 5*x+3*y+z/3==100) 成立,则输出购买方案。 算法分析:以上算法只需枚举尝试20*33=660次。实现时约束条件限定Z能被3整除时,才判断“5*x+3*y+z/3=100”。这样省去了z不整除3时的算术运算和条件判断,进一步提高了算法效率。 问:最坏情况,需要枚举多少次? 算法(1)66000次 VS 算法(3)660次 | 学生探索思考 学生深入思考回答 学生思考回答 | 通过综合练习让学生熟悉本节课所学内容 让学生学会分析算法时间复杂度 让学生学会优化算法 让学生体验优化算法的好处,体验不同算法与程序效率的相关性 | |
本文发布于:2023-05-28 11:43:45,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/1685245426182780.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:《算法》教学设计-优秀教案.doc
本文 PDF 下载地址:《算法》教学设计-优秀教案.pdf
留言与评论(共有 0 条评论) |