Hôm nay, bạn sẽ vào vai thám tử toán học, đi “truy lùng” các nghiệm bí ẩn của phương trình bậc 2.
Bạn sẽ học cách cho máy tính tự động giải tất cả 3 trường hợp:
- Vô nghiệm
- Có nghiệm kép
- Có 2 nghiệm phân biệt
với chỉ một đoạn code ngắn!
📚 Kiến thức cơ bản về phương trình bậc 2
Dạng chuẩn:
Trong đó:
- a: Hệ số bậc 2 (phải khác 0)
- b: Hệ số bậc 1
- c: Hệ số tự do
Ta phải tìm x (ẩn số).
📖 Giải phương trình thế nào?
- Tính biệt thức:
- \(Δ=b^2−4ac\)
- Nhận dạng trường hợp dựa vào giá trị của Δ:
- Nếu Δ<0: Phương trìnhvô nghiệm(không có nghiệm thực nào)
- Nếu Δ=0: Phương trình cónghiệm kép(1 nghiệm thực duy nhất)
- Nếu Δ>0 Phương trình có2 nghiệm phân biệt
- Công thức nghiệm:
- \(x1=\frac{-b+\sqrt{\bigtriangleup }}{2a}\)
- \(x2=\frac{-b-\sqrt{\bigtriangleup }}{2a}\)
🔧 Thuật toán tổng quát
- Nhập hệ số a, b, c
- Nếu
a == 0→ Đưa về giải phương trình bậc nhất - Tính biệt thức: \(Δ=b^2−4ac\)
- Phân biệt 3 trường hợp dựa vào Δ
- Đưa ra nghiệm hoặc thông báo phù hợp
💻 Code mẫu C++ chuẩn SEO
🌟 CODE HOÀN CHỈNH
Đây là bài giải mẫu. Chúng ta nên tự giải bài tập dựa theo hướng dẫn của Admin trước hãy xem bài giải nhé. (Vui lòng đăng nhập để xem).
🌟 Ví dụ minh họa
Ví dụ 1: \(x^{2}-2x+1=0\)
- a = 1, b = -2, c = 1
- \(delta=(−2)^{2}-4*1*1=0\)
- Kết quả: Nghiệm kép x = 1
Ví dụ 2: \(2x^{2}+3x-2=0\)
- a = 2, b = 3, c = -2
- \(delta=(3)^{2}-4*2*(-2)=9+16=25\)
- x1=(−3+5)/4=0.5
- x2=(−3−5)/4=−2
Ví dụ 3: \(x^{2}+x+1=0\)
- a = 1, b = 1, c = 1
- \(delta=(1)^{2}-4*1*1=1-4=-3\)
- Kết quả: Vô nghiệm
💡 Lưu ý & mẹo nhanh
- Kiểm tra a = 0: Nếu không, bạn sẽ “chia cho 0” ở bước sau!
- So sánh số thực: Dùng epsilon (abs(x)<1e−9abs(x)<1e−9) nếu muốn an toàn hơn khi so sánh với 0.
- Rút gọn kết quả: Chỉ hiển thị 2–4 số thập phân với
setprecisiontrong C++. - Sử dụng thư viện
<cmath>cho hàm sqrt.
🎮 BÀI TẬP THỰC HÀNH – 3 CẤP ĐỘ
🟢 Cơ bản
- Viết lại code với kiểu
floatthay chodouble. - Tự nhập nhiều bộ hệ số (a, b, c) bằng vòng lặp, giải tự động từng bộ.
- Nếu phương trình có nghiệm, kiểm tra lại kết quả bằng cách thay ngược vào công thức.
🟡 Trung bình
- Nếu nghiệm là số nguyên, in rõ là “nghiệm nguyên”.
- Xây dựng menu: 1. Giải pt bậc nhất 2. Giải pt bậc 2 3. Thoát.
- Ghi lại lịch sử các lần giải (hệ số, nghiệm) vào mảng rồi hiển thị.
🔴 Nâng cao
- Nhập hệ số từ file, giải từng dòng, xuất ra file kết quả.
- Nâng cấp kiểm tra nghiệm phức (complex) nếu delta < 0 (tham khảo thư viện
<complex>). - Tính tổng và tích nghiệm với mọi trường hợp có nghiệm thực.
📋 Checklist hiểu bài
- Hiểu dạng tổng quát phương trình bậc 2
- Nhớ ý nghĩa biệt thức delta
- Nhận biết 3 trường hợp nghiệm qua delta
- Biết xử lý trường hợp đặc biệt (a = 0)
- Giải được nhiều bộ phương trình trong một chương trình
🎯 Tổng kết
Bài toán giải phương trình bậc 2 là cột mốc quan trọng trên hành trình lập trình toán học. Nắm vững quy trình giải và cách code tự động giúp bạn chinh phục các đề toán, ứng dụng mô phỏng và các dự án thực tế. Cứ luyện tập nhiều tình huống khác nhau để thành công nhé!
🏷️ Tags:
#C++ #giải-phương-trình-bậc-2 #quadratic-equation #delta #toán-học #bài-tập-thực-hành #if-else #thực-hành #dễ-hiểu #Việt-Nam #programming-tutorial




















