歡迎來到邏輯的世界!

在本章中,我們將一起探索真值表(Truth Tables)。別被這個名字嚇倒了!你可以把真值表想像成一張簡單的「邏輯地圖」。它能幫助我們理清電腦在做決定時的所有可能結果。電腦雖然運行速度極快,但它們並不具備人類那樣的「智慧」,它們只是嚴格地遵循規則,而真值表就是我們將這些規則視覺化的方式。

讀完這些筆記後,你就能像專家一樣處理多達三個輸入的邏輯問題了。讓我們開始吧!

基本概念:布林值(Boolean Values)

在看表格之前,我們需要先理解它們所使用的「語言」。在電腦科學中,我們使用布林邏輯(Boolean logic)。這意味著所有事物不是:

  • 真(True)(通常表示為數字 1
  • 假(False)(通常表示為數字 0

在布林邏輯中沒有「可能」!它非此即彼,就像電燈開關只有開啟(ON)或關閉(OFF)一樣。

三個邏輯閘(Logic Gates)

為了建立真值表,我們會使用三個主要的「運算子」(你可以把這些當作決策規則)。它們分別是 NOTANDOR

1. NOT 運算子(反轉者)

NOT 運算子是最簡單的一個。它只是將你給它的輸入進行翻轉。如果輸入是真(True),輸出就是假(False);如果輸入是假(False),輸出就是真(True)。

類比:想像一個「反向心理」按鈕。無論你對它說什麼,它都會做相反的事!

NOT 真值表:

輸入 (A) = 0 | 輸出 = 1
輸入 (A) = 1 | 輸出 = 0

2. AND 運算子(嚴格者)

AND 運算子非常挑剔。要讓輸出為真(True)所有輸入都必須為真。只要其中有一個輸入是假(False),整體結果就會變成假。

類比:要在電影院獲得學生優惠,你必須要有學生證 AND 當天必須是平日。如果你忘了帶證件,就沒折扣;如果當天是星期六,也沒折扣。你兩者缺一不可。

快速複習:AND 表中,只有當每個輸入都是 1 時,你才能得到 1

3. OR 運算子(靈活者)

OR 運算子則輕鬆得多。要讓輸出為真(True)至少有一個輸入必須為真。無論是第一個、第二個,還是兩者皆是,結果都成立!

類比:要進入俱樂部,你可以出示護照 OR 駕駛執照。只要你至少有其中一樣,就能進場!

重點總結: AND 需要所有輸入都是 1 才會得到 1。OR 只需要一個 1 就能得到 1。

建立兩個輸入的真值表

當我們有兩個輸入(假設為 AB)時,真與假的組合共有四種可能。如果覺得複雜也不用擔心,只要遵循一個簡單的規律即可!

列出輸入的步驟:
1. 第一欄 (A),寫兩個 0,接著兩個 1。
2. 第二欄 (B),交替變換:0, 1, 0, 1。

範例:A AND B
A | B | 輸出
0 | 0 | 0
0 | 1 | 0
1 | 0 | 0
1 | 1 | 1 (只有這一行是 True,因為 A 和 B 同時為 1!)

升級挑戰:三個輸入的真值表

根據你的 Pearson Edexcel 課程大綱,你需要具備處理多達三個輸入(A、B 和 C)的能力。當有三個輸入時,可能的組合數量會跳升到 8 種。

我們怎麼知道會有 8 行?

這有一個簡單的數學公式:\( 2^n \),其中 \( n \) 是輸入的數量。
所以,對於 3 個輸入,即為 \( 2^3 \),計算結果為 \( 2 \times 2 \times 2 = 8 \)。

填寫輸入的隱藏秘訣:

為了確保你不會遺漏任何組合,請依照此規律填寫你的欄位:

  • A 欄: 四個 0,接著四個 1。
  • B 欄: 兩個 0,兩個 1,兩個 0,兩個 1。
  • C 欄: 0, 1, 0, 1, 0, 1, 0, 1。

你知道嗎? 這個規律其實就是在用二進位從 0 數到 7!000, 001, 010, 011, 100, 101, 110, 111。

解決三個輸入的問題

讓我們試著解決:(A AND B) OR C

在處理複雜的邏輯問題時,請記得永遠先解決括號內的部分!

  1. 建立一個 (A AND B) 的欄位。只有當 A 和 B 同時為 1 時,該欄位才會是 1。
  2. 建立最終欄位。觀察你新生成的 (A AND B) 欄位和 C 欄位。只要其中任何一個有 1,輸出就是 1(因為我們使用的是 OR)。
重點總結: 把邏輯運算式當作數學方程式處理。先算括號內,再由內而外擴展!

避免常見錯誤

  • 搞混 AND 和 OR: 記住,AND 是「嚴格」的(需要全部為 1)。OR 是「友善」的(只要有一個 1 即可)。
  • 遺漏行數: 處理 3 個輸入的表格時,務必檢查是否完整寫出了 8 行。
  • 搞錯 NOT 的順序: 初學者常忘記 NOT 會作用在括號的結果上(如果它寫在外面,例如 NOT (A AND B))。請務必先解開括號,最後再將所有位元翻轉!

快速複習盒

NOT: 翻轉位元(0 變 1,1 變 0)。
AND: 只有當所有輸入皆為 1 時,輸出才為 1。
OR: 只要至少有一個輸入為 1,輸出即為 1。
列數: 2 個輸入 = 4 行。3 個輸入 = 8 行。

恭喜你!你已經掌握了驅動地球上每台電腦運作的邏輯核心。繼續練習那些 8 行的真值表,你會發現它們越練越簡單!