歡迎來到程式邏輯的世界!

在本章中,我們將學習電腦是如何進行決策的。你有沒有想過,遊戲是怎麼知道什麼時候該顯示「遊戲結束」(Game Over) 的畫面?或者網站是怎麼判斷你的密碼是否正確的?這一切都歸功於布林運算 (Boolean operations)。這些簡單的規則幫助程式決定下一步該做什麼。如果起初覺得這些內容有點「數學味」也不用擔心,其實這就像我們現實生活中做決定一樣簡單!

1. 什麼是「布林」(Boolean)?

在探討運算之前,我們需要先記住什麼是布林 (Boolean)。在程式設計中,布林是一種數據類型,它只有兩種可能的值:True (真)False (假)
把它想像成電燈開關:它不是開啟 (ON) 就是關閉 (OFF)。沒有中間地帶!

2. 三大運算子

為了做出複雜的決策,我們使用三個主要的運算子:NOTANDOR。讓我們逐一拆解它們。

A. NOT 運算子

NOT 運算子是最簡單的。它基本上代表「相反」。它會接收原本的布林值並將其翻轉。

  • NOT True 會變成 False
  • NOT False 會變成 True

類比: 想像一下「相反日」。如果你的朋友說「現在並沒有 (NOT) 下雨」,而他說的是實話,那外面一定沒下雨!

B. AND 運算子

AND 運算子非常嚴格。要讓 AND 陳述式為 True,必須兩側同時為 True

現實生活例子: 若要參加校外考察,你需要有簽署好的同意書 AND 必須繳交了費用。如果你有同意書但沒繳費,你就不能去 (False)。如果你兩者都有,就可以出發了 (True)!

快速複習: \(True \text{ AND } True = True\)
\(True \text{ AND } False = False\)
\(False \text{ AND } False = False\)

C. OR 運算子

OR 運算子則寬鬆得多。要讓 OR 陳述式為 True,兩側之中至少有一方True 即可。如果兩者都為 True,結果同樣為 True

現實生活例子: 如果你是學生 OR 你未滿 12 歲,你就能在電影院獲得折扣。如果你是學生,你可以獲得折扣。如果你只有 10 歲,你也可以獲得折扣。如果你兩者皆是,當然也能獲得折扣!

快速複習: \(True \text{ OR } False = True\)
\(False \text{ OR } True = True\)
\(False \text{ OR } False = False\)

重點總結:

AND 要求兩者皆是OR 只要其中一個即可。NOT 則直接交換數值。

3. 在程式中使用邏輯

在考試中,你需要了解這些運算子如何應用在選擇結構 (Selection)(即 IF 語句)和迭代結構 (Iteration)(即迴圈)中。這就是邏輯發揮魔力的地方!

選擇結構中的布林運算 (IF 語句)

我們使用這些運算子來同時檢查多個條件。
範例 (Python 風格):
IF (score > 10) AND (hasKey == True):
   print("你打開了秘密大門!")
ELSE:
   print("你還沒準備好。")

迭代結構中的布林運算 (迴圈)

迴圈也可以利用布林邏輯來決定何時停止。
範例 (虛擬碼):
WHILE (health > 0) AND (enemyDefeated == False):
   ...繼續戰鬥...
ENDWHILE

你知道嗎? 在上面的例子中,如果你的生命值變為 0 OR 敵人被擊敗,迴圈就會停止。AND 確保了迴圈只在兩個條件都保持為真 (True) 的情況下才會持續執行。

4. 避免常見錯誤

1. 混淆 AND 與 OR: 在英文對話中,我們有時會說「我想要漢堡和薯條」,但在邏輯中,如果你要檢查一個食物是否同時是漢堡 AND 薯條,結果會是 False(因為漢堡不是薯條!)。請時刻思考:「我需要兩者皆真,還是只要其中一個即可?」

2. 忘記括號: 就像數學一樣,加上括號來標示條件優先順序通常很有幫助,例如:\((A \text{ AND } B) \text{ OR } C\)。

5. 快速總結表

使用這張簡單的表格來記憶兩個輸入(A 和 B)的輸出結果:

輸入 A | 輸入 B | A AND B | A OR B
False | False | False | False
False | True | False | True
True | False | False | True
True | True | True | True

記憶小撇步:「全部還是任一」技巧

- AND = ALL (全部) 必須為 True。
- OR = ONE (或以上) 必須為 True。

如果起初覺得這些邏輯有點繞口,不用擔心! 學習布林邏輯最好的方法是在你所學的程式語言(如 Python、C# 或 VB.NET)中動手寫幾個 IF 語句。一旦你看到它在實際程式中運作,一切就會豁然開朗了!