义务教育版(2024)五年级全一册第21课《鸡兔同笼巧计算》课件(共26张PPT)

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

义务教育版(2024)五年级全一册第21课《鸡兔同笼巧计算》课件(共26张PPT)

资源简介

(共26张PPT)
义务教育信息科技(2024)五年级          
第1课时
第六单元 快速遍历数据
五年级下册
第21课 鸡兔同笼巧计算
单元导入
通过枚举遍历所有数据是一种简单直接的数据查找方法。
单元导入
本单元的遍历主要指将问题所有可能的数据都通过枚举法查找出来。在枚举过程中,检查每个结果是否是当前问题的正确答案。如果是,则问题解决完成;如果不是,则继续枚举,直到所有可能的数据都被访问和检查完成。
单元导入
在进行归纳推理时,如果逐个考查了某类事件的所有可能情况后得出一般性结论,那么该结论通常是可靠和稳定的。遍历是一种访问数据、处理数据的方法,在算法实现中,可以用于搜索、排序、过滤等操作。
1
2
了解鸡兔同笼问题的求解方法,能通过表
格列出数量变化,发现其中的规律。
感受遍历法的应用,能看懂鸡兔同笼问题
的算法流程图,了解算法与程序的对应关系。
学习目标
第21课 课堂导入
我国古代典籍《孙子算经》中记载了许多有趣的问题,其中就有“鸡兔同笼”问题。书中是这样描述的:“今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何 ”
意思是:有若干只鸡和兔关在同一个笼子里。从上面数,有35个头。从下面数,有94只脚。这个笼子里的鸡和兔各有多少只
一起用算法来求解这道题吧!
经典趣题
第21课 学习活动
一 用数学算式求解鸡兔同笼问题
三 编程验证鸡兔同笼问题
二 用枚举法求解鸡兔同笼问题
学习活动
一、用数学算式求解鸡兔同笼问题
为了便于理解,我们先把原问题的数量减少为:
今有鸡兔同笼,上有6头,下有18足,问鸡兔各几何?
缩小问题规模
第21课 学习活动
方法1:假设6只全部是兔。
  如果全部是兔,那么6只兔一共有24只脚,实际上只有18只脚,于是需要减少6只脚,即24 – 18 = 6。这样,自然就是3只兔和3只鸡。
减少6只脚
鸡:(6×4 – 18)÷2 = 3(只) 兔:6 – 3 = 3(只)
一、用数学算式求解鸡兔同笼问题
解法分析
第21课 学习活动
方法2:假设6只全部是鸡
  如果全部是鸡,那么一共有6×2 = 12只脚,实际上有18只脚,于是少了6只脚,即18 – 12 = 6。需要把6只脚添加上,自然就是3只兔和3只鸡。
兔:(18 – 6×2)÷2 = 3(只) 鸡:6 – 3 = 3(只)
一、用数学算式求解鸡兔同笼问题
解法分析
第21课 学习活动
方法1:假设全部是兔。
  鸡:( 35×4 – 94)÷2 = 23(只)
兔: 35 – 23 = 12(只)
  方法总结:鸡的数量 =(总头数×4 – 总脚数)÷ 2
一、用数学算式求解鸡兔同笼问题
还原问题规模
第21课 学习活动
今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?
方法2:假设全部是鸡。
兔:(94–35×2)÷2 = 12(只)
鸡:35–12 = 23(只)
  方法总结:兔的数量 =(总脚数–总头数×2)÷ 2
一、用数学算式求解鸡兔同笼问题
第21课 学习活动
还原问题规模
1.先假设35只都是鸡,算出脚的数量。
2.如果数量不符合,则减一只鸡、增加一只兔,再计算脚的数量。
3.如此循环遍历,直到找到正确的鸡和兔数量,即23只鸡和12只兔。
枚举遍历数据
二、用枚举法求解鸡兔同笼问题
第21课 学习活动
鸡 35 34 33 32 31 30 29 28 27 26 25 24 23
兔 0 1 2 3 4 5 6 7 8 9 10 11 12
脚 70 72 74 76 78 80 82 84 86 88 90 92 94
列表显示数据变化过程
第21课 学习活动
二、用枚举法求解鸡兔同笼问题
  第1步:初始化鸡的数量“a = 35”和兔的数量“b = 0”。
  第2步:计算脚的数量“c = a×2 + b×4”。
  第3步:把脚的数量与94进行比较。如果不相等,将鸡的数量减1,将兔的数量加1,并回到第2步继续循环;如果相等,则输出当前鸡的数量和兔的数量,结束循环。
