Tin Học KHMT
Ôn tập Tin học THPT › Tin học 10 › Bài 5
Tin học 10

Bài 5. Biểu thức lôgic và bảng đúng/sai

Bài này rèn kĩ năng suy luận với những dữ liệu chỉ có hai giá trị đúngsai: ba phép toán AND, OR, NOT, cách lập bảng đúng/sai cho một biểu thức ghép, thứ tự ưu tiên khi tính, và cách chuyển một điều kiện nói bằng tiếng Việt thành biểu thức lôgic.

Chủ đề A · Máy tính, dữ liệu & số hóa - đọc khoảng 12 phút · 24 câu luyện tập trong ứng dụng

Tương ứng sách giáo khoa
  • Kết nối tri thứcTin học 10 - Bài 5. Dữ liệu lôgictr. 24–27
Xem bảng đối chiếu cả bộ →

Bắt đầu bằng một hình dung

Đầu tháng, bảng tin của lớp 10A dán ba tờ giấy nhỏ. Tờ thứ nhất là thông báo của cô chủ nhiệm về chuyến đi thăm làng gốm cuối tuần: bạn nào đã nộp phiếu đăng kí và đã có chữ kí của phụ huynh thì được ghi tên vào danh sách. Hùng đọc xong thì thở phào, vì phiếu đã nộp từ thứ Hai, chữ kí của bố cũng có rồi. Trâm thì tiếc ngẩn ngơ: phiếu nộp rồi nhưng mẹ đi công tác chưa kịp kí, thế là vẫn chưa đủ.

Tờ thứ hai là của cô thủ thư: buổi trưa, học sinh có thẻ thư viện hoặc có giấy giới thiệu của giáo viên chủ nhiệm đều được vào phòng đọc. Lần này thì Trâm yên tâm - bạn ấy không có thẻ nhưng lại có giấy giới thiệu, vậy là vào được. Hai tờ giấy nhìn thoáng qua thì giống nhau, nhưng cách xét lại khác hẳn: tờ trên bắt buộc phải có đủ cả hai điều, tờ dưới chỉ cần một trong hai là xong.

Tờ thứ ba dán dưới cùng, ngắn nhất: những bạn chưa đóng quỹ lớp thì ở lại sau tiết năm. Ở đây thầy giáo không xét việc các bạn đã làm, mà xét đúng cái ngược lại của nó.

Điều đáng để ý là dù ba tờ giấy nói về ba chuyện hoàn toàn khác nhau, câu trả lời cho từng bạn bao giờ cũng chỉ rơi vào một trong hai khả năng: được hoặc không được. Không có ai "được một nửa". Chính kiểu trả lời hai khả năng ấy, cùng ba cách ghép điều kiện vừa gặp - phải có đủ cả hai, chỉ cần một trong hai, và lấy điều ngược lại - là nội dung của bài học này.

Nội dung bài học

  1. 1) Dữ liệu lôgic và ba phép toán AND, OR, NOT
  2. 2) Lập bảng đúng/sai cho biểu thức ghép và thứ tự ưu tiên
  3. 3) Từ câu tiếng Việt đến biểu thức lôgic và điều kiện trong Python

Tóm tắt lý thuyết cần nhớ

  • Dữ liệu lôgic chỉ nhận đúng hai giá trị: đúng (True, tương ứng 1) và sai (False, tương ứng 0), không có giá trị thứ ba.
  • AND chỉ đúng khi cả hai vế cùng đúng; OR chỉ sai khi cả hai vế cùng sai; NOT đảo ngược giá trị của vế đứng sau nó.
  • Bảng đúng/sai phải liệt kê đủ mọi tổ hợp giá trị (n biến cho 2 luỹ thừa n dòng); nên tính các cột trung gian trước rồi mới ghép ra cột kết quả.
  • Thứ tự ưu tiên là NOT trước, rồi AND, cuối cùng là OR, nên đặt ngoặc cho rõ; phủ định của "cả hai cùng đúng" là "ít nhất một cái sai", trong Python viết not, and, or bằng chữ thường.

Thuật ngữ tiếng Anh trong bài

Tiếng AnhĐọc làNghĩa
boolbu(-lờ)kiểu lôgic (bool)
Kiểu lôgic, chỉ có hai giá trị True (Đúng) hoặc False (Sai) - giống công tắc chỉ có bật hoặc tắt, không nửa vời.
BooleanBU-li-ơnkiểu lôgic Boole
Tên đầy đủ của kiểu lôgic (Đúng/Sai), lấy theo tên nhà toán học Boole.
ANDEN-đờphép và (AND)
Chỉ đúng khi CẢ HAI điều kiện cùng đúng - như em chỉ được đi chơi khi vừa làm xong bài tập VÀ vừa dọn xong phòng.
ORO-rờphép hoặc (OR)
Đúng khi chỉ cần MỘT điều kiện đúng thôi - như em được ăn kem khi ngoan HOẶC khi hôm nay là sinh nhật.
NOTnótphép phủ định (NOT)
Đảo ngược đúng thành sai, sai thành đúng - giống công tắc đèn: đang sáng, bấm NOT một cái là tắt ngay.
XORẾCH-o-rờphép hoặc loại trừ (XOR)
Đúng khi hai thứ KHÁC nhau, sai khi hai thứ GIỐNG nhau - như hai công tắc: bật khác nhau thì đèn sáng, giống nhau thì đèn tối.

Câu hỏi trắc nghiệm có đáp án

