码丁实验室,一站式儿童编程学习产品,寻地方代理合作共赢,微信联系:leon121393608。
用Scratch巧解数学题
——求累加和
问题:计算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开始一个数一个数硬算也是一种方法呀。虽然这种方法对于人工计算来说可能稍显复杂一点,但这种重复的计算对于计算机来说,压根儿就不是个事!我们今天就通过编程硬算。
通常在编写代码前,会把算法用流程图表示出来,就像盖房子先要有施工图一样。所谓编程,就是按照流程图,按部就班编写代码!有了具体的算法,很容易画出程序流程图。“硬算”的流程图如下:
有了流程图,编写代码就很简单了。流程图就是编程的施工图。学习编程,画流程图是基本功。一定要养成无流程图不写代码的好习惯!流程图本身就是编程思路的体现,通过画流程图也可以进一步整理我们的思路。
程序写好后,还要调试,看看功能是否正常。运行程序,按照提示输入100,结果很快出来了,“1+2+…+100=5050”。秒杀!