miércoles, 5 de diciembre de 2012

RAÍCES DE UNA ECUACIÓN

Para poder empezar a ver bien los métodos debemos saber como regla básica  creo yo. el calculo de raíces de una ecuación. Tendremos en cuenta que habrá que habra 3 tipo de soluciones como se ha visto en los cursos de calculo desde la secundaria.

En este programa se calculan las raíces de una ecuación de segundo grado y se  muestra como queda ya una vez corrido programa :

 #include <iostream.h>
#include <math.h>
#include <conio.h>
#include <process.h>

class Formula
{
  private :
            double a;
            double b;
            double c;
            double d;
  public  :
            Formula( );
            void Leer( );
            double CalD( );
            void Reales( );
            void Imag( );
            ~Formula( );
};

int main ( )
{  clrscr();
   
    char opc;
    
    do
    {
    system( "cls" );

    Formula F;
      cout << " \tEste Programa calcula las raices de una ecuacion de segundo grado \
              por medio de la formula general que es....Ax2+Bx+C" << endl << endl;
              
    F.Leer( );
     if( F.CalD( )>=0 )
F.Reales( );

      else
F.Imag( );

    cout << " DESEA CONTINUAR S/N ";
   cout << endl;
   opc=getch( );
   system( "pause" );
    clrscr();

    }while( opc=='S' || opc=='s'  );

    return 0;
}

Formula :: Formula ( )
{
  a = 0.0;
  b = 0.0;
  c = 0.0;
  d = 0.0;
}

Formula :: ~Formula( )
{
  cout << " Termina el programa ";
  cout << endl;
  system( " pause " );
}

void Formula :: Leer( )
{
  cout << " Dame el valor de a : ";
  cin >> a;

  cout << " Dame el valor de b : ";
  cin >> b;

  cout << " Dame el valor de c : ";
  cin >> c;

  cout << endl << endl<<endl;
}

double Formula :: CalD( )
{
  d =  pow( b,2 ) - ( 4*( a*c ) ) ;

  return d;

}

void Formula :: Reales( )
{
  double X1;
  double X2;
  double X;

 if( a == 0 )
   {
    cout << " Raiz Unica : " << endl;

    X =  - c / b;

    cout << " X = " << X << endl << endl;
   }

else
  {
    cout << " Soluciones reales y distintas : " << endl;

     X1 = -b + sqrt( d );
     X1 = X1 / ( 2*a ) ;
     cout << " \tX1 = " << X1 << endl;

     X2 = -b - sqrt( d );
     X2 = X2 / ( 2*a );
     cout << " \tX2 = " << X2 << endl << endl;
  }

}

void Formula :: Imag( )
{

  cout << " Soluciones Imaginarias : " << endl;

  cout << " \tX1 = " << -b / ( 2*a ) <<  " i " << +  ( -1 )*sqrt( -d ) / ( 2*a ) << " i " << endl;
  cout << " \tX2 = " << -b / ( 2*a ) << " - i " << ( -1 )* sqrt( -d ) / ( 2*a ) << endl << endl;

}

El programa queda así:



No hay comentarios:

Publicar un comentario