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