歡迎來到布林運算(Boolean Operations)的世界!

在本章中,我們將學習電腦是如何作決定的。你有沒有想過,遊戲是怎麼知道什麼時候該顯示「遊戲結束(Game Over)」畫面,或者網站怎麼知道你輸入的密碼是否正確?這一切都歸功於布林運算。你可以把它們想像成幫助程式決定下一步該做什麼的「邏輯規則」。如果剛開始覺得有點抽象也別擔心,一旦你看過它們在現實生活中的運作方式,你就會發現其實非常簡單!

什麼是布林值(Boolean)?

在我們深入探討運算之前,請記住布林值是一種數據類型,它只有兩種狀態:True(真)False(假)。它就像一個電燈開關,不是開就是關,沒有中間地帶!

三大主要運算子

在 AQA 8525 課程中,你需要掌握程式設計中常用的三種主要布林運算子:ANDORNOT。這些運算子會在選擇結構(IF 語句)和疊代結構(迴圈)中使用,用來控制程式的運作流程。

1. AND 運算子

AND 運算子非常嚴格。要讓整個陳述式成為 True,它的所有部分都必須為真。只要其中一個部分為假,整個結果就會變成假。

現實生活類比:想像你的父母說:「如果你完成了功課 AND 整理了房間,你就可以去看電影。」
- 如果你做了功課,但房間一團亂?不能去看電影(False)。
- 如果你整理了房間,但沒做功課?不能去看電影(False)。
- 如果兩件事都做了?享受電影吧!(True)。

快速回顧:
True AND True = True
True AND False = False
False AND False = False

2. OR 運算子

OR 運算子就寬鬆多了。要讓陳述式成為 True,你只需要其中一個部分為真即可。只有在所有部分都為假時,它才會變成假。

現實生活類比:想像一家商店說:「如果你是學生 OR 年滿 65 歲,你就可以獲得折扣。」
- 如果你是學生?你享有折扣(True)。
- 如果你年滿 65 歲?你享有折扣(True)。
- 如果你兩者皆是?你仍然享有折扣!(True)。
- 如果兩者皆非?沒有折扣(False)。

快速回顧:
True OR False = True
False OR True = True
False OR False = False

3. NOT 運算子

NOT 運算子是「反向」運算子。它會簡單地翻轉給它的任何值。它將 True 變為 False,並將 False 變為 True。

現實生活類比:把它想像成一個「相反」按鈕。如果陳述式是「正在下雨」,那麼 NOT「正在下雨」就意味著「沒有」下雨。
- NOT (True) = False
- NOT (False) = True

重點總結: AND 需要所有部分皆為真。OR 只需要至少有一個部分為真。NOT 則將數值翻轉為相反狀態。

在程式設計中使用邏輯

在考試中,你可能會看到這些運算子應用在條件(conditions)中。條件是電腦執行的一項檢查。例如:

IF score > 10 AND lives > 0 THEN
    PRINT "繼續遊戲!"
ENDIF

在這個例子中,玩家只有在分數夠高 還有生命值時,才會看到「繼續遊戲!」。如果他們的生命值為 0,AND 會讓整個條件檢查變成 False,即使他們的分數高達 1,000 分也是一樣!

常見錯誤提醒

1. 混淆 AND 和 OR: 學生常在日常對話中使用 AND,但其實表達的是 OR 的概念。例如:「我想找出住在倫敦和曼徹斯特的人。」在程式設計中,如果你寫下 City == "London" AND City == "Manchester",結果將永遠是 False,因為一個人不可能同時住在兩個城市!這種情況你應該使用 OR

2. 「包含性(Inclusive)」的 OR: 在日常英文中,「OR」有時意味著兩者擇一,不可兼得(例如「要蛋糕還是水果」)。但在程式設計中,OR包含性的。如果兩邊都是 True,結果仍然是 True!

你知道嗎?

布林邏輯是以 19 世紀的數學家喬治·布爾(George Boole)命名的。他在電子電腦發明之前很久就發明了這套系統!今天,世界上每一個電腦晶片都在使用這三條相同的規則(AND、OR、NOT)來處理每秒數十億次的指令。

逐步解析:解開複雜的條件

有時你可能會看到像這樣的長串邏輯:\( (True \textbf{ AND } False) \textbf{ OR } (\textbf{NOT } False) \)。
別慌!只需按照以下步驟:
1. 先處理 NOT 部分:\( \textbf{NOT } False \) 變成 True
2. 處理括號內容:\( True \textbf{ AND } False \) 變成 False
3. 現在來看整個式子:\( False \textbf{ OR } True \)。
4. 最終答案:True(因為對於 OR,只要有一個 True 就夠了!)。

記憶小撇步: 「All 或 One」口訣

AND = All(全部)必須為 True。
OR = One(其中一個)必須為 True。

快速複習總結表

運算子: AND
規則: 只有當兩個輸入皆為 True 時,結果才為 True。
範例: \( 5 > 3 \textbf{ AND } 2 < 4 \) 結果為 True

運算子: OR
規則: 若至少有一個輸入為 True,結果即為 True。
範例: \( 5 > 10 \textbf{ OR } 2 < 4 \) 結果為 True

運算子: NOT
規則: 反轉輸入值。
範例: \( \textbf{NOT } (5 > 10) \) 結果為 True(因為 5 > 10 為假,而 NOT 假即為真)。