Cómo hacer una función de raíz cuadrada con Java

Escrito por joe wandy | Traducido por daniel gómez villegas
  • Comparte
  • Twittea
  • Comparte
  • Pin
  • E-mail
Cómo hacer una función de raíz cuadrada con Java
(Ryan McVay/Photodisc/Getty Images)

Para calcular la raíz cuadrada de un número, necesitas encontrar la operación inversa de la multiplicación de un número por sí mismo. Si bien el lenguaje de programación Java proporciona una función integrada "Math.sqrt()" para calcular la raíz cuadrada de cualquier número, sólo acepta un valor de punto flotante de tipo de datos doble. Sin embargo, puedes necesitar encontrar la raíz cuadrada de un número de un tipo de datos diferente. Para este propósito, puedes construir una función personalizada para calcular el valor de la raíz cuadrada de forma manual.

Nivel de dificultad:
Moderado

Otras personas están leyendo

Instrucciones

  1. 1

    Define un método para calcular la raíz cuadrada. Deberías dar un nombre descriptivo al método que refleje su función. Asegúrate de que todos los elementos necesarios del método están presentes, es decir, su tipo de retorno, el nombre, los paréntesis que encierran los argumentos del método, y la declaración del cuerpo entre llaves. Por ejemplo, un método adecuado para obtener la raíz cuadrada de un número es:

    public BigDecimal get (BigDecimal n) { }

  2. 2

    Completa el código del cuerpo del método escribiendo un algoritmo para calcular la aproximación de la raíz cuadrada de un número. Puedes utilizar el método de iteración de Newton para formar la base matemática de tu cálculo. En este método, puedes calcular la raíz cuadrada de un número varias veces resolviendo la ecuación recurrente xk + 1 = 1/2 (xk + n/xk) hasta que el valor se acerque a la aproximación del valor real de la raíz cuadrada. Por ejemplo, el siguiente es un segmento de código en Java que realiza este cálculo:

    iterations = 0; boolean more = true; while (more) { lastGuess = guess; guess = n.divide(guess, scale, BigDecimal.ROUND_HALF_UP); guess = guess.add(lastGuess); guess = guess.divide (TWO, scale, BigDecimal.ROUND_HALF_UP); trace ("Next guess " + guess.toString ()); error = n.subtract (guess.multiply (guess)); if (++iterations >= maxIterations) { more = false; } else if (lastGuess.equals (guess)) { more = error.abs ().compareTo (ONE) >= 0; } } return guess;

  3. 3

    Define los otros métodos de apoyo para el método principal de búsqueda de la raíz siempre que sea necesario. Puedes necesitar definir los métodos para encontrar el valor aproximado inicial, calcular el error y establecer el número de iteraciones. Por ejemplo, el siguiente código encuentra que el valor aproximado inicial que se utiliza en el cálculo principal:

    private static BigDecimal getInitialApproximation (BigDecimal n) { BigInteger integerPart = n.toBigInteger (); int length = integerPart.toString ().length (); if ((length % 2) == 0) { length--; } length /= 2; BigDecimal guess = ONE.movePointRight (length); return guess; }

  4. 4

    Prueba tu método de raíz cuadrada llamándolo e imprimiendo el resultado en la pantalla. Por ejemplo: System.out.println ("Computing the square root of"); sqrt = app.get (n);

No dejes de ver

Filtrar por:
  • Mostrar todos
  • Artículos
  • Galerías de fotos
  • Videos
Ordenar:
  • Más relevante
  • Más popular
  • Más reciente

No se encuentran artículos disponibles

No se encuentran slideshows disponibles

No se encuentran videos disponibles