第十二次:結構化程式設計(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.點自己班的連結.輸入各班密碼
2.點自己的座號資料夾
3.點上傳
4.選桌面你的作業107****loop1.sb2及107****1oop2.sb2
5.檢查是否上傳成功