所属成套资源:人教版(2024)信息技术五年级全一册课件+教案
人教版(2024)信息技术五年级全一册第14课《算法效率比一比》课件+教案
展开第14课算法效率比一比单元主题学习目标同学们,老师要把 8 颗不同颜色的珠子串成漂亮的手链。一种办法是随便拿珠子串,串了不合适就拆了重新串;另一种是先按颜色排好序再串。你觉得哪一种更好呢?激趣导入学习活动一、用不同方法统计物体数量一堆物体摆放如下图所示,要统计有多少个,你能想到哪些方法?思考讨论一、用不同方法统计物体数量第一种算法:把物体逐层进行累加。第二种算法:观察图形,发现可以用前面学习过的方法,即利用正反放置的两个梯形组成平行四边形,通过求平行四边形中物体的个数来计算。 s = (1+n)* n / 2 =(1+10)*10/2 = 55学习活动一、用不同方法统计物体数量通过比较发现:算法 1 简单直观,易于理解,算法 2 所用的步数较少,计算起来更快。从前面的分析可知,通过求“1+2+3+…+10”的两种不同算法,说明解决同一个问题时,不同的算法会有不同的步骤,也就可能存在不同的效率。二、累加运算的效率分析通常,用计算机解决问题时会用以下两种方法来比较算法的效率。一是比较算法运行所需要的时间。二是比较算法运行时所需的步数或者占用的资源。下面主要从时间上来进行分析。二、累加运算的效率分析大家听过数学家高斯小时候计算“1+2+3+…+100”的故事吧?高斯使用第二种算法很快给出了答案,比其他孩子的速度都快。为什么会这样呢? 我们先来做一个“合理假设”:如果做 1 次加法用时 1 秒、做 1 次乘法用时 10 秒、做 1 次除法用时 15 秒。二、累加运算的效率分析用第一种算法计算:需要计算约 99 次加法,这样即使每次加法只用 1 秒,而且每次中间相加的结果都正确,最终也需要大约 99 秒的时间才能计算出结果。用第二种算法来计算:只需要 1 次加法(即 100 + 1)、1 次乘法(即 101×100)和 1 次除法(即除以 2),需要约 1+10+15 = 26 秒。因此,单从计算步骤和时间上看,第二种算法似乎比第一种更高效。二、累加运算的效率分析但是,问题并没有那么简单。因为做乘法和除法时,通常比做加法需要更长时间。因此,如果以上假设并不成立,比如,如果做 1 次乘法或 1 次除法都需要 50 秒,那么用第二种算法所需的时间就会变成 1 + 50 + 50 =101 秒 。通过上述分析可知,从用算法解决问题的角度看,要准确地比较不同算法的效率,往往比我们预想的要难很多。通常需要从数据量、步骤多少、所需时间等方面综合考虑。三、感受不同算法的运算效率解决同一个问题通常可以用不同的算法,选择不同算法并编程实现后,程序一般会在运算速度、计算精度等方面有不同的表现。下面通过用程序验证上述累加运算的两种算法,体会算法的效率差异以及不同程序实现引起的差异。“累加 1.py”程序是用算式直接累加与用公式累加的对比。“累加 2.py”程序是用循环结构实现累加与用公式累加的对比。1、计算 1+2+3+...+100 的和,以下哪种算法是可行的?( D ) A、依次相加:1+2=3,3+3=6,6+4=10,...,一直加到 100 B、利用等差数列求和公式:(首项 + 末项)× 项数 ÷2 C、先计算 1 到 50 的和,再计算 51 到 100 的和,最后将两部分和相加 D、以上都是单选题课堂练习2、在处理大数据量的问题时,选择高效的算法主要是为了?( B ) A、使程序看起来更高级 B、减少程序运行时间,提高处理速度 C、减少程序的代码量 D、增加程序的可读性单选题课堂小结尝试用两种算法计算 1 到 1000 的和。(例:一种算法是从 1 开始一个一个加,另一种可以用首尾相加再乘个数除以 2)。并思考哪一种算法效率更高?拓展提升课程结束
- 1.电子资料成功下载后不支持退换,如发现资料有内容错误问题请联系客服,如若属实,我们会补偿您的损失
- 2.压缩包下载后请先用软件解压,再使用对应软件打开;软件版本较低时请及时更新
- 3.资料下载成功后可在60天以内免费重复下载
免费领取教师福利