Il programma è stato scritto in C++ con il compilatore Dev C++.
L'algoritmo è semplificato e risolve le equazioni di secondo grado, pure, spurie, monomie e complete ma non quelle che ammettono una soluzione solo nei numeri complessi. Ulteriori sviluppi verranno eseguiti in seguito per estendere le capacità per risolvere le equazioni in quest'ultimo caso.
Qui di seguito riporto il codice.
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;
int main(int argc, char *argv[])
{
// RISOLUZIONE EQUAZIONI DI SECONDO GRADO
float a,b,c; //dichiarazione variabili
float r1, r2;
//inserire coefficienti
cout << "Inserire il coefficiente del quadrato"<< endl;
cin >> a;
cout << "Inserire il coefficiente del termine di primo grado" << endl;
cin >> b;
cout << "Inserire il termine noto" << endl;
cin >> c;
if ((b*b-4*a*c)<0)
{
cout << "L'equazione non ha soluzione nei numeri reali" << endl; //impossibile
}
else
{
if ((b==0) && (c!=0))
{
cout << "L'equazione e' pura" << endl;
r1=sqrt(-c/a); //calcolo se è pura
cout << "Le due soluzioni sono " << r1 << " " << -r1 << endl; //eqn pura
}
if ((c==0) && (b!=0))
{cout << "L'equazione e' spuria" << endl;
r1=b/a;
cout << "Le due soluzioni sono " << "0" << " " << -r1 << endl; //eqn spuria
}
if ((c==0) && (b==0))
{
cout << "L'equazione e' monomia" << endl;
cout << "La soluzione e' 0" << endl; //eqn monomia
}
if ((b!=0) && (c!=0))
{
cout << "L'equazione e' completa" << endl;
r1=(-(b)+(sqrt(b*b-4*a*c)))/2*a; //calcolo
r2=(-(b)-(sqrt(b*b-4*a*c)))/2*a;
cout << "Le due soluzioni sono " << r1 << " " << r2 << endl; //eqn completa
}
}
system ("pause");
return 0;
}
Per ogni suggerimento o miglioria metto a disposizione la mia e-mail facilmente trovabile nel blog.
Nessun commento:
Posta un commento