Em hãy viết chương trình giải phương trình bậc hai dạng tổng quát ax2 + bx + c = 0 (a khác 0)
108
20/01/2024
Câu 19.11 trang 41 SBT Tin học 10: Em hãy viết chương trình giải phương trình bậc hai dạng tổng quát ax2 + bx + c = 0 (a khác 0). Yêu cầu các giá trị a, b, c là các số thực được nhập vào từ bàn phím.
Trả lời
Thuật toán giải phương trình bậc hai có thể nêu tóm tắt như sau:
Tính ∆ = b2 – 4ac
Nếu ∆ < 0 ⇒ phương trình vô nghiệm.
Nếu ∆ = 0 ⇒ phương trình có nghiệm kép x1 = x2 = -b/2a.
Nếu ∆ > 0 ⇒ phương trình có 2 nghiệm phân biệt:
Chương trình có thể viết như sau:
#Giải phương trình bậc hai dạng tổng quát
a = float(input("Nhập số a (a < > 0): "))
b = float(input("Nhập số b: "))
c = float(input("Nhập số c: "))
delta = b*b - 4*a*c
if delta == 0:
print("Phương trình có nghiệm kép x1 = x2 =", -b/(2*a))
if delta > 0:
print("Phương trình có 2 nghiệm x1 =", (-b + delta**0.5)/(2*a), " và x2 =", (-b - delta* *0.5)/(2*a))
if delta < 0:
print("Phương trình đã cho vô nghiệm ! ")
Lưu ý: Cũng có thể sử dụng câu lệnh if lồng trong nhau tương tự như Câu 19.10. Khi đó phần chính của chương trình có thể viết như sau:
if delta== 0:
print("Phương trình có nghiệm kép x1 = x2 =", -b/(2*a))
else:
if delta > 0:
print("Phương trình có 2 nghiệm x1 =", (-b + delta**0.5)/(2*a), " và x2 =", (-b - delta**0.5)/(2*a))
else :
print("Phương trình đã cho vô nghiệm! ")
Xem thêm các bài giải SBT Tin học lớp 10 Kết nối tri thức hay, chi tiết khác:
Bài 17: Biến và lệnh gán
Bài 18: Các lệnh vào ra đơn giản
Bài 19: Câu lệnh rẽ nhánh If
Bài 20: Câu lệnh lặp For
Bài 21: Câu lệnh lặp While
Bài 22: Kiểu dữ liệu danh sách