歡迎來到智能程式的世界!
你有沒有想過,電子遊戲是怎麼知道你的「生命值」已經耗盡,或者微波爐是如何一直轉動直到計時器歸零?電腦不只是從頭到尾直線執行指令,它們還能作出決策並重複執行任務。這就是所謂的 流程控制 (Flow Control) 與 循環 (Looping)。
在這一章中,我們將學習如何賦予程式「大腦」,讓它們能對不同的情況作出反應。這是 程式編寫概念 (Programming Concepts) 的核心部分,是在我們學過的變量 (variables) 和簡單數學運算的基礎上進一步發展的。
1. 作出決策:流程控制
想像你正站在一個十字路口,你會根據天氣選擇不同的路徑。在程式編寫中,流程控制 讓程式決定遵循哪一條代碼「路徑」。這通常是透過檢查一個陳述是 真 (True) 還是 假 (False) 來實現的。
比較運算符 (Relational Operators)
為了作出決策,我們會使用名為 比較運算符 的特殊符號來比較兩個數值。以下是你需要掌握的符號:
\(>\) :大於(例如:\(5 > 3\) 為真)
\(>=\) :大於或等於
\(<\) :小於
\(<=\) :小於或等於
\(=\) :等於(檢查兩者是否相同)
\(<>\) :不等於(檢查兩者是否不同)
例子:如果玩家的分數是 \(>= 100\),程式可能會顯示「你贏了!」;如果分數是 \(< 100\),則可能會顯示「繼續努力!」。
邏輯運算符 (Logical Operators)
有時候,單一的比較並不夠。我們會使用 邏輯運算符 來組合多個條件:
AND (與):兩個條件都必須為真。(例如:如果今天是星期六 而且 天氣晴朗,我就會去海灘。)
OR (或):至少有一個條件為真。(例如:如果我有優惠券 或者 今天是減價日,我就能享有折扣。)
NOT (非):這會反轉結果。它讓「真」變成「假」,「假」變成「真」。
快速複習:將流程控制想像成一個「過濾器」。只有符合你規則的數據才能進入下一步!
2. 重複執行:循環 (Looping)
循環(也稱為迭代 iteration)是指程式重複執行一組指令。我們不必將同一段代碼重複寫 100 次,而是告訴電腦不斷「循環」,直到滿足某個條件為止。
日常生活中的循環例子
我們在日常生活中經常不自覺地使用循環!
- 吃東西:當你感到肚餓時,就多吃一口。(當你吃飽了,循環就會停止!)
- 鬧鐘:鬧鐘會每隔一分鐘響一次,直到你按下「延時」或「關閉」按鈕。
- 學校鐘聲:鐘聲會響起固定的秒數,然後停止。
- 體育課:老師可能會說:「繞球場跑 5 圈。」你會記錄自己跑了多少圈,直到跑夠 5 圈為止。
學習重點:循環能節省時間,並讓程式變得更簡潔、更有效率。
3. 實踐應用
在你的編程環境中,你可以利用這些概念來製作既有趣又實用的工具。以下是兩個你可能會製作的經典例子:
A. 骰子模擬器
電腦不能像我們一樣投擲實體骰子,但它可以使用 隨機數生成器 (Random Number Generator) 來選取一個介乎 \(1\) 到 \(6\) 之間的整數。為了增加真實感,我們可以使用循環讓用戶不斷「擲骰」,直到他們選擇退出為止。
B. 算術測驗
想像一個會問你數學題的程式。它會使用 流程控制 來檢查你的答案:
1. 程式生成兩個隨機數。
2. 它會問:「\(5 + 7\) 是多少?」
3. 它接收你從鍵盤輸入的 輸入值 (input)。
4. 決策時刻:如果你的答案 \( = 12\),它會顯示「答對了!」
5. 如果你的答案 \( <> 12\),它會顯示「再試一次!」
如果起初覺得有點困難,請不要擔心! 大多數同學發現,練習編寫簡單的測驗程式,是觀察「等於」(\(=\)) 和「不等於」(\(<>\)) 運算符在現實中運作的最佳方法。
4. 流程控制與人工智能 (AI)
你知道嗎? 人工智能 (AI) 同樣依賴算法 (algorithms) 和決策過程。雖然 AI 可以處理海量數據(如圖像或語音),但它仍然使用基本原理來進行「推理」和預測。AI 的表現很大程度上取決於其 算法(即規則和流程控制)以及它所接收的 數據!
需要避免的常見錯誤:
- 「無限循環」(Infinite Loop):當「停止」條件永遠無法達成時,就會發生這種情況。程式會一直運行下去,直到當機或你強制停止它為止!
- 混淆 \(>\) 與 \(<\):務必從左到右閱讀你的比較運算。\(5 > 3\) 代表「5 大於 3」。
總結清單
[ ] 我是否認識 6 種比較運算符 (\(>\), \(>=\), \(<\), \(<=\), \(=\), \(<>\))?
[ ] 我能否解釋 AND 和 OR 之間的區別?
[ ] 我能否舉出一個日常生活中循環的例子?
[ ] 我是否明白流程控制能幫助程式作出決策?