义务教育版(2024)五年级全一册第14课《算法效率比一比》课件(共24张PPT)

资源下载
  1. 二一教育资源

义务教育版(2024)五年级全一册第14课《算法效率比一比》课件(共24张PPT)

资源简介

(共24张PPT)
义务教育信息科技(2024)五年级          
第1课时
第四单元 发挥算法的优势
五年级上册
第14课 算法效率比一比
1
2
知道解决同一个问题可以有不同的算法,不同的算法具有不同的效率。
.通过实例比较和算法分析,了解算法执行的关键步骤和执行次数,体会算法存在的效率差异。
学习目标
第14课 算法效率比一比
这一课以简单的累加运算为例,了解用不同算法解决同一问题的过程,认识其中存在的效率差异。
第14课 课堂导入
  一堆物体摆放如左图所示,要统计有多少个,你能想到哪些方法?
  这些方法有什么不同呢?
问题情境
第14课 学习活动
三 感受不同算法的运算效率
二 累加运算的效率分析
学习活动
用不同方法统计物体数量

一、用不同方法统计物体数量
  要统计下图所示物体的个数,常用的有两种方法。
  第一种算法
观察发现,物体共10层,从上到下,每层分别是1至10个。把物体逐层进行累加,就可以获得物体个数。
   1+2+3+4+5+6+7+8+9+10=55
第14课 学习活动
方法对比
观察图形,发现可以用前面学习过的方法,即利用正反放置的两个梯形组成平行四边形,通过求平行四边形中物体的个数来计算。
平行四边形中物体个数 = 每层个数×层数
           = (1+10)×10 = 110个
梯形中物体个数 = 平行四边形中物体个数÷2
        = 110÷2 = 55个
第14课 学习活动
第二种算法
一、用不同方法统计物体数量
方法对比
依据上述计算方法,可以总结得到求解一组连续自然数累加之和的公式。
  累加的和 =(第一个数+最后一个数)×数的总个数÷2
例如,自然数从1到n的累加之和可以表示为:
s = ( 1 + n )* n / 2
因此,s = ( 1 + n ) * n / 2
    = ( 1 +10 ) *10 / 2
= 55
第14课 学习活动
一、用不同方法统计物体数量
第二种算法
方法对比
通过比较发现:算法1简单直观,易于理解,算法2所用的步数较少,计算起来更快。
  通过求“1+2+3+…+10”的两种不同算法,说明解决同一个问题时,不同的算法会有不同的步骤,也就可能存在不同的效率。
第14课 学习活动
一、用不同方法统计物体数量
方法对比
  通常,用计算机解决问题时会用以下两种方法来比较算法的效率。
一是比较算法运行所需要的时间。
二是比较算法运行时所需的步数或者占用的资源。
二、累加运算的效率分析
第14课 学习活动
算法效率比较的方法
  但是,如何衡量计算机在运行程序时所需的时间、执行的步数、占用的内存等,目前没有统一的准则,所以通常选择比较其中的一个方面。
下面主要从时间上来进行分析。
  大家听过数学家高斯小时候计算“1+2+3+…+100”的故事吧?高斯使用第二种算法很快给出了答案,比所有其他孩子的速度都快。 
时间对比
第14课 学习活动
  我们先来做一个“合理假设”:如果做1 次加法用时1秒、做1次乘法用时10秒、做1次除法用时15秒。
二、累加运算的效率分析
高斯怎么做的呢? 
  用第一种算法计算:
  需要计算约99次加法,这样即使每次加法只用1秒,而且每次中间相加的结果都正确,最终也需要大约99秒的时间才能计算出结果。  
第14课 学习活动
时间对比
二、累加运算的效率分析
  用第二种算法来计算:
只需要1次加法(即100 + 1)、1次乘法(即101×100)和1次除法(即除以2),需要约1+10+15 = 26 秒。  
  单从计算步骤和时间上看,第二种算法似乎比第一种更高效。这就是在“合理假设”前提下,高斯比其他同学算得更快的一种解释。
