X

SBT Tin học 10 Kết nối tri thức

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


Em hãy viết chương trình giải phương trình bậc hai dạng tổng quát ax + 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.

Giải sách bài tập Tin học 10 Bài 19: Câu lệnh điều kiện If

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.

Lời giả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:

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

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 sách bài tập Tin học lớp 10 Kết nối tri thức hay, ngắn gọn khác: