Slide 1/9
🔀🤔💡
BÀI 19: CÂU LỆNH RẼ NHÁNH IF
"Điều khiển luồng chương trình với câu lệnh if"
Tin học 10 | Lập trình cơ bản
Slide 2/9
🎯 A. YÊU CẦU CẦN ĐẠT
- Hiểu phép toán logic
Hiểu và trình bày được các phép toán với kiểu dữ liệu logic trong Python.
- Sử dụng câu lệnh if
Biết cách sử dụng lệnh rẽ nhánh if để kiểm soát luồng điều khiển trong chương trình.
- Ứng dụng câu lệnh if
Ứng dụng câu lệnh if để viết các chương trình đơn giản xử lý điều kiện.
- Xây dựng chương trình có điều kiện
Thực hiện được các chương trình có sử dụng cấu trúc rẽ nhánh if-else.
Slide 3/9
🔍 1. BIỂU THỨC LOGIC TRONG PYTHON
Định nghĩa:
Biểu thức logic là những biểu thức có thể nhận một trong hai giá trị: True (đúng) hoặc False (sai).
Biểu thức logic là những biểu thức có thể nhận một trong hai giá trị: True (đúng) hoặc False (sai).
📋 Các phép so sánh trong Python:
| Phép toán | Ý nghĩa | Ví dụ |
|---|---|---|
| < | Nhỏ hơn | 5 < 10 → True |
| > | Lớn hơn | 8 > 3 → True |
| == | Bằng nhau | 7 == 7 → True |
| <= | Nhỏ hơn hoặc bằng | 4 <= 4 → True |
| >= | Lớn hơn hoặc bằng | 6 >= 5 → True |
| != | Khác nhau | 9 != 2 → True |
🔗 Các phép toán logic:
🤝
and (và)
Trả về True khi cả hai điều kiện đều đúng.
True and True → True
🔄
or (hoặc)
Trả về True khi ít nhất một điều kiện đúng.
True or False → True
🚫
not (phủ định)
Đảo ngược giá trị logic.
not True → False
📊 Bảng chân trị các phép toán logic:
🤝 Phép AND
| A | B | A and B |
|---|---|---|
| True | True | True |
| True | False | False |
| False | True | False |
| False | False | False |
Quy tắc: Chỉ True khi cả hai đều True
🔄 Phép OR
| A | B | A or B |
|---|---|---|
| True | True | True |
| True | False | True |
| False | True | True |
| False | False | False |
Quy tắc: True khi ít nhất một True
🚫 Phép NOT
| A | not A |
|---|---|
| True | False |
| False | True |
Quy tắc: Đảo ngược giá trị
🎯 Thứ tự ưu tiên các phép toán:
1️⃣
Phép so sánh<, >, ==, !=, <=, >=
2️⃣
notPhủ định
3️⃣
andPhép và
4️⃣
orPhép hoặc
📝 Ví dụ thực tế với thứ tự ưu tiên:
# Ví dụ 1: Thứ tự ưu tiên
x, y, z = 10, 5, 9
kq1 = x > y and z < 15 or x == 5
# Thực hiện: (10 > 5) and (9 < 15) or (10 == 5)
# = True and True or False = True or False = True
# Ví dụ 2: Sử dụng dấu ngoặc
kq2 = x > y and (z < 15 or x == 5)
# Thực hiện: (10 > 5) and ((9 < 15) or (10 == 5))
# = True and (True or False) = True and True = True
# Ví dụ 3: Phép not
kq3 = not x > y and z < 15
# Thực hiện: not (10 > 5) and (9 < 15)
# = not True and True = False and True = False
🔍 Ví dụ ứng dụng thực tế:
🎓 Kiểm tra điều kiện học bổng
diem_tb = 8.5
diem_rl = 85
co_hoc_bong = diem_tb >= 8.0 and diem_rl >= 80
# Kết quả: True
🚗 Kiểm tra điều kiện lái xe
tuoi = 20
co_bang_lai = True
co_the_lai = tuoi >= 18 and co_bang_lai
# Kết quả: True
Lưu ý quan trọng:
• Sử dụng dấu ngoặc
• Phép so sánh được thực hiện trước phép logic
•
•
• Khi không chắc chắn, hãy sử dụng dấu ngoặc để tránh nhầm lẫn
• Sử dụng dấu ngoặc
() để làm rõ thứ tự thực hiện• Phép so sánh được thực hiện trước phép logic
•
not có độ ưu tiên cao hơn and và or•
and có độ ưu tiên cao hơn or• Khi không chắc chắn, hãy sử dụng dấu ngoặc để tránh nhầm lẫn
Slide 4/9
💪 BÀI TẬP CỦNG CỐ: BIỂU THỨC LOGIC
🎯 Hãy dự đoán kết quả của các biểu thức logic sau:
📝 Bài 1: Các phép so sánh cơ bản
5 > 3
Kết quả = ?
10 == 10
Kết quả = ?
7 != 8
Kết quả = ?
✅ Đáp án:
•
•
•
•
5 > 3 → True (5 lớn hơn 3)•
10 == 10 → True (10 bằng 10)•
7 != 8 → True (7 khác 8)
🧠 Bài 2: Các phép toán logic
True and False
Kết quả = ?
True or False
Kết quả = ?
not True
Kết quả = ?
✅ Đáp án:
•
•
•
💡 Giải thích:
• and: Chỉ True khi cả hai đều True
• or: True khi ít nhất một trong hai True
• not: Đảo ngược giá trị logic
•
True and False → False (cần cả hai đều True)•
True or False → True (chỉ cần một trong hai True)•
not True → False (đảo ngược True)💡 Giải thích:
• and: Chỉ True khi cả hai đều True
• or: True khi ít nhất một trong hai True
• not: Đảo ngược giá trị logic
🔥 Bài 3: Biểu thức phức tạp
x = 8
y = 5
kq = (x > y) and (x % 2 == 0)
y = 5
kq = (x > y) and (x % 2 == 0)
Giá trị của biến kq là gì?
🔍 Phân tích từng bước:
•
•
•
•
✅ Kết quả:
•
x = 8, y = 5•
x > y → 8 > 5 → True•
x % 2 == 0 → 8 % 2 == 0 → 0 == 0 → True•
(x > y) and (x % 2 == 0) → True and True → True✅ Kết quả:
kq = True
🎯 Thứ tự ưu tiên các phép toán:
1. Phép so sánh:
2. not (phủ định)
3. and (và)
4. or (hoặc)
1. Phép so sánh:
<, >, ==, !=, <=, >=2. not (phủ định)
3. and (và)
4. or (hoặc)
"Biểu thức logic - Nền tảng của câu lệnh if!" 🔍
Slide 5/9
🔀 2. CÂU LỆNH IF DẠNG THIẾU
🎯 MÔ HÌNH MÔ PHỎNG SƠ ĐỒ KHỐI
🚀 BẮT ĐẦU
🤔 ĐIỀU KIỆN
n > 0
n > 0
?
✅ TRUE
📝 THỰC THI
print("Số dương")
print("Số dương")
❌ FALSE
⏭️ BỎ QUA
Không làm gì
Không làm gì
🏁 KẾT THÚC
🎮 Thử nghiệm với các giá trị khác nhau:
Công dụng:
Câu lệnh if dạng thiếu chỉ thực thi khối lệnh khi điều kiện đúng (True). Nếu điều kiện sai (False), chương trình bỏ qua khối lệnh.
Câu lệnh if dạng thiếu chỉ thực thi khối lệnh khi điều kiện đúng (True). Nếu điều kiện sai (False), chương trình bỏ qua khối lệnh.
📝 Cú pháp:
if <điều kiện>:
<khối lệnh>
📝 Ví dụ thực tế:
n = int(input("Nhập một số: "))
if n > 0:
print("Số bạn nhập là số dương")
Lưu ý về thụt lề:
• Python sử dụng thụt lề (thường là 4 dấu cách) để xác định khối lệnh
• Tất cả các lệnh trong khối if phải có cùng mức thụt lề
• Thiếu thụt lề sẽ gây lỗi cú pháp
• Python sử dụng thụt lề (thường là 4 dấu cách) để xác định khối lệnh
• Tất cả các lệnh trong khối if phải có cùng mức thụt lề
• Thiếu thụt lề sẽ gây lỗi cú pháp
Slide 6/9
🔄 3. CÂU LỆNH IF DẠNG ĐỦ (IF-ELSE)
🎯 MÔ HÌNH MÔ PHỎNG IF-ELSE
🚀 BẮT ĐẦU
🤔 ĐIỀU KIỆN
n % 2 == 0
n % 2 == 0
?
✅ TRUE
📝 THỰC THI IF
print("Số chẵn")
print("Số chẵn")
❌ FALSE
📝 THỰC THI ELSE
print("Số lẻ")
print("Số lẻ")
🏁 KẾT THÚC
🎮 Thử nghiệm với các giá trị khác nhau:
Công dụng:
Câu lệnh if-else cho phép thực thi một trong hai khối lệnh: khối lệnh 1 khi điều kiện đúng, khối lệnh 2 khi điều kiện sai.
Câu lệnh if-else cho phép thực thi một trong hai khối lệnh: khối lệnh 1 khi điều kiện đúng, khối lệnh 2 khi điều kiện sai.
📝 Cú pháp:
if <điều kiện>:
<khối lệnh 1>
else:
<khối lệnh 2>
✅
Điều kiện đúng
Khi điều kiện trả về True, thực thi khối lệnh 1 (sau if).
❌
Điều kiện sai
Khi điều kiện trả về False, thực thi khối lệnh 2 (sau else).
🎯
Luôn có kết quả
Với if-else, chương trình luôn thực thi một trong hai khối lệnh.
📝 Ví dụ thực tế:
n = int(input("Nhập một số: "))
if n % 2 == 0:
print("Số đã nhập là số chẵn.")
else:
print("Số đã nhập là số lẻ.")
🎯 Minh họa luồng thực thi:
✅
Trường hợp 1:Nhập:
8Điều kiện:
8 % 2 == 0 → TrueKết quả: "Số đã nhập là số chẵn."
❌
Trường hợp 2:Nhập:
7Điều kiện:
7 % 2 == 0 → FalseKết quả: "Số đã nhập là số lẻ."
🔍 Ví dụ khác - Kiểm tra tuổi:
tuoi = int(input("Nhập tuổi của bạn: "))
if tuoi >= 18:
print("Bạn đã đủ tuổi trưởng thành")
else:
print("Bạn chưa đủ tuổi trưởng thành")
💡 So sánh if dạng thiếu và if-else:
• If dạng thiếu: Có thể không thực thi lệnh nào
• If-else: Luôn thực thi một trong hai khối lệnh
• Khi nào dùng if-else: Khi cần xử lý cả hai trường hợp đúng/sai
• If dạng thiếu: Có thể không thực thi lệnh nào
• If-else: Luôn thực thi một trong hai khối lệnh
• Khi nào dùng if-else: Khi cần xử lý cả hai trường hợp đúng/sai
Slide 7/9
🔀 4. CÂU LỆNH IF NHIỀU NHÁNH (IF-ELIF-ELSE)
🎯 MÔ HÌNH MÔ PHỎNG IF-ELIF-ELSE
🚀 BẮT ĐẦU
🤔 ĐIỀU KIỆN 1
diem >= 9.0
diem >= 9.0
✅ TRUE
📝 "Xuất sắc"
❌ FALSE - Tiếp tục
🤔 ĐIỀU KIỆN 2
diem >= 8.0
diem >= 8.0
✅ TRUE
📝 "Giỏi"
❌ FALSE
📝 ELSE
"Khác"
"Khác"
🏁 KẾT THÚC
🎮 Thử nghiệm với các điểm số khác nhau:
Công dụng:
Câu lệnh if-elif-else cho phép kiểm tra nhiều điều kiện khác nhau và thực thi khối lệnh tương ứng.
Câu lệnh if-elif-else cho phép kiểm tra nhiều điều kiện khác nhau và thực thi khối lệnh tương ứng.
📝 Cú pháp:
if <điều kiện 1>:
<khối lệnh 1>
elif <điều kiện 2>:
<khối lệnh 2>
else:
<khối lệnh 3>
📝 Ví dụ thực tế - Tính tiền điện:
k = float(input("Nhập số kWh tiêu thụ điện: "))
if k <= 50:
t = k * 1.678
elif k <= 100:
t = 50 * 1.678 + (k - 50) * 1.734
else:
t = 50 * 1.678 + 50 * 1.734 + (k - 100) * 2.014
print("Số tiền điện phải trả là:", round(t), "nghìn đồng")
🎯 Minh họa bảng giá điện:
| Mức tiêu thụ (kWh) | Giá (nghìn đồng/kWh) | Điều kiện |
|---|---|---|
| 0 - 50 | 1.678 | k <= 50 |
| 51 - 100 | 1.734 | k <= 100 |
| Trên 100 | 2.014 | k > 100 |
🔍 Ví dụ khác - Xếp loại học lực:
diem = float(input("Nhập điểm trung bình: "))
if diem >= 9.0:
print("Học lực: Xuất sắc")
elif diem >= 8.0:
print("Học lực: Giỏi")
elif diem >= 6.5:
print("Học lực: Khá")
elif diem >= 5.0:
print("Học lực: Trung bình")
else:
print("Học lực: Yếu")
💡 Lưu ý về if-elif-else:
• Chỉ thực thi một khối lệnh duy nhất
• Kiểm tra điều kiện từ trên xuống dưới
• Khi gặp điều kiện đúng đầu tiên, bỏ qua các điều kiện còn lại
•
• Chỉ thực thi một khối lệnh duy nhất
• Kiểm tra điều kiện từ trên xuống dưới
• Khi gặp điều kiện đúng đầu tiên, bỏ qua các điều kiện còn lại
•
else là tùy chọn, xử lý trường hợp không thỏa mãn điều kiện nào
Slide 8/9
💻 5. BÀI TẬP THỰC HÀNH
🎯 Thực hành viết chương trình với câu lệnh if:
🔸 Bài 1: Kiểm Tra Số Chẵn, Lẻ
✅ Yêu cầu: Viết chương trình nhập một số nguyên từ bàn phím và kiểm tra xem số đó là chẵn hay lẻ.
📌 Hướng dẫn:
• Sử dụng
• Chuyển đổi sang kiểu
• Sử dụng phép chia lấy dư
• Dùng câu lệnh
📌 Hướng dẫn:
• Sử dụng
input() để nhập số• Chuyển đổi sang kiểu
int• Sử dụng phép chia lấy dư
% để kiểm tra• Dùng câu lệnh
if-else để phân loại
📌 Code mẫu:
# Nhập số tự nhiên từ người dùng
n = int(input("Nhập số tự nhiên n: "))
# Kiểm tra số chẵn hay lẻ
if n % 2 == 0:
print("Số đã nhập là số chẵn.")
else:
print("Số đã nhập là số lẻ.")
🎯 Ví dụ chạy chương trình:
Trường hợp 1:
Nhập số tự nhiên n: 8
Số đã nhập là số chẵn.
Trường hợp 2:
Nhập số tự nhiên n: 7
Số đã nhập là số lẻ.
Nhập số tự nhiên n: 8
Số đã nhập là số chẵn.
Trường hợp 2:
Nhập số tự nhiên n: 7
Số đã nhập là số lẻ.
🔸 Bài 2: Tính Tiền Điện
✅ Yêu cầu: Viết chương trình nhập số kWh điện tiêu thụ và tính số tiền điện phải trả theo bảng giá lũy kế.
📌 Bảng giá:
• 0-50 kWh: 1.678 nghìn đồng/kWh
• 51-100 kWh: 1.734 nghìn đồng/kWh
• Trên 100 kWh: 2.014 nghìn đồng/kWh
📌 Hướng dẫn: Sử dụng
📌 Bảng giá:
• 0-50 kWh: 1.678 nghìn đồng/kWh
• 51-100 kWh: 1.734 nghìn đồng/kWh
• Trên 100 kWh: 2.014 nghìn đồng/kWh
📌 Hướng dẫn: Sử dụng
if-elif-else
📌 Code mẫu:
# Nhập số kWh tiêu thụ điện
k = float(input("Nhập số kWh tiêu thụ điện: "))
# Tính tiền điện theo bảng giá lũy kế
if k <= 50:
t = k * 1.678
elif k <= 100:
t = 50 * 1.678 + (k - 50) * 1.734
else:
t = 50 * 1.678 + 50 * 1.734 + (k - 100) * 2.014
# Hiển thị kết quả
print("Số tiền điện phải trả là:", round(t), "nghìn đồng")
🎯 Ví dụ chạy chương trình:
Nhập số kWh tiêu thụ điện: 120
Số tiền điện phải trả là: 211 nghìn đồng
Giải thích:
• 50 kWh đầu: 50 × 1.678 = 83.9
• 50 kWh tiếp: 50 × 1.734 = 86.7
• 20 kWh cuối: 20 × 2.014 = 40.28
• Tổng: 83.9 + 86.7 + 40.28 = 210.88 ≈ 211
Số tiền điện phải trả là: 211 nghìn đồng
Giải thích:
• 50 kWh đầu: 50 × 1.678 = 83.9
• 50 kWh tiếp: 50 × 1.734 = 86.7
• 20 kWh cuối: 20 × 2.014 = 40.28
• Tổng: 83.9 + 86.7 + 40.28 = 210.88 ≈ 211
🎯 Quy trình giải bài tập với câu lệnh if:
• Bước 1: Phân tích bài toán, xác định điều kiện
• Bước 2: Nhập dữ liệu cần thiết
• Bước 3: Viết biểu thức logic kiểm tra điều kiện
• Bước 4: Sử dụng if/if-else/if-elif-else phù hợp
• Bước 5: Kiểm tra và hiển thị kết quả
• Bước 1: Phân tích bài toán, xác định điều kiện
• Bước 2: Nhập dữ liệu cần thiết
• Bước 3: Viết biểu thức logic kiểm tra điều kiện
• Bước 4: Sử dụng if/if-else/if-elif-else phù hợp
• Bước 5: Kiểm tra và hiển thị kết quả
"Câu lệnh if - Trái tim của lập trình!" 🔀💡
Slide 9/9
🔀🤔💡
THÀNH THẠO CÂU LỆNH RẼ NHÁNH IF
"Câu lệnh if giúp chương trình có thể đưa ra quyết định thông minh."
🔀🧠
"Với câu lệnh if, chương trình trở nên linh hoạt và thông minh hơn!"
🚀✨
🎯 Những gì đã học hôm nay:
🔍
Biểu thức logicTrue/False, and/or/not
🔀
Câu lệnh ifRẽ nhánh điều kiện
🔄
If-elseXử lý hai trường hợp
🌟
If-elif-elseNhiều điều kiện
💡 Ứng dụng thực tế:
🔢
Kiểm tra số chẵn/lẻPhân loại dữ liệu
💰
Tính tiền điệnBảng giá lũy kế
🎓
Xếp loại học lựcPhân hạng theo điểm
Hãy thực hành viết chương trình có điều kiện! 🎓✨
1 / 9
