NỘI DUNG ĐÃ HỌC Ở CHƯƠNG II
+ Cấu trúc chương trình
+ Một số kiểu dữ liệu chuẩn, câu lệnh gán, khai báo biến: int, float, str, bool
+ Phép toán số học, phép toán quan hệ, phép toán logic
+ Biểu thức số học, biểu thức quan hệ, biểu thức logic, 1 số hàm số học chuẩn
sin(x), cos(x), ceil(y), fabs(y), factorial(n), gcd(m,n)
+ Hàm chuẩn vào/ra: input() , print()
+ Soạn thảo, chạy chương trình: F5
Bài 9. Câu lệnh rẽ nhánh if.else
CHƯƠNG III. CẤU TRÚC RẼ NHÁNH VÀ CẤU TRÚC LẶP
§9. CÂU LỆNH RẼ NHÁNH if…else
1. Rẽ nhánh
Trong thực tế chúng ta đã từng gặp rất nhiều tình huống có tính chất “rẽ nhánh”, ví dụ:
Tình huống 1:
Chiều nay, nếu trời không mưa thì A sẽ đến nhà B học.
Tình huống 2:
Chiều nay, nếu trời không mưa thì A sẽ đến nhà B học, nếu trời mưa thì A sẽ gọi
điện cho B để trao đổi.
Tình huống 3:
Chiều nay, nếu mình không bận thì 2h mình đến nhà cậu, nếu mình bận thì 4h mình đến nhà cậu,
nếu 4h mình không đến được thì 8h mình đến nhà cậu.
-> Điều kiện dạng thiếu (1 trường hợp)
->Điều kiện dạng đủ (2 trường hợp)
->Điều kiện dạng đặc biệt (3 trường hợp)
1. Rẽ nhánh
Trong toán học, chúng ta cũng gặp nhiều tình huống có tính chất “rẽ nhánh”, ví dụ:
Trong bài toán giải và biện luận phương trình bậc 2.
- Nếu delta<0 thì kết luận “Phương trình vô nghiệm”
- Nếu delta=0 thì kết luận “Phương trình có nghiệm kép x1,2=…”
- Nếu delta>0 thì kết luận “Phương trình có 2 nghiệm phân biệt…”
NNLT Python dùng câu lệnh if…else để biểu diễn sự “rẽ nhánh” này trong lập trình.
Bài 9. Câu lệnh rẽ nhánh if.else
2. Câu lệnh if..else
a) Câu lệnh rẽ nhánh dạng thiếu if…
if <điều kiện>:

+ <điều kiện> là 1 biểu thức quan hệ hoặc biểu thức logic
+ là 1 hay nhiều câu lệnh trong Python
* Hoạt động của câu lệnh if… Chương trình sẽ kiểm tra <điều kiện> trước, nếu <điều kiện> Đúng thì chương trình thực hiện , nếu <điều kiện> Sai thì chương trình bỏ qua
Bài 9. Câu lệnh rẽ nhánh if.else
a>5
x+y>8
(x>6) and (y>10)
2. Câu lệnh if
a) Câu lệnh rẽ nhánh dạng thiếu if…
Ví dụ 1:
if delta<0:
print(“Phương trình vô nghiệm”)
Ví dụ 2:
if a%2==0:
print(a,“là số chẵn”)
Bài 9. Câu lệnh rẽ nhánh if.else
if <điều kiện>:

2. Câu lệnh if
a) Câu lệnh rẽ nhánh dạng thiếu if…
Ví dụ 3: Viết chương trình nhập số nguyên dương n từ bàn phím. Hãy kiểm tra và đưa ra màn hình thông báo n có chia hết cho 3 hay không?
n=int(input("Mời bạn nhập số n="))
if n%3==0:
print(n,"chia hết cho 3")
Bài 9. Câu lệnh rẽ nhánh if.else
if <điều kiện>:

2. Câu lệnh if
a) Câu lệnh rẽ nhánh dạng thiếu if…
Ví dụ 4: Viết chương trình nhập số nguyên dương n từ bàn phím. Hãy kiểm tra và đưa ra màn hình thông báo n có chia hết cho cả 3 và 7 hay không?
n=int(input("Mời bạn nhập số n="))
if n%3==0 and n%7==0:
print(n,"chia hết cho cả 3 và 7")
Bài 9. Câu lệnh rẽ nhánh if.else
if <điều kiện>:

if <điều kiện>:

else:

