Mục lục bài họcĐang ở d09-b2
Circuits and problem statements
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:
- find the inputs, and decide what $1$ means for each — always state this;
- find the condition under which the output is $1$;
- 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.
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:
- 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;
- tìm điều kiện để đầu ra bằng $1$;
- dịch các từ nối thành cổng.
Các từ nối ánh xạ thẳng sang cổng:
- “và”, “cả hai”, “tất cả” → cổng VÀ;
- “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 VÀ;
- “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.
Một chuông báo động kêu khi cảm biến cửa mở và 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À.
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ở và hệ thống đang bật” → cổng VÀ 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.
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.
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”.
Đọ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í.