您的位置是:少儿编程网>Scratch编程教程Scratch编程教程

冰城少儿编程:Scratch解决鸡兔同笼问题(2)

少儿编程网2019-08-13 15:38:53Scratch编程教程 人已围观 来源:冰城少儿编程 -用户投稿

简介上次我们用“砍足法”的算法编写了鸡兔同笼的Scratch程序,用“砍足法”的是实质是将已知的公式代入,而程序只是将公式用Scratch语言编写,输出我们想要的结果,这里的编程只起到了计算的作用。今天我们将通过循

冰城少儿编程:Scratch解决鸡兔同笼问题(2)dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

上次我们用“砍足法”的算法编写了鸡兔同笼的Scratch程序,用“砍足法”的是实质是将已知的公式代入,而程序只是将公式用Scratch语言编写,输出我们想要的结果,这里的编程只起到了计算的作用。今天我们将通过循环语句来编写解决鸡兔同笼问题的Scratch程序,从中我们会体会到更多的编程思想、编程逻辑。dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

在我给上二年级的儿子出了这道经典的“鸡兔同笼”问题时,他给出了不同寻常的解法,也可以说是比较笨的计算方法。dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

我们来看看这种方法:dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

因为鸡兔共有35个头,也就说明鸡和兔共有35只,那么如果假设鸡有1只,兔子的数量就是35-1=34(只),这时它们的脚一共有2x1+34x4=138(只),而题目中已知共有94只脚,显然我们的假设不成立。若鸡2只,则兔33只,那么脚共有136只;若鸡3只,则兔32只,那么脚共有134只.....这样一组一组地验证,当验证到鸡23只时,此时兔12只,我们求得脚共有94只,这是符合已知条件的,正是我们所要寻找的答案。那么是不是只有这一组数符合呢,我们需要继续验证,整个验证过程我们总结成一个表格:dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

冰城少儿编程:Scratch解决鸡兔同笼问题(2)dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

在验证过程中我们也考虑到了两种特殊的组合,那就是只有鸡或者只有兔的情况,我们的**后两组数据正是这两种特殊组合。所有的数据全部验证后我们得到**后的结果:鸡有23只,12只。dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

从上面的计算过程我们可以看出,这种做法需要进行大量的计算,如果我们用这种方法解题,将耗费大量的时间,所以人工解题是,我们不会运用这种方法。而计算机的有一个**大的特点就是运算速度快,这样的运算量对于计算机来说是轻而易举的。利用计算机的这一优势,我们今天来看一下用枚举法来解决“鸡兔同笼”问题。dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

通过上面对枚举法的算法分析,得出我们所需要的积木模块、变量大致和鸡兔同笼(一)相同,不同之处有以下几点:dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

1.利用枚举法时需要用到新的运算积木dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

2.利用枚举法时需要用到控制积木dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

4.利用枚举法时需要再建一个新的变量“sum”,用来记录每一组鸡兔组合所求得的脚数。这是一个临时变量,随着鸡、兔的数目变化而变化。dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

具体的解题步骤也同鸡兔同笼(一)中的步骤类似。dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

我们重点关注一下控制积木模块dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

冰城少儿编程:Scratch解决鸡兔同笼问题(2)dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

是一个可以重复执行的积木模块,在这个模块内的积木会按顺序依次执行,执行完**后一个积木后,就会返回到**个积木继续执行。红色圈内需要用的是运算积木,当运算积木成立时,整个积木模块停止运行。dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

冰城少儿编程:Scratch解决鸡兔同笼问题(2)dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

具体到我们这个题目中,每执行一次程序,鸡的数量就会加1,利用公式可以计算出兔的数量,然后计算出sum的值,比较sum和总脚数,如果不等,循环继续;如果相等,则结束循环,此时,我们所看到的变量鸡数和兔数就是我们的答案。dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

这样,我们利用枚举法解决了鸡兔同笼的问题。dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

下图中图1是我们编写的程序,图2是运算的结果:dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

冰城少儿编程:Scratch解决鸡兔同笼问题(2)dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

图1dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

冰城少儿编程:Scratch解决鸡兔同笼问题(2)dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

图2dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

今天我们用的枚举法算法编写了解决经典的”鸡兔同笼“问题Scratch3.0的程序。通过鸡兔同笼问题的两种不同的解法,相信大家对编程有了新的认识。dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

之后,我们还会推出一个系列”用Scratch3.0解决小学经典数学问题“。dc8少儿编程网-Scratch_Python_教程_免费少儿编程学习平台


相关文章:

支持一下 ( )

冰城少儿编程:Scratch解决鸡兔同笼问题(2)

      匿名评论
    • 评论
    人参与,条评论
    少儿编程网

客服在线

服务时间

周一至周日 9:00-21:00