《scratch编程+数学》课程:编程实现数字黑洞冰雹猜想

网友投稿 2019-10-23 13:58

冰雹猜想就是指随便给出一个自然数,如果是奇数,那么就给这个数乘以3再加上1;如果是偶数就除以2;依次不停地进行重复计算,可以发现无论这个过程中的数值如何庞大,最终还是会像冰雹一样坠落,变成1,因此就把这个猜想叫做冰雹猜想。

我们就用scratch变成语言来实现这个数字黑洞冰雹猜想,最终显示出它计算的过的所有数字。视频效果如下:

要完成以上冰雹猜想的小程序,我们首先要思考这个小程序主要解决的问题:

问题一:判断输入的字符窜是不是自然数。

问题二:实现冰雹猜想的计算过程。

问题三:将整个计算过程显示出来。

针对以上问题,我们要建立三个变量和一个列表。

https://cdn.china-scratch.com/timg/191025/135U12M2-0.jpg

首先我们把最简单的部分完成,就是让我们的scratch小猫介绍什么是冰雹猜想,并且要求输入一个自然数!同时将输入的结果即回答保存到列表中,将自然数变量的第一个结果设置成回答。

https://cdn.china-scratch.com/timg/191025/135U11T6-1.jpg

接下去我们就要判断输入的回答是不是一个自然数,我们用逐个比较字符的方法。从回答的字符窜中的第一个字符开始,逐一的和1、2、3、4、5、6、7、8、9比较,如果是其中的一个,则继续比较下一个字符,如果不是,则提示"你输入的不是自然数",程序停止。

https://cdn.china-scratch.com/timg/191025/135U161I-2.jpg

如果输入的回答是自然数,则重复执行以下计算操作直到自然数变量等于1:先判断是偶数还是奇数,偶数则除以2,奇数则乘以3再减去1,将自然数重新设定为计算出的新结果,并将这个结果加入到过程列表中,最后说出所有的计算结果。

https://cdn.china-scratch.com/timg/191025/135U13560-3.jpg

完成以上代码就可以实现冰雹猜想了。同学们也可以用不同自然数来验证,能否找出不符合冰雹猜想的自然数。在这里没有使用自定义积木块的方式来进行迭代,如果需要简化代码,可以使用积木块的方式来简化。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com