Mục lục bài họcĐang ở d09-b2
← IGCSE Computer Science
0/18 bài đã học xong
Chương 9 · Boolean Logic · Bài 2/2 của chương · bài 18/18 của IGCSE Computer Science

Circuits and problem statements

Mạch logic và bài toán mô tả bằng lời
← Mục lục bài học
Lý thuyết · English

From expression to circuit

A logic circuit is a diagram of gates wired together. Reading one is a matter of working from the inputs on the left towards the output on the right, labelling the output of each gate as you go.

Building one from an expression works the other way: identify the bracketed parts first, since those are the gates nearest the inputs, and the operation outside the brackets is the gate nearest the output.

For $X = (A \ \text{AND} \ B) \ \text{OR} \ (\text{NOT} \ C)$:

  • an AND gate takes $A$ and $B$;
  • a NOT gate takes $C$;
  • an OR gate takes those two outputs and produces $X$.

From a problem statement to logic

Exam questions usually describe a real system in words. The method is fixed:

  1. find the inputs, and decide what $1$ means for each — always state this;
  2. find the condition under which the output is $1$;
  3. translate the joining words into gates.

The joining words map directly:

"and", "both", "all of"AND
"or", "either", "at least one"OR
"not", "is off", "is closed", "fails to"NOT
"either … but not both", "differ"XOR

A worked statement

An alarm sounds when the door sensor is open AND the system is armed, or when the panic button is pressed.

Inputs: $D = 1$ means the door is open; $S = 1$ means the system is armed; $P = 1$ means the panic button is pressed.

$$X = (D \ \text{AND} \ S) \ \text{OR} \ P$$

Note the panic button is joined by OR and stands alone — it works whether or not the system is armed. That is exactly what a panic button should do, and getting it wrong (by putting it inside the AND) would make the alarm useless.

Watch the wording carefully

Two phrases that change the answer:

  • "only if both" → AND;
  • "unless" → usually a NOT.

And the one that separates grades: "either A or B but not both" is XOR, not OR. If a question takes the trouble to say "but not both", it is telling you which gate to use.

Checking your answer

Always test the expression against one or two rows you can reason about in words. For the alarm above: if the panic button is pressed but nothing else, then $P = 1$, so $X = 1$. The alarm sounds — which is right.

This check costs seconds and catches most errors.

Giải thích tiếng Việt

Từ biểu thức sang mạch. Một mạch logic là sơ đồ các cổng nối với nhau. Đọc một mạch là việc đi từ các đầu vào bên trái sang đầu ra bên phải, và ghi nhãn cho đầu ra của từng cổng khi đi qua.

Dựng mạch từ một biểu thức thì làm ngược lại: xác định các phần trong ngoặc trước, vì đó là những cổng gần đầu vào nhất; còn phép toán ngoài ngoặc là cổng gần đầu ra nhất.

Với $X = (A \ \text{VÀ} \ B) \ \text{HOẶC} \ (\text{ĐẢO} \ C)$:

  • một cổng VÀ nhận $A$ và $B$;
  • một cổng ĐẢO nhận $C$;
  • một cổng HOẶC nhận hai đầu ra đó và cho ra $X$.

Từ bài toán mô tả bằng lời sang logic. Đề thi thường mô tả một hệ thống thật bằng lời. Cách làm cố định:

  1. tìm các đầu vào, và quyết định $1$ nghĩa là gì với mỗi cái — luôn phải nêu rõ điều này;
  2. tìm điều kiện để đầu ra bằng $1$;
  3. dịch các từ nối thành cổng.

Các từ nối ánh xạ thẳng sang cổng:

  • ”, “cả hai”, “tất cả” → cổng ;
  • hoặc”, “một trong hai”, “ít nhất một” → cổng HOẶC;
  • không”, “đang tắt”, “đang đóng”, “không đạt” → cổng ĐẢO;
  • một trong hai nhưng không cả hai”, “khác nhau” → cổng HOẶC LOẠI TRỪ.

Một bài mẫu.

Chuông báo động kêu khi cảm biến cửa đang mở VÀ hệ thống đang bật, hoặc khi nút khẩn cấp được nhấn.

Đầu vào: $D = 1$ nghĩa là cửa đang mở; $S = 1$ nghĩa là hệ thống đang bật; $P = 1$ nghĩa là nút khẩn cấp được nhấn.

$$X = (D \ \text{VÀ} \ S) \ \text{HOẶC} \ P$$

Chú ý nút khẩn cấp được nối bằng cổng HOẶC và đứng riêng — nó hoạt động bất kể hệ thống có đang bật hay không. Đó đúng là điều một nút khẩn cấp phải làm, và làm sai chỗ này (bằng cách đưa nó vào trong cổng VÀ) sẽ khiến chuông báo vô dụng.

