(
课件网) 第8课 算法的多样性 1 同一问题存在多种算法 一起学习 2 同一问题的多种算法验证 1 一起来讨论 1 一起来讨论 下图中,童童从学校到家有哪几条路可以走? 1 一起来讨论 1 一起来讨论 现实中,解决一个问题的算法往往具有多样性,即可用不同的算法来解决同一个问题。 例如,解决猜数字游戏问题,除了前面学过的算法外,还可以采用顺序查找和二分查找算法。 2 问题分析 2 问题分析 策略一:按顺序依次查找。 依次将1,2,3,···,99,100(或100,99,98,···,2,1)与da比较,直到找到为止。 2 问题分析 策略二:取中间数查找 1~100范围内的数是依次增加的,依据该有序性可依次取中间数来查找。先取1~100的中间数50与da比较,若da等于50,则查找成功;若da小于50,则取1~49的中间数25与da比较:若da大于50,则取51~100的中间数75与da比较··..··如此反复,直到找到为止。在1~100范围内查找目标数37的过程如下所示: 2 问题分析 2 问题分析 计算机中的“查找”指根据所给条件找出满足条件的对象,即在存储的一批数据内找出一个特定的数据,或者确定在这批数据内是否存在这样的数据。 2 问题分析 3 解决问题的多种算法设计 3 解决问题的多种算法设计 算法一:顺序查找。 假设目标数为37,并用变量da表示,取到的数用变量cai表示。 3 解决问题的多种算法设计 算法二:二分查找。 假设目标数为37,并用变量da 表示,计算得到的中间值用变量cai 表示,用变量cz 和zz 表示可取数的范围,初始查找范围为 1~100,则cz的初值为1,zz的终值为100。 任务二:查找算法流程图 1.掌握顺序查找和二分查找的算法流程图; 2.使用流程图软件draw.io绘制或补充流程图。 3 解决问题的多种算法设计 4 解决问题的多种算法验证 4 解决问题的多种算法验证 4 解决问题的多种算法验证 想一想: 上述程序中,若变量da的值为137,则程序运行结果是什么 若要显示对应提示,则应如何修改程序 4 解决问题的多种算法验证 4 解决问题的多种算法验证 算法二的流程图验证: 根据上述算法二的流程图,可通过表格的形式列出变量cz、zz和cai的值来验证该算法。 通过3次循环,找到数37 4 解决问题的多种算法验证 试一试: 若变量da的值为137,请用表格的形式列出变量cz、zz和cai的值 5 一起来练习 6 课堂总结 1.解决同一问题,可以采用不同的算法,体现了算法的多样性。 2.顺序查找,就是在一定的范围内依次查找符合条件的值,直到找到为止。 3.二分查找法,就是在一个有序的范围内,依次取中间数来查找,直到找到为止。 4.可通过编写程序验证、列出流程图的执行验证等多种方式验证算法《算法的多样性》教学设计 一、学习内容分析 《算法的多样性》是浙江教育-出卷网-《义务教育教科书信息科技》六年级上册第二单元《算法的效率》第1课。前面的学习中,已经介绍了利用算法解决问题的过程,问题分析、抽象与建模、设计算法、验证算法等过程来解决问题。为了让学生能体验多种算法解决同一个问题,本课将猜数字的过程看作“查找”问题,引入了两种查找策略,即按顺序依次查找和取中间数查找,分别对应顺序查找算法和二分查找算法。本课的练习活动主要是让学生讨论查找目标数、查找范围与查找顺序等要素。例如,在“想一想”栏目中,当目标数超出查找范围时,顺序查找算法如何优化?通过对该问题的思考,让学生意识到算法有待完善,逐步形成算法优化的意识。在“试一试”栏目中,当目标数超出查找范围时,二分查找算法的执行过程应该是怎样的?通过该问题的动手实践,让学生进一步理解二分查找算法的思想以及解决问题的过程。在“练习”栏目中,如果把顺序查找的顺序倒过来,相应算法和程序如何修改?通过 ... ...