Pages

lunes, 21 de enero de 2013

Calcular raíces de una ecuación cuadrática Codigo Fuente en Java

Problema
Hacer un programa o algoritmo que calcule las raíces de una ecuación de segundo grado (ax²+bx+c=0).

Solución
  • Entrada: 1 0 9
  • Salida: 3 y -3
Codigo Fuente en Java
import java.util.Scanner;
import java.math.*;
public class Main {
    public static void main(String[] args) {
      Scanner sc=new Scanner(System.in);
      System.out.println("Ingresa coeficiente cuadratico");
      int a= sc.nextInt();
      System.out.println("Ingresa coeficiente lineal");
      int b= sc.nextInt();
      System.out.println("Ingresa constante");
      int c= sc.nextInt();
      double disc=Math.pow(b,2)-4*a*c;
      if(a!=0){
          if(disc<0){
          System.out.println("Tiene raices imaginarias");
          }else{
          double x1=(-b+Math.sqrt(disc))/(2*a);
          double x2=(-b-Math.sqrt(disc))/(2*a);
          System.out.println("X1 = "+x1+" X2 = "+x2);
        }
      }else{
      System.out.println("El coeficiente cuadratico debe ser diferente de 0");
      }      
      }
}

14 comentarios:

christian dijo...

Muy claro y bueno el ejemplo. Gracias y saludos.

Anónimo dijo...

Muchas gracias por compartir :D

Anónimo dijo...
Este comentario ha sido eliminado por el autor.
Anónimo dijo...

podrias realizar un programa que resuelva X = -b + - Raiz Cuadrada de B^2 - 4AC / 2a , donde se usen saltos de linea, tabuladores y que las variables sean con el tipo float

edison dijo...

Muchas gracias me ha sido de gran utilidad¡¡¡¡¡¡¡

Anónimo dijo...

Lo que no me gusta del codigo es que asignas valor a las variables dentro del Else, cuando en una clase de normal de algoritmo asignar el valor a las variables viene despues de declararlas.

Anónimo dijo...

Y como seria con una ecuacion cubica

Unknown dijo...

Podrian explicarme porque se pone "a!"?
Gracias

Soluciones593 dijo...

Yo quisiera el valor imaginario de las raíces, mas no el mensaje.

Anónimo dijo...

No me sale de acuerdo a la solucion.

Anónimo dijo...

es mi primera semana y me da miedo este curso

Ronaldo dijo...

podria explicarme por que utiliza .pow

Anónimo dijo...

Porque es el método que se utiliza para elevar a una potencia, en este caso al cuadrado

Anónimo dijo...

Está todo bien pero no has colocado el resultado complejo cuando el discriminante es igual a cero. Estuve investigando y sí existe solución cuando el discriminante es negativo. Mirá la siguiente página Web
http://iterando.online/ejercicios-resueltos/raices-de-la-ecuacion-cuadratica-en-java/

Publicar un comentario