1、第 9 课 算法的评价方法教学设计 【课标内容要求】通过真实案例,知道算法步骤的执行次数与问题的规模有关,观察并体验采用不同算法解决同一问题时在时间效率上的差别。【教学内容分析】算法的评价方法这节课选自 2023 浙江教育出版社六年级上册第二单元。第二单元整个单元都是算法的效率,主要包含算法的多样性、算法的评价方法、“韩信点兵”枚举法、筛选法、同余法的实现,学好 本课为根据简单问题求解的需求设计出合适的算法作铺垫。【教学目标】1.了解好的算法,除了符合“正确性、有效性”等标准外,还需要有较高的算法运行效率。2.通过真实案例,知道算法步骤的执行次数与问题的规模有关,估算循环执行的次数,通过修改程
2、序统计循环语句的执行次数。3.观察并体验采用不同算法解决同一问题时在时间效率上的差别。重点:基于给定的算法,能针对不同的输入数据规模,估算算法中循环执行的次数。 难点:修改程序统计循环语句的执行次数。【核心素养指向】1.在完成任务的过程中,有意识地寻求恰当的算法解决问题,了解算法的优势和局限。(信息意识)2.通过体验身边的算法,了解算法的特征和效率。(计算思维)3.在问题情境中,能够利用信息科技开展数字化学习与交流,合作解决学习问题。(数字化学习与创新)【学情分析】本课的学习者是小学六年级的学生,学生的认知发展正处于从具象思维到抽象思维的过渡时期。学生已经知道同一问题可以存在多种算法,但对算法
3、评价的方法并不清楚。 预测在本课的学习中,对于估算循环执行的次数,问题不大,但是在修改程序验证循环的执行次数时,学生会遇到困难。【设计构想】教法:如果直接采用讲解演示的方法,虽然学生也能大致了解知识点,但是会缺少很多源自身的体验与理解,缺失了从学生本位出发的思考。所以我通过创设情境,采用实验教学法,通过引导学生分析、记录、对比用顺序查找、二分查找解决猜数字游戏时的循环执行次数,并通过修改程序进行统计。在实验过程中,引导学生通过探究发现不同算法的效率是有差异的,算法运行需要的时间与待求问题的规模有关。学法:引导学生进行主动探究与合作学习相结合的学习方法,重在引导学生学会学习。 思维导图:【教学环
4、境及资源准备】硬件:多媒体计算机网络机房软件:电子教室、顺序查找算法猜数字游戏程序、二分查找算法猜数字游戏程序资源:课件【教学活动设计】一、情境导入(3 分钟)1.课件出示童童放学回家的路线图2.请同学们仔细观察这张图,童童的家和学校之间隔着少年宫,学校到少年宫之间有 A、B 两条路, 少年宫到家之间有 C、D、E 三条路。童童从学校到家有 6 条路可以选,分别是 AC 、AD、AE、BC、BD、BE,你觉得哪 1 条路是最优的呢?说一说你的理由。3.学生思考回答。预设:BD 最优。4.提问:为什么 BD 最优呢?5.学生回答:BD 路径最短。设计意图:通过生活中常见的路径规划的情境,让学生思
5、考哪条路径最优,从而引出本课课题,引发学生思考,将生活中的真实情境与本课内容建立起认知关联。二、揭示课题(2 分钟)1.由此可见,解决 1 个问题的算法可以有多种,不同的算法有优有劣,刚才我们以最短作为童童回家路线最优的评价标准。那么在计算机科学中怎样来评判算法的优劣呢?2.揭题:今天我们就一起来学习第 9 课算法评价的方法3.教师板书课题:算法评价的方法4.教师讲授:好的算法首先要符合正确性和有效性要求,即能够有效解决问题,在此基础上算法执行的效率是非常重要的评判标准,如果 1 个算法执行所需要的时间更少,则被认为是更好的算法。较高的算法执行效率,即算法运行所消耗的时间较短。估算算法的运行时
6、间,可以在问题规模相同的情况下,将算法中循环语句的执行次数作为度量标准。我们可以用正确性、有效性、执行效率 3 个方面来评估算法的好坏。今天我们就一起来研究算法运行的时间即执行效率。5.教师板书算法评价的 3 个方面三、算法效率对比实验接下来,我们试着估算一下前面学过的猜数字游戏的算法运行时间。 1实验一:不同算法,相同规模,效率对比(25 分钟)(1)以顺序查找为例,估算次数课件出示下图。提问 1:前面 1 课我们学过顺序查找,用顺序查找算法在 1100 内查找目标数 37,比较的过程是怎样的?一共需比较多少次?1234363799100cai学生思考回答。预设: 依次将 1,2,3,,99
7、,100(cai)与目标数 37(da)进行比较,直到找到为止。课件出示用顺序查找算法在 1100 内查找目标数 37 的程序。提问 2:这个程序中的 while 语句执行了多少次呢?你是怎么想的?学生观察思考回答。预设:37 次,猜的数字每次加 1,等到 37 时,跟目标数一致,所以循环语句也执行了 37 次。小结:对的。上述程 序 在执行时, 变量cai 的数值决定了循环语句while 会执行的次数,当变量 cai 的值变为 37 时,while 语句总的执行次数为 37 次。设计意图:从第 6 课起围绕猜数字游戏进行主题式教学,前后保持连贯性,通过主题学习,促进深度学习。学生的认知发展正
8、处于从具象思维到抽象思维的过渡时期,通过回顾前一课内容,将旧知与新知建立关联,让学生探究发现顺序查找中 cai 的数值决定了 while 循环语句执行的次数,体现了以生为本的课堂理念。(2)修改程序,验证预测提问:我们能不能通过修改程序,统计 while 语句执行的次数呢?怎么修改? 学生讨论回答:增加 1 个变量来统计 while 语句的执行次数,并显示数值。教师小结:是的,通过在循环中增加显示计次变量的指令,我们就可以清楚地看到程序循环执行的次数,可以用这个次数来大概地评估算法的时间复杂度。打开桌面上的顺序查找程序,尝试修改,教师巡视指导。 请学生演示讲解。设计意图:通过阅读、理解、修改运
9、行程序,让学生体验计算机程序,进而验证自己的预测,培养数字化学习与创新素养。(3)以二分查找为例,估算次数提问 1:刚才我们研究的是顺序查找,你知道猜数字游戏的另外一种查找算法是?它是一种取中间数查找的算法。那么同样是在 1100 范围内查找数 37,查找的过程是怎样的?课件出示二分查找过程的图示,师生共同回顾二分查找的过程。 在 1100 范围内查找目标数 37 的过程如下所示:124950519899100cai第一次比较:3725,范围调整为 26492627363738474849cai第三次比较:37=37,查找成功学生观察思考回答。预测:1100 范围内的数是依次增加的,可依次取中
10、间数来查找。先取 1100 的中间数 50 与目标数比较,若目标数等于 50,则查找成功;若目标数小于 50,则取 149 的中间数 25 与目标数比较;若目标数大于 50,则取 51100 的中间数 75 与目标数比较如此反复,直到找到为止。提问 2:用二分查找算法在 1100 内查找目标数 37 的程序如图所示,这里的 while 语句执行了多少次呢?你是怎么想的?学生观察思考回答。预设:中间值依次取 50、25、37,也就是说循环只需执行 3 次。设计意图:通过回顾前 1 课内容,将旧知与新知建立关联,让学生自己去发现二分查找中取中间数的次数决定了 while 循环语句执行的次数,体现了
11、以生为本的课堂理念。(4)修改程序,验证预测提问:循环执行的次数是不是真如我们预测的一样呢?能不能也通过修改程序统计 while 语句执行的次数呢?学生回答。教师小结:是的,也可以。怎么修改?学生讨论回答。预测:增加 1 个变量来统计 while 语句的执行次数,并显示数值。师小结:是的,通过在循环中增加显示计次变量的指令,我们就可以清楚地看到循环执行的次数,可以用这个次数来大概地评估算法的时间复杂度。学生尝试修改程序,教师巡视指导。请学生演示讲解或教师演示讲解。设疑:同样是在 1100 范围内查找目标数 37,二分查找与顺序查找相比,循环少执行 34 次,显然运行时间更短。这样是不是就能确定
12、二分查找的算法就优于顺序查找呢?请学生思考讨论回答。预设 1:不一定。比如查找数字 1,顺序查找 1 次就能找到,而二分查找不止 1 次。预设 2:我感觉是的,比如查找数字 50,顺序查找得 50 次,而二分查找 1 次就找到了。教师小结:我觉得就这么下结论不够严谨,1 个样例不能说明问题。接下来我们以几个比较有代表性的目标数作为查找的对象,估算循环执行的次数。设计意图:通过阅读理解、修改运行程序,让学生体验计算机程序,进而验证自己的预测。通过设疑, 引发学生的讨论,培养学生思维的缜密性,为后面的实验练习埋下伏笔。(5)实验记录,探究释疑请把书翻到第 42 页,在 1100 范围内,分别采用顺
13、序查找和二分查找算法查找目标数 1、50 和 100, 估算循环的执行次数,学生完成练习,教师巡视指导。 课件出示答案校对,如有困难讲解目标数查找算法循环执行次数1顺序1二分650顺序50二分1100顺序100二分7提问:从上表中我们可以得到什么结论? 学生观察思考讨论回答。预设 1:查找同 1 个目标数,顺序查找的循环执行次数跟二分查找不一样。预设 2:有时候顺序查找快,有时候二分查找快。预设 3:顺序查找用的平均次数比二分查找用的平均次数多。教师予以鼓励和肯定,保持学生的学习积极性。教师小结:解决同一个问题的不同算法,在执行时的运行时间是有一定差异的。对于猜数字游戏中三个有代表性的目标数,
14、顺序查找的平均循环执行次数比二分查找的平均循环执行次数多,由此我们可以判断,对于猜数字游戏这个问题,二分查找算法要优于顺序查找。教师板书:不同算法解决同一问题时在时间效率上有差别。设计意图:学生通过填写实验单,再经过观察讨论辨析,培养学生探索发现规律,让学生对不同算法解决同一问题在时间效率上的差别有深刻的体验,促进深度学习。2实验二:同一算法,不同规模,效率对比(5 分钟)提问 1:接下来我们一起进入第 2 个实验,如果我们將查找的范围从 1100 改成 11000 范围内查找目标数 37,估算二分查找算法循环执行的次数是多少呢?学生估算反馈,教师验证。查找的过程如下:执行第1次循环在1 10
15、00 之间寻找,中间数是 500执行第2次循环在1 499 之间寻找,中间数是 250执行第3次循环在1 249 之间寻找,中间数是 125执行第4次循环在1 124 之间寻找,中间数是 62执行第5次循环在1 61 之间寻找,中间数是 31执行第6次循环在32 61 之间寻找,中间数是 46执行第7次循环在32 45 之间寻找,中间数是 38执行第8次循环在32 37 之间寻找,中间数是 34执行第9次循环在35 37 之间寻找,中间数是 36提问 2:通过这个实验,你们有什么发现?学生思考回答。预测:同样查找目标数 37,循环执行的次数由原来的 3 次变成了 10 次,循环体执行的次数不一
16、样了。追问:为什么会出现不一样的结果?学生回答。预测:因为查找的范围发生了变化。教师小结:对于猜数字游戏,我们把查找的范围由原来的 1100,调整为 11000,这是问题规模发生了变化,结果显示循环执行次数有差别。一般情况下,算法运行需要的时间与待求问题的规模有关。教师板书:算法中循环语句的执行次数与问题的规模有关。设计意图:“问题规模”原本是个抽象的概念,通过这个例子,使学生对“问题规模”这个概念有更加深刻的理解。四、自我评价(5 分钟)1.问卷星“自我评价”问卷(1)算法的评价标准有哪些?(2)猜数字游戏中用顺序查找算法在 1100 内查找目标数 85,需查找多少次?(3)猜数字游戏中用二分算法在 1100 内查找目标数 85,需查找多少次?(4)猜数字游戏中用二分算法在 11000 内查找目标数 85,需查找多少次?2.通过今天的学习,你学到了什么?板书设计:
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。