算法描述
第21课 学习活动
二、用枚举法求解鸡兔同笼问题
算法描述
第21课 学习活动
二、用枚举法求解鸡兔同笼问题
流程图描述。
  如果先假设35只都是兔,用枚举法遍历相应数求解时,应该对算法进行哪些调整?
进一步思考
第21课 学习活动
二、用枚举法求解鸡兔同笼问题
  以上用枚举法求解问题时,每一步都简单而且相似,让人来做显得笨拙单调。但计算机不怕重复、单调,而且它的计算速度非常快。这样的方法正好适合用循环结构来实现。  
第21课 学习活动
方法分析
三、编程验证鸡兔同笼问题
  要编程解决鸡兔同笼问题,较简单的方法就是:
利用循环结构对鸡和兔的数量逐个遍历,即先假设兔的数量为0,通过不断增加兔的数量和减少鸡的数量,来逐步逼近正确答案。
第21课 学习活动
运行程序
a = 35
b = 0
while True:
c = a*2+b*4
if c == 94:
print('鸡的数量:', a)
print('兔的数量:', b)
break
else:
a = a-1
b = b+1
三、编程验证鸡兔同笼问题
#设置鸡数量的初始值a
#设置兔数量的初始值b
#用循环结构进行控制
#计算脚的数量
#比较c的值是否等于94
#输出获得的结果
#结束循环
#鸡的数量减少1只
#兔的数量增加1只
第21课 学习活动
程序分析
程序用while True语句构成一个无限循环,表示循环体内的代码会不断地重复执行,直到循环体内出现某种能够终止循环的指令,这里使用了break语句来终止循环。
利用if……else……语句作为判断脚的数量是否等于94的条件。如果相等,就输出正确答案并通过break语句退出循环。否则,将鸡的数量减少1只,兔的数量增加1只,继续循环。
==是比较运算符“等于” ,c==94表示判断变量c的值是否等于94。
三、编程验证鸡兔同笼问题
计算机解题的过程与人解题过程存在很多差异。很多时候,人与计算机往往用不同方法解决问题。对于人来说比较简单的方法,对于计算机可能难以实现。同样的,对计算机来说比较简单的方法,人很可能无法完成。
我们用计算机解决问题时,要充分考虑计算机的运算特点。
第21课 学习活动
三、编程验证鸡兔同笼问题
方法总结
1.解决一个计算问题时,可以用自己学过的数学方法来求解,也可以依据运算规则设计算法来让计算机求解。
2.枚举法是将问题的所有可能都逐个进行列举。在列举的过程中,遍历每个数据是否是问题的正确答案。如果是,则问题解决完成;如果不是,则继续列举,直到所有可能都被查看。
第21课 课堂总结
第21课 拓展与提升
  1.韩信是我国历史上很有领兵能力的一名将领。在民间流传着这样的一个故事。
  
那么,在知道了这三次布阵的结果后,韩信是如何算出到底有多少名士兵呢?如何设计算法让计算机来找出这个数?
  有一次,汉军统帅韩信带1 500名勇士与楚军交战,战死四五百人。为了再战,韩信快速地清点了人数,他要求3人一排站队,结果多出2人;5人一排站队,多出4人;7人一排站队,又多出6人。韩信马上宣布,我军有1 049名勇士。汉军本来就信服韩信,这一来更相信他有神机妙算。于是士气大振,一鼓作气,击败楚军。
2.在一千多年前的《孙子算经》中,也记录着这样一道算术题:今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?
用现代汉语描述这道题就是:现有一些不知道数量的物品,3个一组数剩余2个,5个一组数剩余3个,7个一组数剩余2个,这些物品的数量是多少?
尝试描述求解这个问题的算法,找到100至1 000之间符合条件的物品数量。
第21课 拓展与提升
下课啦!

展开更多......

收起↑

资源预览