Đọc kỹ câu chữ. Hai cụm từ làm đổi hẳn đáp án:

  • chỉ khi cả hai” → cổng ;
  • trừ khi” → thường là một cổng ĐẢO.

Và cụm phân loại điểm số: “một trong hai nhưng không được cả hai” là cổng HOẶC LOẠI TRỪ, không phải cổng HOẶC. Nếu đề chịu khó nói thêm “nhưng không cả hai”, đó là đề đang chỉ ra cổng phải dùng.

Kiểm lại đáp án. Luôn thử biểu thức với một hoặc hai hàng mà ta lập luận được bằng lời. Với chuông báo ở trên: nếu chỉ nhấn nút khẩn cấp mà không có gì khác, thì $P = 1$ nên $X = 1$ — chuông kêu, đúng như mong đợi.

Phép kiểm này tốn vài giây và bắt được hầu hết lỗi.

X = (A VÀ B) HOẶC (ĐẢO C) Trong ngoặc → cổng gần ĐẦU VÀO. Ngoài ngoặc → cổng gần ĐẦU RA. A B A VÀ B C ĐẢO ĐẢO C HOẶC X Đọc mạch: đi từ TRÁI sang PHẢI, ghi nhãn đầu ra của TỪNG cổng khi đi qua.
Hai cổng trong ngoặc chạy song song rồi mới gặp nhau ở cổng cuối — đó là lý do biểu thức có hai cặp ngoặc.
Ví dụ — dịch một bài toán bằng lời sang biểu thức logic

Một chuông báo động kêu khi cảm biến cửa mở hệ thống đang bật, hoặc khi nút khẩn cấp được nhấn. Nêu các đầu vào, viết biểu thức logic, kiểm lại đáp án, và giải thích hậu quả nếu đặt nút khẩn cấp vào trong cổng VÀ.

Giải.

Bước 1 — nêu các đầu vào và ý nghĩa của giá trị $1$.

Bước này bắt buộc phải viết ra, vì nếu không nêu rõ thì biểu thức không có nghĩa xác định.

  • $D = 1$ nghĩa là cửa đang mở;
  • $S = 1$ nghĩa là hệ thống đang bật;
  • $P = 1$ nghĩa là nút khẩn cấp được nhấn.

Bước 2 — dịch các từ nối.

Đề nói “cửa mở hệ thống đang bật” → cổng nối $D$ với $S$.

Đề nói “hoặc khi nút khẩn cấp được nhấn” → cổng HOẶC nối kết quả trên với $P$.

Bước 3 — viết biểu thức.

$$X = (D \ \text{VÀ} \ S) \ \text{HOẶC} \ P$$

Cặp ngoặc quan trọng: nó cho biết cổng VÀ chạy trước, và đầu ra của nó mới đi vào cổng HOẶC.

Bước 4 — kiểm lại bằng một trường hợp lập luận được bằng lời.

Thử: chỉ nhấn nút khẩn cấp, cửa đóng, hệ thống chưa bật.

Khi đó $D = 0$, $S = 0$, $P = 1$.

$D \ \text{VÀ} \ S = 0$. Nhưng cổng HOẶC chỉ cần một giá trị $1$, và $P = 1$, nên $X = 1$.

Chuông kêu — đúng như mong đợi.

Thử tiếp: cửa mở nhưng hệ thống chưa bật, không ai nhấn nút. $D = 1$, $S = 0$, $P = 0$. Khi đó $D \ \text{VÀ} \ S = 0$ và $P = 0$, nên $X = 0$. Chuông không kêu — cũng đúng, vì hệ thống chưa bật thì mở cửa là chuyện bình thường.

Hậu quả nếu đặt nút khẩn cấp vào trong cổng VÀ.

Biểu thức sai sẽ là $X = D \ \text{VÀ} \ S \ \text{VÀ} \ P$, hoặc $X = (D \ \text{HOẶC} \ P) \ \text{VÀ} \ S$.

Ở cả hai dạng sai, chuông chỉ kêu khi hệ thống đang bật.

Vì sao đó là lỗi nghiêm trọng. Nút khẩn cấp tồn tại đúng để dùng trong tình huống bất ngờ — khi có người đột nhập giữa ban ngày, lúc hệ thống báo động đang tắt.

Một nút khẩn cấp chỉ hoạt động khi hệ thống đã bật là vô dụng, vì đúng lúc cần nhất thì nó không kêu.

Đây là ví dụ cho thấy vì sao phải đọc kỹ cấu trúc câu: chữ “hoặc” trong đề đặt nút khẩn cấp đứng riêng, ngoài cặp ngoặc.

Ví dụ — khi nào dùng HOẶC LOẠI TRỪ

