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;
}
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
-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