+ <điều kiện> là 1 biểu thức quan hệ hoặc biểu thức logic
+ là 1 hay nhiều câu lệnh trong Python
* Hoạt động của câu lệnh if…else: Chương trình sẽ kiểm tra <điều kiện> trước, nếu <điều kiện> Đúng thì chương trình thực hiện , nếu điều kiện Sai thì chương trình thực hiện
Bài 9. Câu lệnh rẽ nhánh if.else
2. Câu lệnh if
b) Câu lệnh rẽ nhánh dạng đủ if…else:
Bài 9. Câu lệnh rẽ nhánh if.else
2. Câu lệnh if
b) Câu lệnh rẽ nhánh dạng đủ if…else:
if <điều kiện>:

else:

Ví dụ 3.2: Viết chương trình nhập số nguyên dương n từ bàn phím. Hãy kiểm tra và đưa ra màn hình thông báo n có chia hết cho 3 hay không?
n=int(input("Mời bạn nhập số n="))
if n%3==0:
print(n,"chia hết cho 3")
else:
print(n,"không chia hết cho 3")
Bài 9. Câu lệnh rẽ nhánh if.else
2. Câu lệnh if
b) Câu lệnh rẽ nhánh dạng đủ if…else:
if <điều kiện>:

else:

Ví dụ 4.2: Viết chương trình nhập số nguyên dương n từ bàn phím. Hãy kiểm tra và đưa ra màn hình thông báo n có chia hết cho cả 3 và 7 hay không?
n=int(input("Mời bạn nhập số n="))
if n%3==0 and n%7==0:
print(n,"chia hết cho cả 3 và 7")
else:
print(n,"không chia hết cho cả 3 và 7")
Bài 9. Câu lệnh rẽ nhánh if.else
2. Câu lệnh if
c) Câu lệnh rẽ nhánh dạng đặc biệt
if…elif…else:
if <điều kiện 1>:

elif <điều kiện 2>:

else:

+ <điều kiện 1,2> là 1 biểu thức quan hệ hoặc biểu thức logic
+ là 1 hay nhiều câu lệnh trong Python
Bài 9. Câu lệnh rẽ nhánh if.else
2. Câu lệnh if
c) Câu lệnh rẽ nhánh dạng đặc biệt
if…elif…else:
Ví dụ 4.2: Kiểm tra số nguyên N là số dương, số âm hay số 0
N=int(input())
if N<=0:
print(“Số âm”)
elif N>0:
print(“Số dương”)
else:
print(“Số 0”)
if <điều kiện 1>:

elif <điều kiện 2>:

else:

Bài 9. Câu lệnh rẽ nhánh if.else
Ví dụ:
a=int(input(“Mời bạn nhập số a=”))
if a%2==0:
print(a,“là số chẵn”)
else:
print(a,”là số lẻ”)
print(“Mời bạn thử lại”)
3. Câu lệnh ghép
Câu lệnh ghép trong Python còn gọi là “khối lệnh”, gồm nhiều câu lệnh được thụt đầu dòng cùng một khoảng cách như nhau.
Bài 9. Câu lệnh rẽ nhánh if.else
4. Một số ví dụ
Ví dụ 1. Chương trình giải phương trình bậc hai ax2+bx+c=0 với a≠0
from math import sqrt
print(“Nhập a,b,c khác 0”)
a=float(input(“Số a=”))
b=float(input(“Số b=”))
c=float(input(“Số c=”))
delta=b**2-4*a*c
if delta<0:
print(“Phương trình vô nghiệm”)
elif delta==0:
print(“Phương trình có 1 nghiệm:”,-b/(2*a))
else:
x1=(-b-sqrt(delta))/(2*a)
x2=-b/a-x1
print(“x1=:”,x1)
print(“x2=:”,x2)
Bài 9. Câu lệnh rẽ nhánh if.else
Ví dụ 2: Nhập số năm từ bàn phím, đưa ra màn hình thông báo số ngày của năm đó, biết rằng năm nhuận là năm chia hết cho 400 hoặc chia hết cho 4 và không chia hết cho 100
n=int(input(“Nhập năm”))
if (n%400==0) or (n%4==0 and n%100!=0)):
print(“Số ngày của năm”,n,” là 366”)
else:
print(“Số ngày của năm ”,n,” là 365”)
4. Một số ví dụ
Bài 9. Câu lệnh rẽ nhánh if.else
TỔNG KẾT
a) Câu lệnh rẽ nhánh dạng thiếu if…
if <điều kiện>:

if <điều kiện>:

else:

b) Câu lệnh rẽ nhánh dạng đủ if…else:
c) Câu lệnh rẽ nhánh dạng đặc biệt
if…elif…else:
if <điều kiện 1>:

elif <điều kiện 2>:

else:

nguon VI OLET