内容正文:
第6单元 快速遍历数据
鸡兔同笼巧计算
第21课
人教版·五年级
学习目标
01
课堂导入
02
新知探究
03
知识总结
04
智慧挑战
05
兴趣园地
06
目录
CONTENTS
2
PART 1
学习目标
了解鸡兔同笼问题的求解方法,能通过表
格列出数量变化,发现其中的规律。
学习目标
感受遍历法的应用,能看懂鸡兔同笼问题
的算法流程图,了解算法与程序的对应关系。
PART 2
课堂导入
课堂导入
我国古代典籍《孙子算经》中记载了许多有趣的问题,其中就有“鸡兔同笼”问题。书中是这样描述的:今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?
鸡兔同笼
这段话的意思是:有若干只鸡和兔关在同一个笼子里。从上面数,有35 个头。从下面数,有 94 只脚。这个笼子里的鸡和兔各有多少只?
PART 3
新知探求
新知探究
学习活动1
活动1:用数学算式求解鸡兔同笼问题
新知探究
学习活动1 用数学算式求解鸡兔同笼问题
情境分析
为了便于理解,先把原问题的数量减少为:今有鸡兔同笼,上有6头,下有18足,问鸡兔各几何?
提示:这里的 6 个头,表明是 6 只鸡或兔。
求解鸡兔各多少只?
新知探究
方法1:假设 6 只全部是兔
如果全部是兔,那么 6 只兔一共有 24 只脚,实际上只有 18 只脚,于是需要减少 6 只脚,即 24-18 = 6。这样,自然就是 3 只兔和 3 只鸡。
鸡:(6×4 - 18)÷2 = 3(只) 兔:6 - 3 = 3(只)
学习活动1 用数学算式求解鸡兔同笼问题
新知探究
方法2:假设 6 只全部是鸡
如果全部是鸡,那么一共有 6×2 = 12 只脚,实际上有 18 只脚,于是少了 6 只脚,即 18-12 = 6。需要把 6 只脚添加上,自然就是 3 只兔和 3只鸡。
兔:(18 - 6×2)÷2 = 3(只) 鸡:6 - 3 = 3(只)
学习活动1 用数学算式求解鸡兔同笼问题
新知探究
还原问题的求解:
今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?
讨论
学习活动1 用数学算式求解鸡兔同笼问题
方法 1 :假设 35 只全部是兔
鸡:(35×4 - 94)÷2 = 23(只)
兔: 35 - 23 = 12(只)
方法总结:
鸡的数量 =(总头数 ×4 - 总脚数)÷2
方法 2 :假设 35 只全部是鸡
兔:(94 - 35×2)÷2 = 12(只)
鸡: 35 - 12 = 23(只)
方法总结:
兔的数量 =(总脚数 - 总头数 ×2)÷2
新知探究
学习活动2
活动2:用枚举法求解鸡兔同笼问题
新知探究
列表显示数据变化过程
先假设35只都是鸡,计算出脚的数量;如果数量不符合,则减一只鸡,增加一只兔,再计算脚的数量;如此循环遍历,直到找到正确的鸡和兔数量:23只鸡和12只兔。
每一步都很简单而且相似,让人来做显得很笨拙单调。
学习活动2 用枚举法求解鸡兔同笼问题
新知探究
“鸡兔同笼”算法描述:
第 1 步:初始化鸡的数量“a = 35”和兔的数量“b = 0”。
第 2 步:计算脚的数量“c = a×2 + b×4”。
第 3 步:把脚的数量与 94 进行比较。如果不相等,将鸡的数量减 1,将兔的数量加 1,并回到第 2 步继续循环;如果相等,则输出当前鸡的数量和兔的数量,结束循环。
35
a-1
b+1
补充流程图
进一步思考:如果先假设 35 只都是兔,用枚举法遍历相应数求解时,
应该对算法进行哪些调整?
学习活动2 用枚举法求解鸡兔同笼问题
0
a*2+b*4
新知探究
活动3:编程验证鸡兔同笼问题
学习活动3
新知探究
a = 35 # 设置鸡数量的初始值a
b = 0 # 设置兔数量的初始值b
while True: # 用循环结构进行控制
c = a*2+b*4 # 计算脚的数量
if c == 94: # 比较c的值是否等于94
print(' 鸡的数量 :', a) # 输出获得的结果
print(' 兔的数量 :', b)
break # 结束循环
else:
a = a-1 # 鸡的数量减少1只
b = b+1 # 兔的数量增加1只
程序编写是算法转化为代码的过程,在Python中需要依据语法规则,准确输人名称、符号等,并保持正确的缩进方式。
学习活动3 编程验证鸡兔同笼问题
运行以下程序,用循环结构实现,通过不断增加兔的数量和减少鸡的数量,逐步接近正确答案。
PART 4
知识总结
知识总结
用数学算式求解鸡兔同笼问题
方法 1 :假设 35 只全部是兔。
方法2 :假设 35 只全部是鸡。
编程验证鸡兔同笼问题
while True 语句循环与 break 语句
枚举法遍历
排用枚举法求解鸡兔同笼问题
列表显示数据变化过程
算法描述
PART 5
智慧挑战
2.在“鸡兔同笼”问题的列表求解过程中,我们发现:每减少1只鸡,增加1只兔,脚的总数会如何变化?A. 增加1只
B. 增加2只
C. 减少1只
D. 减少2只
1.“鸡兔同笼”问题的遍历算法中,我们让鸡的只数从0变到总头数,这体现了什么思想?
A. 随机尝试
B. 逐一尝试所有可能情况,直到找到答案
C. 直接计算
D. 猜测验证
智慧挑战
智慧挑战
解析:遍历法(也叫穷举法)就是系统地尝试所有可能的情况,从中找到满足条件的解。
答案:B
解析:鸡有2只脚,兔有4只脚。当减少1只鸡(减少2只脚)并增加1只兔(增加4只脚)时,脚的总数变化是:-2+4=+2,即增加2只脚。
答案:B
PART 6
兴趣园地
兴趣园地
韩信点兵
汉军统帅韩信带 1 500 名勇士与楚军交战,战死四五百人。为了再战,韩信快速地清点了人数,他要求 3 人一排站队,结果多出 2 人;5人一排站队,多出 4 人;7 人一排站队,又多出 6 人。韩信马上宣布,我军有 1 049 名勇士。汉军本来就信服韩信,这一来更相信他有神机妙算。于是士气大振,一鼓作气,击败楚军。
参考方法:
(数学方法)一个数,除以3,余2;除以5,余4;除以7,余6。以从 1000 开始,一个数一个数地尝试。
思考:韩信是如何算出到底有多少名士兵呢?
运行参考程序,士兵人数:1049
兴趣园地
“剩余定理”问题
在一千多年前的《孙子算经》中,也记录着这样一道算术题:今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?
用现代汉语描述这道题就是:现有一些不知道数量的物品,3 个一组数剩余 2 个,5 个一组数剩余 3 个,7 个一组数剩余 2 个,这些物品的数量是多少?
参考方法:
利用枚举法遍历相应的数据,就可以求解这个问题。
其中,三个判断条件如下:
这个数除以 3 的余数是否等于 2;
这个数除以 5 的余数是否等于 3;
这个数除以 7 的余数是否等于 2。
运行参考程序,符合条件的物品数量是:
128, 233, 338, 443, 548, 653, 758, 863, 968 这9个数
尝试描述求解这个问题的算法,找到 100 至 1 000 之间符合条件的物品数量。
谢谢
下节课见!
Thanks!
人教版·五年级
$