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)

5.7 K

Với Giải Câu 19.11 trang 41 SBT Tin học 10 trong Bài 19: Câu lệnh điều kiện If Sách bài tập Tin học 10 Kết nối tri thức hay nhất, chi tiết sẽ giúp học sinh dễ dàng làm bài tập trong 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)

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:

 (ảnh 1)

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! ")

Từ khóa :
Giải bài tập
Đánh giá

0

0 đánh giá