martes, 29 de septiembre de 2009

Ecuación de Segundo Grado en Java

En esta oprtunidad desarrollaremos un código para calcular las raices reales de la siguiente de una ecuación de segundo grado o ecuación cuadrática: -B+-VB2-4AC/2A donde el Descriminante debe de ser Mayor a 0 (B2-4AC).

En función del signo del discriminante conoceremos el número de soluciones de la ecuación:
  • Si el discriminante es menor que 0 la ecuación no tiene solución.
  • Si el discriminante es 0 hay una solución.
  • Si el discriminante es mayor que 0 hay dos soluciones.
Una vez realizada esta breve introducción sobre como resolver ecuaciones de segundo grado, procedemos a realizar el código que nos permita resolver dichas ecuaciones.

Código de la Ecuación de 2do Grado:


import java.io.*;

public class test1{
public static void main(String args[])throws IOException{
BufferedReader x=new BufferedReader(new InputStreamReader (System.in));
String valor;
int a,b,c,d;
double e,rp,rn,sp,sn,md;
System.out.println("Ingrese el Nro A:");
valor = x.readLine(); //leer el objeto x
a=Integer.parseInt(valor); //este es el procedimiento para el primer valor a
System.out.println("Ingrese el Nro B");
valor=x.readLine();
b=Integer.parseInt(valor);
System.out.println("Ingrese el Nro C");
valor=x.readLine();
c=Integer.parseInt(valor);
d= b*b-4*a*c; //Descriminante B2-4AC
if (d > 0)
System.out.println("El Descriminante es: "+d);
else System.out.println("El Descriminante debe de ser mayor a 0 " +d);

e=Math.sqrt(d);//raiz del descrimante
System.out.println("Raiz del Descrimannte : "+e);
md=(2*a);
sp=-b+e;
rp=-sp/(md);
System.out.println("La Raiz Positiva es: "+rp);
sn=-b-e;
rn=-sn/(md);
System.out.println("La Raiz Negativa es: "+rn);

}
}



Para probar el programa a la hora de la ejecución ingresar los siguientes nros:
A=2;B=7;C=3

Los datos a mostrar deben de ser los siguientes:
El Descriminante es: 25
Raiz del Descrimannte : 5
La Raiz Positiva es: 0.5
La Raiz Negativa es: 3