Mấy câu mẫu để bạn tự kiểm tra ngay. Trong ứng dụng, bài này có đủ 24 câu, chấm điểm tự động và giải thích từng câu sai.

Câu 1 · Nhận biết
Biểu thức A AND B nhận giá trị đúng trong trường hợp nào?
  1. Khi A đúng, không cần quan tâm B
  2. Khi có ít nhất một trong hai giá trị A, B là đúng
  3. Khi cả A và B cùng đúng
  4. Khi cả A và B cùng sai
Đáp án: C - Phép AND đòi hỏi mọi vế cùng đúng thì kết quả mới đúng, nên đáp án là "cả A và B cùng đúng" - trong bảng đúng/sai bốn dòng, AND chỉ cho giá trị 1 ở đúng một dòng. Phương án "chỉ cần A đúng" sai vì nếu B sai thì A AND B vẫn sai. Phương án "ít nhất một trong hai đúng" là mô tả của phép OR chứ không phải AND. Phương án "cả hai cùng sai" lại chính là trường hợp duy nhất làm cho OR sai, và với AND thì kết quả cũng sai.
Câu 2 · Nhận biết
Câu hỏi nào dưới đây cho câu trả lời là một dữ liệu lôgic?
  1. Bạn Nam đã điểm danh buổi sinh hoạt câu lạc bộ chưa?
  2. Lớp 10A có bao nhiêu học sinh?
  3. Tên của bạn lớp trưởng là gì?
  4. Điểm trung bình môn Tin học của bạn Nam là bao nhiêu?
Đáp án: A - Dữ liệu lôgic chỉ nhận hai giá trị đúng hoặc sai, nên câu hỏi "đã điểm danh chưa?" là câu duy nhất cho ra dữ liệu lôgic: câu trả lời chỉ có thể là rồi (đúng) hoặc chưa (sai). Câu hỏi về sĩ số cho ra một số nguyên, câu hỏi về tên lớp trưởng cho ra một xâu kí tự, còn câu hỏi về điểm trung bình cho ra một số thực - cả ba đều có vô số câu trả lời khả dĩ nên không phải dữ liệu lôgic.
Câu 3 · Thông hiểu
Cho A đúng (bằng 1) và B sai (bằng 0). Giá trị của biểu thức NOT A OR B là gì?
  1. Đúng (1), vì A vốn đã đúng
  2. Đúng (1), vì biểu thức có phép OR nên chỉ cần một vế đúng là đủ
  3. Không xác định được vì biểu thức thiếu dấu ngoặc
  4. Sai (0), vì NOT A bằng 0, B bằng 0 mà 0 OR 0 bằng 0
Đáp án: D - Theo thứ tự ưu tiên, NOT được tính trước nên biểu thức là (NOT A) OR B. Với A bằng 1 thì NOT A bằng 0; B đã bằng 0; mà OR chỉ sai khi cả hai vế cùng sai, nên kết quả là 0 (sai). Phương án "đúng vì A vốn đã đúng" sai vì A đã bị phép NOT đảo ngược trước khi ghép với OR. Phương án "chỉ cần một vế đúng" nhắc đúng tính chất của OR nhưng ở đây không vế nào đúng cả. Phương án "không xác định được" cũng sai: thiếu ngoặc thì máy vẫn tính được nhờ quy tắc ưu tiên NOT trước AND trước OR.
Câu Đúng/Sai (Phần II) · Thông hiểu
Cho biết mỗi phát biểu sau đúng hay sai:
  • a)Phép OR chỉ cho kết quả sai trong đúng một trường hợp duy nhất: khi cả hai vế cùng sai.Đúng
  • b)Khi một biểu thức không có dấu ngoặc, Python luôn tính phép and trước phép not.Sai
  • c)Phủ định của điều kiện "đạt điểm 10 môn Toán và đạt điểm 10 môn Lí" là "có ít nhất một trong hai môn không đạt điểm 10".Đúng
  • d)Bảng đúng/sai đầy đủ của một biểu thức có ba biến lôgic gồm 6 dòng.Sai
Vì sao:
  • (a) Đúng - trong bốn dòng bảng đúng/sai của OR, chỉ dòng 0 OR 0 cho kết quả 0, mọi dòng còn lại đều cho 1.
  • (b) Sai - thứ tự ưu tiên là not trước, rồi and, cuối cùng là or; vì vậy not a and b được hiểu là (not a) and b.
  • (c) Đúng - phủ định của "cả hai cùng đúng" là "ít nhất một cái sai", tức NOT (A AND B) bằng (NOT A) OR (NOT B), chứ không phải "cả hai môn đều không đạt điểm 10".
  • (d) Sai - n biến cho 2 luỹ thừa n tổ hợp, nên ba biến cho 8 dòng chứ không phải 6 dòng; con số 6 thường do nhầm lẫn giữa phép nhân 3 nhân 2 với phép luỹ thừa.

Thử ngay: minh hoạ từng bước

Bấm từng bước để tự xem cơ chế hoạt động, hoặc bấm “Tự chạy” cho nó tiến mỗi giây một lần. Đổi được dữ liệu đầu vào - không cần đăng nhập.

Học trọn bài này trong ứng dụng

Bài giảng đầy đủ, 24 câu luyện tập chấm tự động, thi thử đúng cấu trúc đề tốt nghiệp (24 trắc nghiệm + 4 Đúng/Sai), bài thực hành máy tự chấm và gia sư AI giải thích chỗ sai.

Mở bài 5 trong ứng dụng

Phần học miễn phí, không cần tạo tài khoản.