Câu hỏi:

13/07/2024 40,896

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:

verified
Giải bởi Vietjack

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

Bình luận


Bình luận

Hiền Tráng thị
07:26 - 11/05/2025

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)

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.

Nâng cấp VIP

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.

Nâng cấp VIP

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.

Nâng cấp VIP

Vietjack official store
Đăng ký gói thi VIP

VIP +1 - Luyện thi tất cả các đề có trên Website trong 1 tháng

  • Hơn 100K đề thi thử, đề minh hoạ, chính thức các năm
  • Với 2tr+ câu hỏi theo các mức độ Nhận biết, Thông hiểu, Vận dụng
  • Tải xuống đề thi [DOCX] với đầy đủ đáp án
  • Xem bài giảng đính kèm củng cố thêm kiến thức
  • Bao gồm tất cả các bậc từ Tiểu học đến Đại học
  • Chặn hiển thị quảng cáo tăng khả năng tập trung ôn luyện

Mua ngay

VIP +3 - Luyện thi tất cả các đề có trên Website trong 3 tháng

  • Hơn 100K đề thi thử, đề minh hoạ, chính thức các năm
  • Với 2tr+ câu hỏi theo các mức độ Nhận biết, Thông hiểu, Vận dụng
  • Tải xuống đề thi [DOCX] với đầy đủ đáp án
  • Xem bài giảng đính kèm củng cố thêm kiến thức
  • Bao gồm tất cả các bậc từ Tiểu học đến Đại học
  • Chặn hiển thị quảng cáo tăng khả năng tập trung ôn luyện

Mua ngay

VIP +6 - Luyện thi tất cả các đề có trên Website trong 6 tháng

  • Hơn 100K đề thi thử, đề minh hoạ, chính thức các năm
  • Với 2tr+ câu hỏi theo các mức độ Nhận biết, Thông hiểu, Vận dụng
  • Tải xuống đề thi [DOCX] với đầy đủ đáp án
  • Xem bài giảng đính kèm củng cố thêm kiến thức
  • Bao gồm tất cả các bậc từ Tiểu học đến Đại học
  • Chặn hiển thị quảng cáo tăng khả năng tập trung ôn luyện

Mua ngay

VIP +12 - Luyện thi tất cả các đề có trên Website trong 12 tháng

  • Hơn 100K đề thi thử, đề minh hoạ, chính thức các năm
  • Với 2tr+ câu hỏi theo các mức độ Nhận biết, Thông hiểu, Vận dụng
  • Tải xuống đề thi [DOCX] với đầy đủ đáp án
  • Xem bài giảng đính kèm củng cố thêm kiến thức
  • Bao gồm tất cả các bậc từ Tiểu học đến Đại học
  • Chặn hiển thị quảng cáo tăng khả năng tập trung ôn luyện

Mua ngay