Bài 3 – Cấu trúc rẽ nhánh trong ngôn ngữ lập trình Python
1. Rẽ nhánh dạng thiếu
a. Cú pháp:
if <điều kiện> :
<Dãy các lệnh>
b. Ý nghĩa: Nếu điều kiện đúng thì <Dãy các lệnh> được thực hiện và bị bỏ qua khi điều kiện sai
+ Dãy các lệnh thụt vào 1 tab so với if (gọi là dãy các lệnh thuộc if)
+ Nếu dãy các lệnh chỉ gồm một dòng lệnh thì có thể đặt sau dấu :
c. Ví dụ:
(1) if delta<0: print(“Phuong trinh vo nghiem”)
(2) if delta>0:
x1 = (-b – math.sqrt(delta))/(2*a)
x2 = -b/a – x1
print(“Phuong trinh co 2 nghiem phan biet”)
print(“X1 =“,x1,” X2 =“,x2)
Dãy gồm 4 câu lệnh thuộc if, các câu lệnh này thụt vào 1 tab so với câu lệnh if (Câu lệnh ghép)
2. Rẽ nhánh dạng đầy đủ
a. Cú pháp:
if <điều kiện 1> :
<Dãy các lệnh 1>
elif <điều kiện 2>:
<Dãy các lệnh 2>]
……
[else:
<Dãy các lệnh>]
b. Ý nghĩa: Kiểm tra điều kiện 1, nếu điều kiện 1 đúng thì thực hiện dãy các lệnh 1, ngược lại thì kiểm tra điều kiện 2, nếu điều kiện 2 đúng thì thực hiện dãy các lệnh 2, ngược lại thì kiểm tra điều kiện của elif tiếp theo, nếu các điều kiện tiếp theo vẫn không đúng thì thực hiện dãy các lệnh.
– Ví dụ:
(1) if n == 0: print(“Bằng không”)
elif n > 0: print(“Đây là số dương”)
else: print(“Đây là số âm”)
(2) if n%2 == 0: print(“Đây là số chẵn”)
else: print(“Đây là số lẻ”)
3. Câu lệnh if lồng nhau
Ví dụ 1: Viết chương trình giải phương trình bậc nhất một ẩn ax + b = 0
Chương trình:
a, b = map(float,input(“Moi nhap he so a, b: “).split())
if a == 0:
if b == 0: print(“Phuong trinh co vo so nghiem”)
else: print(“Phuong trinh vo nghiem”)
else: print(“Phuong trinh co nghiem x =“,-b/a)
Ví dụ 2: Viết chương trình giải phương trình bậc hai một ẩn ax2 + bx + c = 0
Hướng dẫn:
delta = b*b – 4*a*c
delta < 0: Phương trình vô nghiêm
delta = 0: Phương trình có nghiệm kép x1 = x2 = -b/(2*a)
delta > 0: Phương trình có 2 nghiệm phân biệt x1 = (-b – math.sqrt(delta))/(2*a); x2 = -b/a – x1
Phần bài tập cấu trúc rẽ nhánh:
Câu 1: Viết chương trình nhập vào số nguyên dương n, sau đó xuất ra màn hình đó là số chẵn hay số lẻ?
Câu 2: Viết chương trình kiểm tra bộ ba số a, b, c nhập vào từ bàn phím có phải là bộ ba cạnh của một tam giác hay không?
Câu 3: Viết chương trình kiểm tra xem điểm M(x,y) nằm trong, trên hay ngoài đường tròn tâm I(a,b) và bán kính R nhập vào từ bàn phím?
Câu 4: Viết chương trình kiểm tra bộ ba số a, b, c nhập vào từ bàn phím có phải là bộ ba cạnh của một tam giác hay không?
Câu 5: Viết chương trình giải phương trình bậc nhất một ẩn: ax + b = 0, với a, b nhập vào từ bàn phím
Câu 6: Viết chương trình giải phương trình dạng: ax2 + bx + c = 0, với a, b, c nhập vào từ bàn phím?
Câu 7: Viết chương trình nhập vào năm bất kỳ (ví dụ 2021), hãy cho biết năm đó có phải năm nhuận hay không?
Câu 8: Viết chương trình nhập vào 3 số thực dương bất kỳ, xuất ra màn hình đó là tam giác thường, tam giác cân, tam giác vuông, tam giác vuông cân, tam giác đều hay không phải là ba cạnh của một tam giác?
Xem tiếp Bài 4 – Cấu trúc lặp trong ngôn ngữ lập trình Python