You are on page 1of 5

ALGORITMO ITERATIVO RAICES CUADRADAS

METODOLOGIA - JAVA

~1~

CREAR UN ALGORITMO PARA CREAR RAÍCES CUADRADAS = ALGORITMO ITERATIVO Datos de entrada El número a calcular la raíz cuadrada debe ser un número real mayor o igual que cero. x≥0 Por tanto si el usuario nos introduce un valor menor que cero debemos lanzar un error en el programa (la raíz cuadrada de un número negativo dará un complejo) X, número real (x≥0) si x<0  error! Datos de salida Devolverá otro número también positivo √ , la raíz positiva (≥0) Procesamiento

0.000000001 Esta es la forma correcta de comprbar que

que es la diferencia entre el valor real y el obtenido Mientras 1e-12 : Fin Mientras Retornar b .000001  Realizar el pseudocódigo de la aplicación raizCuadrada(x) Si (x<0): excepción (“Valor no válido”) En este caso la precisión es de 1e12.2346 B=10.JAVA ~2~ Comprobando el diagrama para el número 8 tenemos como resultados: B=64 B=32.292 B=8.ALGORITMO ITERATIVO RAICES CUADRADAS METODOLOGIA .5 B=17.005 B=8.474 B=8.

JAVA ~3~ IMPLEMENTACION ALGORITMO EN JAVA EJEMPLO.IOException.ALGORITMO ITERATIVO RAICES CUADRADAS Date 2010-07-28 METODOLOGIA . } } . double resultado.BufferedReader.NaN. b=x.in)).out.io. import java. System.out. BufferedReader br =new BufferedReader(new InputStreamReader(System. /** * @author Nessy * */ public class RaizCuadrada { /** * @param args */ public static void main(String[] args) { double x.io.io. } } MEJORA Pedirle al usuario el número al cual le calcularemos la raíz cuadrada import java. /* Comprobamos que el número introducido sea mayor que 0 * sino sacamos un error**/ if (x<0)return Double. try { x=Double.println("La raiz cuadrada de " + x + " es " +raizCuadrada(x)).println("Introduce un número: "). import java. } return b.abs(b*b-x)>1e-12){ b=((x/b)+b)/2.printStackTrace(). System.println("La raiz cuadrada de " + x + " es " +resultado).readLine()).out. System. } catch (NumberFormatException e) { e. resultado=raizCuadrada(x).printStackTrace(). Hacer la raiz cuadrada del número 3 /** * @author Nessy * */ public class RaizCuadrada { /** * @param args */ public static void main(String[] args) { double x=3. } catch (IOException e) { e.InputStreamReader. } public static double raizCuadrada(double x){ double b.parseDouble(br. while (Math.

} } public static double raizCuadrada(double x){ double b. /* Comprobamos que el número introducido sea mayor que 0 * sino sacamos un error**/ if (x<0)return Double. for (x = 0. } return b.x++){ resultado=raizCuadrada(x).abs(b*b-x)>1e-12){ b=((x/b)+b)/2. } return b. /* Comprobamos que el número introducido sea mayor que 0 * sino sacamos un error**/ if (x<0)return Double. Sacar por pantalla la raíz cuadrada de los primero 100 números. b=x.NaN.IOException. while (Math.x<101. import java.BufferedReader.println("La raiz cuadrada de " + x + " es " +resultado).ALGORITMO ITERATIVO RAICES CUADRADAS METODOLOGIA .io.NaN. System.JAVA ~4~ public static double raizCuadrada(double x){ double b. import java.io. } } MEJORA . /** * @author Nessy * */ public class RaizCuadrada { /** * @param args */ public static void main(String[] args) { //CASO 3 Mostrar la raiz de los 100 primeros números double x=0.abs(b*b-x)>1e-12){ b=((x/b)+b)/2. import java. b=x.out. } } . while (Math. double resultado.io.InputStreamReader.

InputStreamReader.text.ALGORITMO ITERATIVO RAICES CUADRADAS METODOLOGIA . java.out.io. java. } return b.BufferedReader. System. DecimalFormat formato = new DecimalFormat("0.IOException. Mostrar el resultado con 2 posiciones decimales (Utilizar DecimalFormat) import import import import java. double resultado.format(resultado)).io.x++){ resultado=raizCuadrada(x).00"). while (Math. } } .x<101.NaN. } } public static double raizCuadrada(double x){ double b. for (x = 0. b=x. /* Comprobamos que el número introducido sea mayor que 0 * sino sacamos un error**/ if (x<0)return Double.DecimalFormat. /** * @author Nessy * */ public class RaizCuadrada { /** * @param args */ public static void main(String[] args) { // CASO 4 pedir el número al usuario y sacar el resultado con 2 decimales double x=0.println("La raiz cuadrada de " + x + " es " +formato.io.JAVA ~5~ MEJORA.abs(b*b-x)>1e-12){ b=((x/b)+b)/2. java.