用Scratch巧解数学题——求累加和

网友投稿 2018-12-21 12:03

用Scratch巧解数学题

——求累加和

https://cdn.china-scratch.com/timg/181223/1203141062-0.jpg

问题:计算1+2+...+100 =?

据说,数学王子——高斯10岁时,数学老师为了惩罚一帮不听话的孩子,出了一道算术难题,就是上面这道题目。原以为会让大家忙乎一阵子,可是不一会儿高斯就向老师报告他算出来了。高斯的算法是这样的:

(1+100)+...+(50+51)=101×50=5050

现在,为了更好理解,有人提出:

1 2 3 ... 99 100
+ + + ... + +
100 99 98 ... 2 1
101 101 101 ... 101 101

2×(1+2+...+100) =101×100=100100

1+2+...+100 =100100÷2=5050

这些当然都是很好的算法。但是从1开始一个数一个数硬算也是一种方法呀。虽然这种方法对于人工计算来说可能稍显复杂一点,但这种重复的计算对于计算机来说,压根儿就不是个事!我们今天就通过编程硬算。

通常在编写代码前,会把算法用流程图表示出来,就像盖房子先要有施工图一样。所谓编程,就是按照流程图,按部就班编写代码!有了具体的算法,很容易画出程序流程图。“硬算”的流程图如下:

https://cdn.china-scratch.com/timg/181223/120314BV-1.jpg

有了流程图,编写代码就很简单了。流程图就是编程的施工图。学习编程,画流程图是基本功。一定要养成无流程图不写代码的好习惯!流程图本身就是编程思路的体现,通过画流程图也可以进一步整理我们的思路。

https://cdn.china-scratch.com/timg/181223/12031452A-2.jpg

程序写好后,还要调试,看看功能是否正常。运行程序,按照提示输入100,结果很快出来了,“1+2+...+100=5050”。秒杀!

计算机是不是很强大呀!但前提是你要会编程呀!只有会编程,你才能让计算机替你解决问题呀!别担心,编程其实也没有想象那么难!只要你愿意学。

Scratch虽然是专门为少儿设计的编程语言,但其功能还是非常强大的,不仅可以创建动画、游戏和故事书,还可以用来求解数学题,实现一些数学算法。学过Scratch后,将来再学习其他高级程序设计语言,理解起来也会更加顺畅,更加容易!

--end--

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