編程思維與簡單編程
基礎編程是為電腦寫下逐步指令,演算法便是解決問題的清楚步驟。程式由順序、循環和條件判斷組成,出錯便要除錯;用圖形化工具(例如 Scratch)拖曳積木便能創作動畫和遊戲。食譜、路線和掃地機器人,處處都是演算法。
- 演算法是解決問題的清楚步驟;電腦指令必須精確而有序。
- 程式三大結構:順序依次執行、循環重複動作、條件判斷因應情況選擇。
- 程式錯誤稱為臭蟲;除錯要逐步測試,每寫一小段便測試。
文體小知識:編程科普說明文用生活例子解釋演算法、順序、循環和條件,令編程思維觸類旁通。
§課文原文 Passage
1電腦不會自己思考,只會忠實執行指令,所以指令必須寫得清楚而有序。演算法就是解決問題的一步步方法,食譜便是一個好例子:做花生醬三文治——第一步取兩片麵包,第二步塗上花生醬,第三步夾入生菜,第四步完成。步驟次序錯了,結果便不同;指令含糊了,例如只說「弄個三文治」,電腦便無從下手。學會把任務拆解成清楚的小步驟,是編程思維的第一課。
2程式有三種基本結構。順序是指令一行一行依次執行;循環令重複的動作只寫一次,例如「重複4次{前進100步;右轉90度}」便能畫出一個正方形,不必寫八行指令;條件判斷則令程式懂得因應情況選擇,例如「如果下雨,便帶雨傘;否則戴帽子」。掃地機器人的程式正是三者合用:「重複執行{向前行;如果碰到牆便轉彎}」,於是它不會一直撞牆,又能把全屋掃完。
3程式出錯在所難免,錯誤稱為「臭蟲」,找出並修正錯誤的過程叫除錯。除錯要像偵探一樣逐步測試:機械人本應沿正方形走回起點,卻只走了三邊便停下——逐步檢查發現循環次數寫成三次而非四次,改正後程式便正常。寫程式時每完成一小段便測試一次,出錯時容易找到源頭,這是程序員的好習慣。
4小學生可以用圖形化編程工具入門,例如 Scratch:以拖曳積木代替打字,「當綠旗被點擊」是事件積木,「移動10步」是動作積木,「重複」「如果……否則」是控制積木,拼合起來便能創作動畫賀卡和迷宮遊戲。編程其實無處不在:導航應用比較所有路線的時間建議最快的一條,搜尋引擎把最相關的結果排在前面,影片平台按你的喜好推薦節目——背後都是演算法。拆解問題、找出規律、設計步驟、測試改良,這套編程思維在任何學科都有用。
1重點摘要 Summary
編程是為電腦寫下逐步指令,演算法便是解決問題的清楚步驟。程式由順序、循環和條件判斷組成,出錯便要除錯;用圖形化工具(例如 Scratch)拖曳積木便能創作動畫和遊戲。食譜、路線和掃地機器人,處處都是演算法。
2生字卡 Vocabulary
解決問題的清楚步驟和方法,例如食譜和路線規劃。
寫給電腦執行的一系列指令。
指令一行接一行依次執行的程式結構。
令一段指令重複執行的結構,例如「重複10次」。
「如果……便……否則……」的結構,令程式因應情況選擇。
找出並修正程式中錯誤指令的過程。
以拖曳積木代替打字的編程方式,例如 Scratch。
拆解問題、找出規律、設計步驟和測試改良的思考方法。
命令電腦執行的單一步驟,必須精確清楚。
3逐步講解 Steps
- 第一步:把任務寫成演算法舉個例子:教機械人做三文治,指令必須精確而有次序——先寫「取兩片麵包」,再寫「塗花生醬」,然後「把兩片合起來」;只說「弄個三文治」,它便無從下手。像這樣把任務拆解成一步步清楚的指令,便是演算法。寫演算法的過程訓練我們把問題想清楚、有條理地解決。
- 第二步:用循環簡化重複動作舉個例子:要機械人畫正方形,寫「重複4次{前進100步;右轉90度}」,兩行指令便代替了八行重複的寫法。想改變正方形的大小,只需改一個數字,不必重寫整段指令。循環令程式更短、更易讀、更少出錯,是編程中處理重複任務的基本工具。
- 第三步:用條件判斷應付變化舉個例子:掃地機器人的程式是「重複{前進;如果碰到牆,便右轉90度}」,它便不會一直撞牆,還能把全屋掃完。條件判斷令程式懂得因應情況做出不同反應:碰到障礙轉向、電量不足回充電座。有了條件判斷,程式便由死板的流程變成會靈活應變的助手。
- 第四步:組合三種結構舉個例子:迷宮程式可以用「重複執行」包住「前進一格」的順序指令,再加上「如果前面是紅牆,便後退並右轉」「如果到達終點,便停止」兩個條件判斷。順序、循環和條件是程式的三種基本結構,互相組合便能寫出複雜的行為。掌握組合的方法,等於掌握編程的骨架。
- 第五步:逐步測試、找出臭蟲舉個例子:機械人畫正方形時只走了三條邊便停下,逐段檢查指令,發現循環次數寫成3次而非4次;改正後程式便正常運行。找出並修正程式錯誤的過程叫除錯,這些錯誤俗稱臭蟲。除錯要有耐性:一次只改一處、逐步測試,才能準確找出問題所在,程式員每天都與臭蟲為伴。
- 第六步:用 Scratch 動手創作舉個例子:在 Scratch 中,把「當綠旗被點擊」接上「重複10次{移動10步;播放聲音}」,角色便會一邊走一邊發出聲音。Scratch 用拖曳彩色積木的方式寫程式,不用打字,適合初學者。同學可以由簡單動畫開始,慢慢加入條件和變數,製作互動小遊戲,一邊玩一邊學。
- 第七步:在生活找出演算法舉個例子:導航應用比較各條路線的預計行車時間,建議最快的一條;搜尋引擎按相關程度把結果排前面;串流平台按收視紀錄推薦節目。這些貼心服務背後全是演算法。學會辨認生活中的編程,便能更理解科技怎樣為我們決定看到什麼,也更有意識地善用這些工具。
4圖解 Diagrams
5例題示範 Example
例題:小恩要為迷宮遊戲設計角色移動程式:角色要不斷前進,遇到紅牆便後退一格並右轉,直到到達終點。請用順序、循環和條件判斷,以文字步驟寫出演算法。
- 事件:當「開始」鍵被按下,程式啟動。
- 外層循環:使用「重複執行」包住以下步驟,令角色不斷移動。
- 順序指令一:前進一格。
- 條件判斷一:「如果前面是紅牆,便後退一格並右轉九十度;否則繼續前進」。
- 條件判斷二:「如果到達終點格,便停止程式並播放勝利音效」。三種結構配合,角色便能自動走完迷宮。
- 答案:演算法=事件啟動+外層循環+「前進一格」的順序指令+「撞牆後退右轉」「到終點停止」兩個條件判斷;角色便能自動完成迷宮。
6常見錯誤 Mistakes
75 題快測 Quick check
Q1什麼是演算法?
Q2程式的三大基本結構是什麼?
Q3什麼是除錯?
Q4用循環寫「跳繩十次」有什麼好處?
Q5舉出兩個生活中運用演算法的例子。
8重點回顧 Recap
- 演算法是解決問題的清楚步驟;電腦指令必須精確而有序。
- 程式三大結構:順序依次執行、循環重複動作、條件判斷因應情況選擇。
- 程式錯誤稱為臭蟲;除錯要逐步測試,每寫一小段便測試。
- Scratch 等圖形化工具以拖曳積木編程,小學生也能創作動畫和遊戲。
- 導航、搜尋和推薦背後都是演算法;編程思維在各科都有用。