1、第31课百元买百鸡学习目标巩固与扩展项目讨论逻辑编程12341今有鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?看一下“聪明猫”怎么通过编程的思维解决这道经典问题吧!234巩固“加减乘除”、“舞台背景编号”、“重复执行”、“如果那么”等脚本学习灵活使用“建立变量”、“重复执行直到”、“连接”、“建立列表”、等脚本综合应用所学脚本完成编程项目并扩展新脚本:巩固脚本:1.本节课用到的角色2.本节课用到的背景cat百钱买百鸡空白背景1.公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?2.可能有几种方法计
2、算出公鸡数量,母鸡数量和小鸡数量?3.一共设置了几个变量?5.咦,小猫为什么这么聪明呢?著名的“百钱买百鸡”问题,一会儿老师会详细讲解至少一种,用咱们的程序直接就可以得出结果5个,钱,数量,公鸡数量x,母鸡数量y和小鸡数量z因为它学过百钱买百鸡这个题目了,并且他也会编程百钱买百鸡4.一共设置了几个列表?1个,是“答案”列表1.百钱买百鸡讲解1.百钱买百鸡问题翻译:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。百鸡问题是一个数学问题,出自中国古代约56世纪成书的张邱建算经,该问题导致三元不定
3、方程组,其重要之处在于开创“一问多答”的先例。公鸡数量x公鸡数量y小鸡数量z2.新建变量以及列表1.新建变量与列表公鸡母鸡小鸡新建5个变量和一个答案的列表3.题目解析1.题目解析如果用数学的方法解决百钱买百鸡问题,可将该问题抽象成方程式组。设公鸡x只,母鸡y只,小鸡z只,得到以下方程式组:A:5x+3y+1/3z=100B:x+y+z=100C:0x1005D:0y1003E:0z100(1/3)等你们长大了,可以求解这个不定方程+100=3+1/3100=+5+数量是100钱是1004.初始化程序1.给变量赋值列表是存放许多变量的一个容器,可以存储或者获得容器
4、中每一个变量的值。它就像有许多抽屉的梳妆台一样,每个抽屉都存放物品列表的删除操作4.初始化程序1.清空列表5.方法一1.解题思路C:0x100/5D:0y100/3E:0z100/(1/3)(1)三层循环找满足两个方程组的x、y和z值;(2)先固定公鸡x的数量;(3)对于每个新的x,母鸡数量y从0开始,一直循环到(钱/5)次;(4)母鸡数量y从0开始,对于每个y值,小鸡数量z从0开始,一直循环到钱/(1/3)次三层循环给定“x”、“y”、“z”变量的范围,确定重复执行次数公鸡数目X的循环次数母鸡数目y的循环次数小鸡数目z的循环次数5.方法一1.解题思路2.迭代运算判断判
5、断是否满足数量和价钱的两个方程式4.方法一2.找到答案的程序连接字符串,得到“公鸡有x只,母鸡有y只,小鸡有z只”列表的添加操作,将结果写入答案4.方法一方法一完整程序(x,y,z三层循环)4.方法一3.方法一程序汇总5.方法二1.解题思路(1)设公鸡为x,母鸡为y,小鸡为z,可以得出如下的不定方程:x+y+z=100,5x+3y+z/3=100,(2)下面再看看x,y,z的取值范围:由于只有100文钱,则5x0x20,同理0y33,那么z=100-x-y,对应程序为0x200y33z=100-x-y三个变量降为两个变量此时,只有“总钱数等于100”一个判断条件:简化
6、为公鸡x和母鸡y的两个循环,小鸡z用x和y来表示5.方法二1.解题思路如果满足,则写入答案列表只需给定“x”、“y”变量的范围,变量z用x和y表示5.方法二2.逻辑编程此时只需判断是否满足价钱的一个方程式5.方法二3.迭代运算判断4.找到答案的程序连接字符串,得到“公鸡有x只,母鸡有y只,小鸡有z只”列表的添加操作,将结果写入答案5.方法二方法二完整程序(x和y两层循环)5.方法二程序5.方法二6.方法三1.解题思路方法三与方法二类似,简化为公鸡x和母鸡y的两个循环,小鸡z用x和y来表示。不同之处为,采用“重复执行直到”命令代替“重复执行()次”命令两重“重复执行直到”循环。Z使用x和y来表示
7、6.方法三1.解题思路方法三与方法二类似,简化为公鸡x和母鸡y的两个循环,小鸡z用x和y来表示。不同之处为,采用“重复执行直到”命令代替“重复执行()次”命令“重复执行直到”命令,其中填入跳出条件“重复执行()次”命令,其中最大次数X的跳出循环条件Y的跳出循环条件6.方法三2.找到答案时与之前相同,列表的添加操作,如果满足,则写入答案列表6.方法三3.方法三完整程序Q1:明明给小猫编程,编写了这样的程序,没有得到正确答案是为什么呢?A1:开头少了运行小绿旗命令。QA(1)(2)等式和不等式的混合使用,巩固学习拼接复杂编程积木块儿,巩固学习相应的数学原理用重复执行直到命令时,要特别注意跳出循环条件的写法知识点巩固许多(1)知识点巩固列表的使用列表是存放许多变量的一个容器,可以存储或者获得容器中每一个变量的值。它就像有