結構化程式設計(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+...+100 =100100÷2=5050

第一部分:

計算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