Một hệ thống cảnh báo cho lò nung phải bật khi một trong hai cảm biến nhiệt báo quá nóng, nhưng không phải cả hai — vì cả hai cùng báo nghĩa là lò thật sự cháy và cần quy trình khác. Viết biểu thức, lập bảng chân trị, và giải thích vì sao dùng cổng HOẶC ở đây là sai.

Giải.

Nhận diện cổng.

Cụm từ quyết định là “nhưng không phải cả hai”. Khi đề chịu khó nói thêm câu này, nó đang chỉ ra cổng phải dùng: đó là cổng HOẶC LOẠI TRỪ.

Đầu vào. $A = 1$ nghĩa là cảm biến thứ nhất báo quá nóng; $B = 1$ nghĩa là cảm biến thứ hai báo quá nóng.

Biểu thức.

$$X = A \ \text{HOẶC LOẠI TRỪ} \ B$$

Bảng chân trị. Hai đầu vào nên có $2^2 = 4$ hàng.

$A = 0$, $B = 0$ → $X = 0$ (không cảm biến nào báo, không cảnh báo)

$A = 0$, $B = 1$ → $X = 1$ (một cảm biến báo, bật cảnh báo)

$A = 1$, $B = 0$ → $X = 1$ (một cảm biến báo, bật cảnh báo)

$A = 1$, $B = 1$ → $X = 0$ (cả hai cùng báo, không bật cảnh báo này)

Vì sao dùng cổng HOẶC là sai.

Cổng HOẶC cho $X = 1$ khi ít nhất một đầu vào bằng $1$, kể cả khi cả hai đều bằng $1$.

Ba hàng đầu của hai bảng giống hệt nhau. Chúng chỉ khác ở đúng hàng cuối: cổng HOẶC cho $1$ ở đó, còn cổng HOẶC LOẠI TRỪ cho $0$.

Hậu quả thực tế của việc dùng nhầm. Khi cả hai cảm biến cùng báo — tức lò thật sự đang cháy — hệ thống dùng cổng HOẶC sẽ bật cùng một cảnh báo như khi chỉ một cảm biến báo.

Nhân viên nhìn thấy tín hiệu quen thuộc và xử lý theo quy trình thông thường, trong khi tình huống thật sự đòi quy trình khẩn cấp khác hẳn.

Nói cách khác, lỗi một hàng trong bảng chân trị làm hệ thống không phân biệt được hai tình huống có mức nguy hiểm hoàn toàn khác nhau.

Cách nhớ để không nhầm lại: cổng HOẶC là “trà hoặc cà phê, lấy cả hai cũng được”; cổng HOẶC LOẠI TRỪ là “trà hoặc cà phê, nhưng không được cả hai”.

Bẫy hay mất điểm — Bỏ qua cụm “nhưng không phải cả hai” trong đề và dùng cổng HOẶC thay vì HOẶC LOẠI TRỪ. Khi một câu hỏi chịu khó nói thêm câu ấy, nó đang chỉ thẳng ra cổng phải dùng — người viết đề không thêm chữ thừa. Hai cổng này giống nhau ở ba hàng đầu nên bài làm vẫn có vẻ hợp lý, và chỉ sai ở hàng cuối — nhưng đó thường là hàng quan trọng nhất về mặt thực tế: hai cảm biến cùng báo nghĩa là tình huống nguy hiểm hơn hẳn một cảm biến báo. Bẫy thứ hai, cùng loại “đọc không kỹ”: đưa một đầu vào đứng riêng vào trong cặp ngoặc. Trong câu “chuông kêu khi cửa mở hệ thống bật, hoặc khi nút khẩn cấp được nhấn”, nút khẩn cấp nối bằng cổng HOẶC và nằm ngoài ngoặc — nó phải hoạt động bất kể hệ thống có bật hay không. Đặt nhầm nó vào trong cổng VÀ khiến nút khẩn cấp chỉ kêu khi hệ thống đã bật, tức vô dụng đúng lúc cần nhất.
Phải nhớ — Dựng mạch từ biểu thức: phần trong ngoặc là cổng gần đầu vào, phép toán ngoài ngoặc là cổng gần đầu ra. Đọc mạch thì đi trái sang phải và ghi nhãn đầu ra từng cổng. Với bài mô tả bằng lời: nêu rõ $1$ nghĩa là gì cho mỗi đầu vào, tìm điều kiện để đầu ra bằng $1$, rồi dịch từ nối — “và” → , “hoặc” → HOẶC, “không / đang tắt” → ĐẢO, “nhưng không cả hai” → HOẶC LOẠI TRỪ. Cuối cùng luôn thử một hàng lập luận được bằng lời — phép kiểm này tốn vài giây và bắt được hầu hết lỗi.

Đọc xong rồi — làm thử ngay

Bài tập của chương Boolean Logic gồm 14 câu trắc nghiệm và 5 đề tự luận. Đáp án hiện ngay khi chọn, miễn phí.

Làm bài tập chương →