Điều kiện trong câu lệnh rẽ nhánh là gì? Giải thích và ví dụ

Trả lời nhanh

Trong câu lệnh rẽ nhánh, điều kiện là một biểu thức cho kết quả đúng (True) hoặc sai (False), thường là biểu thức so sánh (quan hệ) hoặc biểu thức logic. Nếu điều kiện đúng, chương trình thực hiện nhánh thứ nhất; nếu sai, chương trình bỏ qua nhánh đó hoặc thực hiện nhánh còn lại.

Điều kiện trong câu lệnh rẽ nhánh là gì?

Câu lệnh rẽ nhánh giúp chương trình “biết lựa chọn” giống như đời sống: nếu trời mưa thì mang ô, nếu không thì thôi. Phần “trời mưa” chính là điều kiện.

Trong lập trình, điều kiện luôn phải trả lời được bằng đúng một trong hai giá trị: đúng hoặc sai. Không có giá trị “có lẽ” hay “gần đúng”.

Hai dạng rẽ nhánh và vai trò của điều kiện

Dạng Cấu trúc Khi điều kiện đúng Khi điều kiện sai
Rẽ nhánh thiếu (dạng 1) Nếu <điều kiện> thì <lệnh> Thực hiện lệnh Bỏ qua, đi tiếp
Rẽ nhánh đủ (dạng 2) Nếu <điều kiện> thì <lệnh 1> nếu không thì <lệnh 2> Thực hiện lệnh 1 Thực hiện lệnh 2

Các loại biểu thức dùng làm điều kiện

  • Biểu thức quan hệ (so sánh): dùng các phép >, <, >=, <=, == (bằng), != (khác). Ví dụ: diem >= 5.
  • Biểu thức logic: ghép nhiều điều kiện nhỏ bằng and (và), or (hoặc), not (phủ định). Ví dụ: tuoi >= 6 and tuoi <= 11.

Ví dụ minh hoạ

Ví dụ 1 (Python):

diem = 7
if diem >= 5:
    print("Đạt")
else:
    print("Chưa đạt")

Điều kiện diem >= 5 với diem = 7 cho kết quả đúng, nên chương trình in “Đạt”. Nếu diem = 4, điều kiện sai và chương trình in “Chưa đạt”.

Ví dụ 2 (Scratch): khối nếu … thì … nếu không thì … có một ô hình lục giác để gắn điều kiện, chẳng hạn khối (tuổi) > 10. Ô này chỉ nhận biểu thức cho giá trị đúng/sai, nên không thể thả một con số hay một đoạn chữ vào đó.

Vì sao điều kiện không thể là một giá trị khác?

Máy tính chỉ có hai lối đi tại một ngã rẽ. Nếu điều kiện cho nhiều kết quả (như số 3 hay chữ “abc”) thì máy không biết chọn nhánh nào. Vì vậy điều kiện bắt buộc là biểu thức có hai giá trị đúng/sai.

Lỗi sai thường gặp

  • Nhầm = với ==: = là phép gán giá trị, còn == mới là phép so sánh bằng (trong Python). Viết if x = 5 sẽ báo lỗi.
  • Quên dấu hai chấm sau điều kiện trong Python, hoặc thụt lề sai ở các lệnh thuộc nhánh.
  • Viết điều kiện kép sai: 5 < x < 10 trong ngôn ngữ khác Python nên viết x > 5 and x < 10.
  • Cho rằng điều kiện sai thì chương trình dừng: thực ra chương trình chỉ bỏ qua nhánh đó và chạy tiếp các lệnh phía sau.

Mẹo nhớ

Hãy nhớ câu: “Điều kiện là câu hỏi Có/Không”. Câu “Điểm có lớn hơn hoặc bằng 5 không?” trả lời được Có hoặc Không, nên làm điều kiện được. Câu “Điểm là bao nhiêu?” thì không.

Bài luyện tập

  1. Với x = 8, biểu thức x > 5 and x < 10 cho giá trị đúng hay sai?
    Đáp án: Đúng, vì 8 > 5 đúng và 8 < 10 đúng.
  2. Với a = 3, b = 3, biểu thức a != b cho giá trị gì? Chương trình if a != b: print("Khác") in ra gì?
    Đáp án: Sai (a bằng b). Chương trình không in gì vì nhánh bị bỏ qua.
  3. Viết điều kiện kiểm tra số n là số chẵn.
    Đáp án: n % 2 == 0 (phần dư khi chia cho 2 bằng 0).

Câu hỏi thường gặp

Điều kiện trong câu lệnh rẽ nhánh nhận những giá trị nào?

Chỉ nhận hai giá trị: đúng (True) hoặc sai (False). Kết quả này quyết định nhánh lệnh nào được thực hiện.

Điều kiện có thể là biểu thức số học như 3 + 4 không?

Không nên. Điều kiện cần là biểu thức quan hệ hoặc logic, ví dụ 3 + 4 > 5. Chỉ riêng 3 + 4 cho ra số 7, không phải đúng/sai.

Khi điều kiện sai thì chương trình làm gì?

Với rẽ nhánh dạng thiếu, chương trình bỏ qua lệnh và chạy tiếp. Với dạng đủ, chương trình thực hiện lệnh sau 'nếu không'.

Làm sao ghép nhiều điều kiện trong một câu lệnh rẽ nhánh?

Dùng phép logic and (và), or (hoặc), not (phủ định) để nối các biểu thức so sánh, ví dụ x > 5 and x < 10.