khoahoc.vietjack.com

Câu hỏi:

13/07/2024 50,248 Lưu

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

Đang tải chế độ Học...

Hot: 1000+ đề thi giữa kì 1 lớp 1-12 đầy đủ các môn (Update 2026) (chỉ từ 60k). Tải ngay

ĐẶC QUYỀN VIP

Đăng ký VIP để học và luyện thi không giới hạn

Trọn bộ quyền lợi trên Vietjack, trong một tài khoản.

  • Phòng luyện thi cấp tốc: ĐGNL - ĐGTD, Tốt nghiệp THPT, Ôn vào 10, Ôn vào 6, Ôn Giữa kì/Cuối kì
  • Hơn 200K đề thi thử, đề minh hoạ, chính thức các năm
  • Với 3tr+ 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 hàng ngàn 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
  • Đăng ký ngay
Hiền Tráng thị

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)

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ừ 250K ) để 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ừ 250K ) để 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ừ 250K ) để 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