C++: Rezolvarea Ecuației de Gradul 2

C++ Ecuația de gradul 2

Introducere

În acest articol vom implementa în C++ un program pentru rezolvarea ecuațiilor de gradul 2 de forma:

ax² + bx + c = 0

Ecuația de gradul 2 este una dintre cele mai fundamentale ecuații algebrice și este studiată încă din gimnaziu. Programul pe care îl vom implementa va calcula soluțiile reale în funcție de valoarea discriminantului.

Codul Sursă

#include 
#include 

int main() {
    double a, b, c;
    std::cout << "Introdu coeficientii a, b, c: ";
    std::cin >> a >> b >> c;

    if (a == 0) {
        std::cout << "Nu este ecuatie de gradul 2!" << std::endl;
        return 0;
    }

    double delta = b * b - 4 * a * c;

    if (delta > 0) {
        double x1 = (-b + sqrt(delta)) / (2 * a);
        double x2 = (-b - sqrt(delta)) / (2 * a);
        std::cout << "Solutii: x1 = " << x1 << ", x2 = " << x2 << std::endl;
    } else if (delta == 0) {
        double x = -b / (2 * a);
        std::cout << "Solutie unica: x = " << x << std::endl;
    } else {
        std::cout << "Nu are solutii reale!" << std::endl;
    }

    return 0;
}
💡 Observație: Pentru a calcula rădăcina pătrată am folosit funcția sqrt() din biblioteca <cmath>.

Explicații

Să analizăm fiecare parte a programului:

  • Citirea datelor: Programul citește coeficienții a, b, c de la tastatură
  • Verificare: Dacă a = 0, ecuația nu mai este de gradul 2
  • Discriminantul: Se calculează Δ = b² - 4ac
  • Cazuri:
    • Δ > 0: două soluții reale distincte: x₁ = (-b + √Δ) / 2a și x₂ = (-b - √Δ) / 2a
    • Δ = 0: o soluție reală dublă: x = -b / 2a
    • Δ < 0: nu există soluții reale (numere complexe)

Compilare și Rulare

Pentru a compila și rula programul, folosește următoarele comenzi în terminal:

g++ -o ecuatie ecuatie.cpp
./ecuatie
💡 Sfat: Poți adăuga opțiunea -Wall la compilare pentru a primi avertismente utile: g++ -Wall -o ecuatie ecuatie.cpp

Exemplu de Execuție

Introdu coeficientii a, b, c: 1 -5 6
Solutii: x1 = 3, x2 = 2

În acest exemplu, ecuația x² - 5x + 6 = 0 are soluțiile x₁ = 3 și x₂ = 2.

„Programarea este arta de a transforma logica în cod funcțional."

Concluzie

Acest program simplu demonstrează cum putem aplica noțiunile matematice în programare. Ecuațiile de gradul 2 sunt doar un exemplu - programarea ne permite să rezolvăm probleme matematice complexe și să automatizăm calcule repetitive.

Pentru cei care doresc să dezvolte mai departe acest program, pot adăuga:

  • Tratarea numerelor complexe
  • Validarea input-ului
  • Afișarea frumoasă a rezultatelor
  • Opțiunea de a rezolva mai multe ecuații