第14课 学习活动
时间对比
二、累加运算的效率分析
但是,问题并没有那么简单。
因为做乘法和除法时,通常比做加法需要更长的时间。
因此,如果以上“合理假设”并不成立。比如,如果做1次乘法或1次除法都需要50秒,那么用第二种算法所需时间就会变成1+50+50=101秒。 
第14课 学习活动
时间对比
二、累加运算的效率分析
  通过上述分析可知,从让计算机解决问题的角度看,要准确地比较两个算法究竟哪个更高效,往往比我们预想的要难很多。通常需要从数据量、步骤多少、所需时间等方面综合考虑。
  在设计算法用计算机解决问题时也是如此,通常需要经过多次的比较、实验与探索来获得结论。
第14课 学习活动
时间对比
二、累加运算的效率分析
第14课 学习活动
三、感受不同算法的运算效率
运算效率比较
解决同一个问题通常可以用不同的算法,选择不同算法并编程实现后,程序一般会在运算速度、计算精度等方面有不同的表现。
下面通过用程序验证上述累加运算的两种算法,体会算法的效率差异以及不同程序实现引起的差异。
“累加1.py”程序是用算式直接累加与用公式累加的对比。
“累加2.py”程序是用循环结构实现累加与用公式累加的对比。
第14课 学习活动
三、感受不同算法的运算效率
运算效率比较
操作步骤如下。
第1步:打开配套资源中的“累加1.py”程序,运行这个程序。
第2步:输入要重复执行的次数,观察运行结果。例如,分别输入500、1 000、10 000、100 000等,对比两种算法所用的时间。
第3步:打开配套资源中的“累加2.py”程序,运行这个程序。
第14课 学习活动
三、感受不同算法的运算效率
运算效率比较
第4步:输入要重复执行的次数,观察运行结果。例如,同样分别输入500、1 000、10 000、100 000等。
第5步:尝试用更多更大的数进行反复实验。这样经由多次数值实验得出的结论会更加趋于稳定,也更加可靠。
第6步:依据运行结果,对算法与程序实现的效率进行总结。
1.解决同一个问题时,不同的算法会有不同的步骤,也就存在不同的效率。
2.用计算机解决问题时,通常会从执行步骤、执行时间、内存占用等方面比较算法的效率。
3.有些人计算起来较困难的问题,可以尝试通过算法利用计算机来解决,充分发挥计算机的计算速度和存储能力优势。
第14课 课堂总结
计算圆周率的效率比较。
圆周率作为数学中的一个重要常数,其更多位数的精确值求解一直是数学家们所追求的。我国南北朝时期的数学家祖冲之,经过刻苦钻研和反复演算,推算出圆周率π的值在3.1415926和3.1415927之间,这一结果在当时已经非常精确。祖冲之通过其卓越的数学才能和不懈的努力,为数学的发展作出了重要贡献。
配套资源中有两个计算圆周率的程序,打开这两个程序并运行,对比计算圆周率的效率。
第14课 拓展与提升
提示:两个程序分别采用了两种不同的算法。
算法1
17世纪,有学者找到了一种计算圆周率的方法。根据这个方法,只要计算足够多的数据项,就可以获得圆周率的近似值。
算法2
很多年后,又有学者提出了另一种计算圆周率的方法。同样,只要计算足够多的数据项,也可以得到圆周率的近似值。
第14课 拓展与提升
提示:
运行第一个程序时需要的时间稍长,计算出来的圆周率精确到了3.1415左右。运行第二个程序时几乎可以立刻得到计算结果,计算出来的圆周率的精确位数也更多。因此,依据算法2编写的程序,所需计算时间更短、计算结果更精确,效率更高。实际上,第二个程序中的公式每多循环一次,通常可以多得到一位精确数字。
第14课 拓展与提升
下课啦!

展开更多......

收起↑

资源预览