Câu hỏi:
13/07/2024 41,132
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.
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.
Quảng cáo
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! ")
Hot: Học hè online Toán, Văn, Anh...lớp 1-12 tại Vietjack với hơn 1 triệu bài tập có đáp án. Học ngay
- Sách - Sổ tay kiến thức trọng tâm Vật lí 10 VietJack - Sách 2025 theo chương trình mới cho 2k9 ( 31.000₫ )
- Trọng tâm Toán, Văn, Anh 10 cho cả 3 bộ KNTT, CTST, CD VietJack - Sách 2025 ( 13.600₫ )
- Sách lớp 10 - Combo Trọng tâm Toán, Văn, Anh và Lí, Hóa, Sinh cho cả 3 bộ KNTT, CD, CTST VietJack ( 75.000₫ )
- Sách lớp 11 - Trọng tâm Toán, Lý, Hóa, Sử, Địa lớp 11 3 bộ sách KNTT, CTST, CD VietJack ( 52.000₫ )
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Lời giải
Ba số a, b, c là các cạnh của tam giác nếu cả ba bất đẳng thức sau đều thoả mãn:
a + b – c > 0; b + c – a > 0; c + a – b > 0
Để tính diện tích tam giác cần sử dụng công thức Heron (xem Câu 18.11).
Chương trình có thể viết như sau:
#Kiểm tra 3 số a, b, c có phải các cạnh một tam giác, tính chu vi, diện tích tam giác đó
a = float(input("Nhập số a: "))
b = float(input("Nhập số b: "))
c = float(input("Nhập số c: "))
if (a + b – c > 0) and (b + c – a > 0) and (c + a – b > 0):
p = (a + b + c)/2
S_tamgiac = (p* (p - a)*(p - b)*(p - c))**0.5
print("Chu vi tam giác = ", p*2).
print("Diện tích tam giác = ", S_tamgiac)
else:
print("Ba số đã cho không phải là độ dài các cạnh của một tam giác")
Lời giải
Chương trình có thể viết như sau:
#Tính tiền điện tiêu thụ theo đơn giá bậc thang
don_gia1 = int(input("Đơn giá điện 1: "))
don_gia2 = int(input("Đơn giá điện 2: "))
don gia3 = int(input("Đơn giá điện 3: "))
don gia4 = int(input("Đơn giá điện 4: "))
so_kW_tieuthu = int(input("Lượng điện tiêu thụ: "))
if so_kW_tieuthu <= 50:
tien_dien = don_gia1*so_kW_tieuthu
if so_kW_tieuthu > 50 and so_kW_tieuthu<=100:
tien_dien = don_gia1*50 + don_gia2*(so_kW_tieuthu - 50)
if so_kW_tieuthu > 100 and so_kW_tieuthu< =200:
tien_dien = don_gia1*50 + don_gia2*50 + don_gia3*(so_kW_tieuthu - 100)
if so_kW_tieuthu > 200:
tien_dien = don_gia1*50 + don_gia2*50 + don_gia3*100 + don_gia4* (so_kW_tieuthu - 200)
print("Tiền điện phải trả là: ", tien_dien, "đồng")
Lưu ý: Cũng có thể sử dụng các câu lệnh if lồng trong nhau như sau:
don_gia1 = int(input("Đơn giá điện 1: "))
don_gia2 = int(input("Đơn giá điện 2: "))
don_gia3 = int(input("Đơn giá điện 3: "))
don_gia4 = int(input("Đơn giá điện 4: "))
so_kW_tieuthu = int(input("Lượng điện tiêu thụ: "))
if so_kW_tieuthu <= 50:
tien_dien = don_gia1*so_kW_tieuthu
else:
if so_kw_tieuthu <= 100:
tien_dien = don_gia1*50 + don_gia2*(so_kw_tieuthu - 50)
else:
if so_kW_tieuthu <= 200:
tien_dien = don_gia1*50 + don_gia2*50 + don_gia3*(so_kW_tieuthu - 100)
else:
tien_dien = don_gia1*50 + don_gia2*50 + don_gia3*100 + don_gia4* (so_kW_tieuthu - 200)
print("Tiền điện phải trả là: ", tien_dien, "đồng")Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Hiền Tráng thị
Câu 4. Viết chương trình để giải phương trình bậc 2: ax2+ bx+c = 0( a#0,b#0,c#0)