Matemáticas, pregunta formulada por valentinadelgadoalta, hace 5 meses

raíz cuadrada de 123.31 con el método de los babilonios.
Paso a paso por favor

Respuestas a la pregunta

Contestado por FINAYT
6

Respuesta:La raíz cuadrada de un número positivo se puede calcular a través de un algoritmo de aproximaciones.

Se puede considerar la raiz como el lado de un cuadrado. Si vamos aproximando los lados de un rectangulo cuya área sea el número inicial, conseguimos la raiz cuadrada.

En el algoritmo manejamos dos variables (r y t en nuestro ejemplo).

Inicialmente un lado vale el número y el otro 0.

En cada paso hacemos un lado como el otro, y el otro, como la media entre al valor anterior y el otro).

En el ejemplo además vamos a almacenar cuantas veces pasa y ejecuta el bucle en la variable i. Como deseamos mostrar el valor fuera del bucle, debemos declararla fuera. Así a la finalización del algoritmo, el valor sigue en su ámbito de visibilidad y se puede mostrar.

La condición de finalización del bucle es curiosa. queremos que la diferencia entre los dos valores sea pequeña, para asegurar que el bucle se detiene, porque en realidad, se puede aproximar mucho, pero el númeor de iteraciones de este algoritmo es infinito: cada vez la solución es más exacta, pero realmente nunca llegaríamos ala solución exacta. Por eso consideramos la diferencia (en valor absoluto) que sea inferior a un determinado número pequeño y con eso, consideramos que el algoritmo ha convergido.

Sin embargo, la propia aproximación numérica que realizan los ordenadores (que no pueden almancenar números con precisión infinita, hace que el algoritmo, converja exactamente, pero en puera matemática, este final es más exacto y nos recuerda que se trata de una aproximación.

Aprovechamos para contar por qué la raiz de dos no puede ser una fracción. Porque supone que existen dos números tales que 2*p^2=q^2. Pero sabemos que todo número elevado al cuadrado tiene que tener un número par de cada uno de sus factores! luego no pueden existir tales p y q.

Código

//pedimos el número a calcular la raiz cuadrada

var x=prompt ("Introduzca el número:");

//preparamos las dos variables

var r=x;

var t=0;

var i; //esta es solo para contar los pasos que ejecutamos

for (i=0;Math.abs(r-t)>=0.0001;i++) {

   t=r; //un valor es el otro

   //el otro es la media entre x/r, y el mismo

   r=(x/r+r)/2;  

}

alert ("Resultado: " + r +"; Calculada en pasos: " + i);

Explicación paso a paso:

Otras preguntas