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

10 comentarios:

Christian dijo...

Muy claro y bueno el ejemplo. Gracias y saludos.

Hector Martinez dijo...

Muchas gracias por compartir :D

FiERo dijo...
Este comentario ha sido eliminado por el autor.
FiERo 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 Salinas 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

Soy Danie dijo...

Podrian explicarme porque se pone "a!"?
Gracias

Daniel Picho 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.

Publicar un comentario en la entrada