結構化程式設計(8)
重複(迴圈)結構
Scratch重複積木
實作1:數學專案-以重複結構計算1+2+3+......N的和(N為>3的自然數)
程式執行結果
輸入N:999
輸出S:499500
高斯(數學王子)
圖片來源:https://zhuanlan.zhihu.com/p/53205895 梯形公式 2×(1+2+...+100) =101×100=100100 |
第一部分:
計算1+2+3+......+100的總和
不用迴圈做法
1.問題解析
何謂累加和?
說明
就是拿上一個結果和下一個數相加得到一個新的和,然後再拿這個和與下一個數相加,這是很有規律性的,電腦最適合處理此類問題
我們使用迴圈(重複)過程。為了完成這個迴圈相加,我們需要使用兩個變數:一個是數字,一個是和,計算算式如下:
和 ←和+數字 |
數字是一個變數,每執行一次要增加1,算式=號右邊的和就是數字加之前的所有數之和,加上數字之後的結果成為一個新的和,然後再用這個和與下一個數進行相加,又的一個新的和,如此循環,一直到數字變為100為止。
數字 ← 數字+1 |
2.演算法流程圖
3.程式積木參考(經典程式)
(1)建立變數-和(s).數字(i)
作用:變數 i(記錄1到100變化的加數) 及s(記錄累加的總和)
(2)變數初始化
s←0(設定總和為0)
i←1(設定數字為1)
(3)提示此程式的作用
(4)利用重複積木及變數運算實現累加和
s←s+i(總和設為總和+數字==>累加和 )
i←i+1(數字設為數字+1==>規律性)
5.輸出累加和
參考積木(1+2+3+...+5=?)
第二部分:
增加變數n.讓使用者輸入的值(大於3的自然數)暫時存在變數n
重複n次(重複直到i>n)
輸出計算結果
演算法流程圖
參考積木
程式測試
輸入N:999
輸出S:499500
思考問題-如何計算1+2+3+.....+N的偶數和
演算法思維:
判斷i是否為偶數(i除以2的餘數=0) 那麼就執行累加和s←s+i 若不是就執行i←i+1 |
程式測試
輸入N:999
輸出S:249500
作業上傳
檔名:109****loop-add.sb3