資訊內(nèi)容
用Scratch巧解數(shù)學(xué)題——求累加和
用Scratch巧解數(shù)學(xué)題
——求累加和
問題:計(jì)算1+2+...+100 =?
據(jù)說,數(shù)學(xué)王子——高斯10歲時(shí),數(shù)學(xué)老師為了懲罰一幫不聽話的孩子,出了一道算術(shù)難題,就是上面這道題目。原以為會(huì)讓大家忙乎一陣子,可是不一會(huì)兒高斯就向老師報(bào)告他算出來了。高斯的算法是這樣的:
(1+100)+...+(50+51)=101×50=5050
現(xiàn)在,為了更好理解,有人提出:
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
這些當(dāng)然都是很好的算法。但是從1開始一個(gè)數(shù)一個(gè)數(shù)硬算也是一種方法呀。雖然這種方法對于人工計(jì)算來說可能稍顯復(fù)雜一點(diǎn),但這種重復(fù)的計(jì)算對于計(jì)算機(jī)來說,壓根兒就不是個(gè)事!我們今天就通過編程硬算。
通常在編寫代碼前,會(huì)把算法用流程圖表示出來,就像蓋房子先要有施工圖一樣。所謂編程,就是按照流程圖,按部就班編寫代碼!有了具體的算法,很容易畫出程序流程圖。“硬算”的流程圖如下:
有了流程圖,編寫代碼就很簡單了。流程圖就是編程的施工圖。學(xué)習(xí)編程,畫流程圖是基本功。一定要養(yǎng)成無流程圖不寫代碼的好習(xí)慣!流程圖本身就是編程思路的體現(xiàn),通過畫流程圖也可以進(jìn)一步整理我們的思路。
程序?qū)懞煤螅€要調(diào)試,看看功能是否正常。運(yùn)行程序,按照提示輸入100,結(jié)果很快出來了,“1+2+...+100=5050”。秒殺!
計(jì)算機(jī)是不是很強(qiáng)大呀!但前提是你要會(huì)編程呀!只有會(huì)編程,你才能讓計(jì)算機(jī)替你解決問題呀!別擔(dān)心,編程其實(shí)也沒有想象那么難!只要你愿意學(xué)。
Scratch雖然是專門為少兒設(shè)計(jì)的編程語言,但其功能還是非常強(qiáng)大的,不僅可以創(chuàng)建動(dòng)畫、游戲和故事書,還可以用來求解數(shù)學(xué)題,實(shí)現(xiàn)一些數(shù)學(xué)算法。學(xué)過Scratch后,將來再學(xué)習(xí)其他高級程序設(shè)計(jì)語言,理解起來也會(huì)更加順暢,更加容易!
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過郵件及時(shí)和我們聯(lián)系刪除
