歡迎來到布林運算:程式設計的邏輯世界!

你好,未來的程式設計師!這一章我們要學習如何教會電腦進行簡單的決策。想像一下交通燈:它只有兩種選擇——前進或停止。布林運算(Boolean operations)賦予了我們的程式同樣簡單卻強大的選擇:True(真)False(假)

理解布林邏輯(Boolean Logic)至關重要,因為它控制著程式的流程(flow)。如果你希望程式只在 X 和 Y 同時為真時才執行 A,你就需要用到布林運算!如果剛開始覺得有點困難也別擔心,我們會將其拆解為三個簡單的規則。

重點摘要:布林運算利用 TrueFalse 值來進行決策。


1. 什麼是布林數據?(True 或 False)

在深入了解運算之前,我們需要知道我們在操作什麼。布林(Boolean)是一種只能有兩種可能值之一的數據類型:

  • TRUE (或 1)
  • FALSE (或 0)

把它想像成電燈開關。它只能是 開 (ON) (True) 或 關 (OFF) (False)。在布林邏輯中,沒有「也許」或「中間」狀態。

你知道嗎?

布林代數的概念是由一位傑出的數學家喬治·布爾(George Boole)在 19 世紀提出的。沒有他的貢獻,現代電腦科學就不會存在!


2. 三種基本的布林運算子

我們使用運算子(就像數學中的 +、-、/)來組合或改變布林值。在程式設計中,我們主要使用三種運算子:NOTANDOR

2.1. NOT 運算子(最簡單的運算子)

NOT 運算子最容易理解,因為它只是反轉(reverse)輸入值。它將 True 變為 False,並將 False 變為 True。

類比:如果有人說「正在下雨」,而你使用了 NOT,你就是在說「NOT(非)正在下雨」。

NOT 的真值表

真值表(Truth Table)展示了運算子的所有可能輸入及其對應的輸出結果。

輸入 A:

| A | NOT A |
|---|-------|
| TRUE | FALSE |
| FALSE | TRUE |

記憶小撇步: NOT 就是反轉大師!

2.2. AND 運算子(嚴格的守門人)

AND 運算子非常嚴格。當你組合兩個條件(A AND B)時,只有當 兩個 條件都為 TRUE 時,結果才會是 TRUE。只要有一個條件為 False,整個結果就是 False。

類比:想像進入 VIP 派對需要兩樣東西:1) 一張門票,AND 2) 密碼。如果你有門票但沒有密碼,你就會被拒絕(False)。兩者缺一不可!

AND 的真值表

| A | B | A AND B |
|---|---|---------|
| TRUE | TRUE | TRUE |
| TRUE | FALSE| FALSE |
| FALSE| TRUE | FALSE |
| FALSE| FALSE| FALSE |

AND 的重點: AND 需要 100% 同意 才會得到 True。

2.3. OR 運算子(彈性的選擇)

OR 運算子靈活得多。當你組合兩個條件(A OR B)時,只要 至少有一個 條件為 TRUE,結果就是 TRUE。只有當兩個條件都為 False 時,結果才會是 FALSE

類比:想像點餐時,餐廳說:「套餐可以搭配薯條 OR 沙律。」只要你選了其中一個(甚至兩個都選!),你的訂單就會被接受(True)。只有當你既不要薯條也不要沙律時,你的訂單才會被拒絕(False)。

OR 的真值表

| A | B | A OR B |
|---|---|--------|
| TRUE | TRUE | TRUE |
| TRUE | FALSE| TRUE |
| FALSE| TRUE | TRUE |
| FALSE| FALSE| FALSE |

OR 的重點: OR 只要 有一個條件 為 True 即可通過。


3. 在程式設計中使用布林運算(IF 語句)

在真實的程式設計中,我們不僅僅是抽象地計算 True 和 False;我們用它們來控制程式接下來要做什麼。這通常是在條件語句(conditional statements)中完成,例如 IF 語句

在程式語言中,我們經常使用像 NOTANDOR 這樣的關鍵字。

範例 1:使用 AND

想像一個遊戲,玩家只有在分數超過 100 AND 收集到魔法鑰匙時才能獲勝。

IF Score > 100 AND HasKey = TRUE THEN
    Display "You Win!"
ENDIF

如果分數是 99 (False) 且玩家有鑰匙 (True),整體條件就是 (False AND True),結果為 FALSE。程式會跳過「You Win!」。

範例 2:使用 OR

想像一個安全檢查,如果用戶擁有有效的身分證 OR 擁有活躍的訂閱,則授予存取權限。

IF ValidID = TRUE OR ActiveSubscription = TRUE THEN
    Display "Access Granted"
ELSE
    Display "Access Denied"
ENDIF

如果用戶沒有有效的身分證 (False),但他們有活躍的訂閱 (True),整體條件就是 (False OR True),結果為 TRUE。存取權限獲得批准。

組合運算子

你可以組合這些運算子來建立非常複雜的條件!

IF (Age > 18 AND Country = "UK") OR IsParent = TRUE THEN
    Display "Access allowed to purchase content."
ENDIF

如果滿足嚴格標準(大於 18 歲 AND 居住在英國)OR 你是家長(這會覆蓋年齡/地區規則),即可獲得存取權限。

常見錯誤:

學生經常混淆 AND 和 OR 的嚴格程度。

  • 如果你需要滿足 所有 條件,請使用 AND
  • 如果你只需要滿足 至少一個 條件,請使用 OR

總結:布林邏輯簡述

布林邏輯是程式設計中所有決策的基礎。恭喜你完成了這個核心主題的學習!

關鍵概念回顧:

1. 布林值永遠是 TRUEFALSE
2. NOT 將 True 變為 False,將 False 變為 True(反轉條件)。
3. AND 很嚴格:只有當 所有 部分都為 True 時,結果才為 TRUE
4. OR 很靈活:只要 至少有一個 部分為 True,結果即為 TRUE
5. 這些運算子控制程式流程,通常在 IF 語句 中使用,讓電腦能同時處理多項需求。

繼續練習那些真值表,並多想像我們提到的類比(VIP 派對和點餐例子)。你現在已經具備編寫能做出聰明決策的程式的能力了!