第十二次:結構化程式設計(4)


重複(迴圈)結構

教學影片

說明


計次迴圈

有限次數的重複執行是多數程式語言 (text-based programming language) 的基礎結構,在 Scratch 中反而容易被忽略。Scratch 中省去了使用變數來紀錄次數、遞增變數與條件判斷等複雜控制,我們可以簡單使用「重複幾次」來執行特定次數的指令,如下面程式會執行恰好10次的「拍手」,不多也不少。有確定次數與精確計算的需求,那麼使用「重複幾次」的所造成的結果是可以預期與設想的。

範例-數列

實作1:數學專案-以計次迴圈(for loop)產生數列1-10(1.2.3.4.5.6.7.8.9.10)

程式執行結果:

演算法

方法1

方法2-加變數.改變變數每次+1

討論:變數作用? 變數是主記憶體一塊空間,可以用來存放資料,可取出、歸0、改變(放入新的、變動的內容)

方法3

步驟1:i←1(建立變數i為1==>初始化)

步驟2:重複迴圈.產生數列

印出數字i

i←i+1(設定數字 = 數字+1==>規律性)

程式提示:

討論:迴圈作用?要電腦重複執行相同步驟/指令/積木,但數值要改變

檔名:107****loop-1.sb2

參考網站

http://itopnet.blogspot.com/2019/03/scratch3-06.html?m=1
https://class.tn.edu.tw/modules/tad_web/news.php?WebID=1384&NewsID=6398
http://cvod.cnu.edu.tw/category/show/id/303#198-1

實作2:數學專案-以計次迴圈(for loop)計算1+2+3+......+10的總和

程式執行結果:

演算法

以實作1為基礎建立兩個變量 i(記錄1到10變化的加數) ,增加一個變數S(放累加和)

步驟1:i←1,s←0(設定數字為1.總和為0==>初始化)

步驟2:重複迴圈

s←s+i(設定總和為總和+數字==>累加和)

i←i+1(設定數字 = 數字+1==>規律性)

步驟3:印出總和s

程式提示:

檔名:107****loop-2.sb2


進階題

實作3:數學專案-以計次迴圈(for loop)計算1-10之間的偶數和(2+4+6+8+10=?)

程式執行結果:

演算法

 

判斷i是否為偶數(i除以2的餘數=0)

那麼就執行累加和s←s+i

若不是就執行i←i+1

最後印出偶數和s

程式提示:

檔名:107****loop-3.sb2


實作4:數學專案-以計次迴圈(for loop)計算1+2+3+...N的和

程式執行結果:

演算法設計(流程控制)

檔名:107****loop-4.sb2


作業上傳到雲端

1.點自己班的連結.輸入各班密碼

0714

0715

0716

0717

0718

2.點自己的座號資料夾

3.點上傳

4.選桌面你的作業107****loop1.sb2及107****1oop2.sb2

5.檢查是否上傳成功