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,...

4.1 K

Với giải Câu 19.11 trang 41 SBT Tin học lớp 10 Kết nối tri thức chi tiết trong Bài 19: Câu lệnh rẽ nhánh If giúp học sinh dễ dàng xem và so sánh lời giải từ đó biết cách làm bài tập trong SBT Tin học 10. Mời các bạn đón xem:

Giải sách bài tập Tin học lớp 10 Bài 19: Câu lệnh rẽ nhánh 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.

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:

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

Đánh giá

0

0 đánh giá