【Scratch创意编程】快来用程序实现高斯求和吧!

网友投稿 2020-05-01 20:47

相信小朋友们在学习数学的时候,一定都听说过高斯的大名吧。高斯小时候非常聪明,当老师在黑板上写下“1+2+3+……+100=?”这道题的时候,全班的小朋友都在埋头苦算,只有高斯在盯着黑板思考,只用了一小会儿,就得出了答案5050!

其实,高斯相对于其他小朋友的聪明之处在于高斯的逻辑思维和数理思维更强,他能够从计算式中发现规律,并巧妙利用首尾相加的方法快速求和。

现在,如果你已经具备了Scratch编程的基础,你可以用编程的方法快速求和哦!甚至,你可以用程序写出任何复杂的求和算式。


源代码分享

下图展示了利用高斯公式快速求和:1+2+3+……+99+100=?

https://cdn.china-scratch.com/timg/200503/204I31263-0.jpghttps://cdn.china-scratch.com/timg/200503/204I415R-1.jpg


源代码解读

01


触发机制


选择“单击绿旗”作为程序计算的触发机制,一旦鼠标点击绿色旗帜,则程序中的角色(小女孩)就说出计算答案。

https://cdn.china-scratch.com/timg/200503/204I422A-2.jpg

02


变量定义


定义两个新的变量,分别命名为变量X和变量SUM,变量X表示求和的算子,变量SUM表示求和的答案。变量X的初始值是1,变量SUM的初始值是0。

https://cdn.china-scratch.com/timg/200503/204I31263-0.jpghttps://cdn.china-scratch.com/timg/200503/204I44452-4.jpg

03


求和逻辑


程序的基本逻辑是:变量X=1,SUM=SUM+X;当X逐渐增加1,即:X=2、3、4、5……,99、100时,变量SUM总是等于前一个SUM值与当前的变量X值相加。

程序执行100次,则变量X最终从1增加到100;变量SUM最终相加100次,最后一次的变量SUM=前99个数相加之和+100。

选择循环语句,设定循环次数为100次。在变量积木块中将变量X和变量SUM进行逻辑相加操作,之后设定变量X每次都增加1。

https://cdn.china-scratch.com/timg/200503/204I31263-0.jpghttps://cdn.china-scratch.com/timg/200503/204I524O-6.jpg

04


答案输出


在外观积木块中选择“说”这个功能块,让角色说出最终的变量SUM,则最终的求和答案由角色说出,完成了答案的输出。

https://cdn.china-scratch.com/timg/200503/204I415R-1.jpg

05


整体解析


https://cdn.china-scratch.com/timg/200503/204I5GN-8.jpg


思考&引申

01


趣味思考


(1)程序执行完毕,最终结果SUM=5050,可为什么变量X=101?

(2)如果在程序的第2步中,将变量X的初始值设为X=0,那么程序一共要执行多少次循环?

(3)可否将程序的第5步和第6步颠倒一下顺序?若可以,对程序的最终结果会有什么影响?

第5步:将SUM设为SUM+X

第6步:将X增加1

02


趣味引申


(1)举一反三引申:是否还有其他的求和逻辑?试着用其他的程序代码实现算式求和。

(2)拓展引申:用程序代码实现下面算式的求和:

① 1+3+5+7+9+……+99+101;

https://cdn.china-scratch.com/timg/200503/204I62a7-9.jpg


少儿编程的魅力

从上面的案例可以发现,少儿编程中蕴含着极为丰富的逻辑判断、数理推理、数学分析等数学基础思维内容,并且由于计算机编程本身具有发散性特点,因此学习少儿编程并不会将思维化;相反,在老师的引导下,通过编程能够学会举一反三发散性思维,这对于夯实数学基础思维至关重要。

一年级二年级凭借记忆力和计算力就足够了,但是到了三、四年级需要逻辑能力和推理思考能力,到了五、六年级更需要空间想象能力和拓展能力。这就是为什么我们常说“一二年级不分上下, 三四年级两极分化,五六年级天上地下”。只有数学基础思维打牢了,到了高年级才能游刃有余,上了初中学习难度更高的数理化也不会掉队。

--end--

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