💥什麼是「重複結構」?
部分步驟需要反覆執行,直到符合或是不符合某一條件式時,才會離開重複執行的部份。重複結構也常被稱為「迴圈 (Loop)」。
部分步驟需要反覆執行,直到符合或是不符合某一條件式時,才會離開重複執行的部份。重複結構也常被稱為「迴圈 (Loop)」。
學校運動會要舉行班際4000公尺的大隊接力賽,每人跑200公尺,共20人參加,學校操場跑道一圈是200公尺,因此只要每班在操場跑道跑20圈就可以結束比賽,學校不必為此去鋪設一條長4000公尺的跑道。
在程式語言中,如果是遇到類似的需要反覆執行的問題時,就可以用「重複結構」來處理。「重複結構」是一種利用迴圈敘述來重複執行一段程式敘述的結構。
我們在生活上也會常常遇到這種「重複結構」的事情,例如:起床要摺棉被、刷牙、洗臉,吃早餐、午餐、點心和晚餐,晚上睡覺前要洗頭、洗澡、刷牙等,每天都會重複;到學校上課時,每個星期、每個學期上課的科目都會重複;連放假的日子(暑假、寒假、兒童節、過年、節慶假日)每年都會重複?
上述事項都是具有重複性的動作,既使每項工作都用人工來執行也是非常繁瑣,如果能用迴圈來處理就能化繁為簡,提高效率。簡單來說,迴圈(重複)就是判斷是否反覆執行很多次,並從中找出規律性,然後用重複結構執行程式。
引用:翰林書局教學別冊-翰您一起趣玩Scratch
「重複結構」的情境比較多元,一般可分為「計次迴圈」、「條件迴圈」和「無限迴圈」三種。其中「條件迴圈」又可分為「前測試迴圈」和「後測試迴圈」二項,圖解示意如圖。
📌計次迴圈(for):
當程式的某段敘述必須重複執行,且已確定執行的次數時,就適用計次迴圈。
SCRATCH中計次迴圈使用之積木
⏳假設問題:計算1+2+3...+5=?
流程圖
SCRATCH積木計次迴圈堆疊
也可以使用條件迴圈堆疊
📌條件迴圈(while):
當程式中某段敘述必須重複執行,而且無法事先確定執行的次數時,就適用此類型的迴圈。
SCRATCH中條件迴圈使用之積木
在scratch中,並沒有特別用不同的積木來將「條件迴圈」分成「前測試迴圈」和「後測試迴圈」,而只以上圖《重複直到》積木來表示。重複執行...直到條件滿足...
⏳假設問題:1+2+3+...+?>60
流程圖
SCRATCH積木堆疊
📌無限迴圈:
這是 Scratch 中最常見的,也是課程中最基礎的重複方式。當我們「未設想」何時要結束程式,多會使用「無限迴圈」
SCRATCH中無限迴圈使用之積木