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.
Bằng cách nhấp vào Đăng nhập, bạn đồng ý Chính sách bảo mật và Điều khoản sử dụng của chúng tôi. Nếu đây không phải máy tính của bạn, để đảm bảo an toàn, hãy sử dụng Cửa sổ riêng tư (Tab ẩn danh) để đăng nhập (New Private Window / New Incognito Window).
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:
x1, 2=−b±Δ2a
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! ")
Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi
Vui | Buồn | Bình thường |