Do you want to switch to Platzi in English?
2

Calcular el valor de Pi con JavaScript

Una de las cosas que más me apasiona sobre programar es usar este superpoder para demostrar conceptos de la vida real que de otras formas sería tedioso realizar; en este caso quiero mostrarles como obtener el valor de ese infernal número que posiblemente te dio bastantes dolores de cabeza en clases de matemáticas; aprendamos cómo calcular Pi.
Para contextualizar un poco: Pi es un número irracional y una de las constantes matemáticas más populares, normalmente expresada por su valor 3.14.
Para realizar un programa capaz de retornar el valor de Pi, necesitamos despejar el mismo de una fórmula matemática que ya lo utilice; para este tutorial utilizaremos el conocido Problema de Basilea. Dicho problema propone encontrar la suma exacta de los inversos de los cuadrados de los enteros positivos. El problema se vería de la siguiente forma:

Como se muestra en la imagen, la solución a este problema es Pi al cuadrado dividido entre seis. (Dicha respuesta fue encontrada por Leonhard Euler en 1735 pero no fue hasta 1741 que pudo presentar demostraciones convincentes para la comunidad de ese entonces).
Bien, despejando Pi en la fórmula anterior podemos decir lo siguiente:
π = √(1/n² + 1/n² […]) x 6 (Pi es igual a la raiz cuadrada de la suma de 1 dividido entre n al cuadrado cuando n tiende al infinito multiplicado por seis).

Bien, una vez tenemos despejado a Pi, ¡vamos a escribir código! Pese a ser unas pocas líneas de código, utilizaremos el paradigma de dividir el problema para resolverlo (Dīvide et īmpera
si quieren sonar fancy).

  1. Declaremos algunas variables para hacer nuestro código más fácil de leer.
var limite = 100000; // cantidad máxima de n enteros positivos.var suma = 0; // guarda la suma de los enteros positivos.var pi = 0; // guarda el valor de final de Pi.
  1. Hacemos un ciclo que se repita hasta que una variable alcance nuestro límite, y vaya realizando las operaciones correspondientes (en este caso lo que está dentro del paréntesis: elevar al cuadrado, dividir entre 1 y sumar).
for ( var i=1; i<=limite; i++ ) {
	suma += 1 / ( i**2 );
}

Nótese que existe un orden de prioridades para realizar las operaciones; también se debe notar el hecho de que la variable suma, añade el nuevo valor a su valor previo (valga la redundancia).
3. Por último queda multiplicar el valor obtenido de la suma total por seis, y luego obtener su raíz cuadrada. Esto podemos hacerlo en una sola línea de código sin perder legibilidad en nuestro código.

pi = Math.sqrt(suma * 6);

Aquí debemos notar el uso de la librería Math() de javaScript para ayudarnos a obtener la raíz cuadrada.

¡Y listo! Al mostrar el valor de la variable Pi con el código anterior deberíamos obtener el siguiente valor: 3.141583104326456.
Y aquí se puede ver algo “interesante”… EL VALOR DE PI NO ES COMPLETAMENTE CORRECTO. Sí, apartir del quinto decimal notarán que los números no coinciden, y antes de que me crucifiquen por esto, permítanme aclarar: Pueden obtener aproximaciones más exactas aumentando el valor de la variable limite. No entraré en detalles al respecto, simplemente prueben y confíen en el poder de las matemáticas.

Espero que les haya gustado y/o servido de algo este tutorial, es la primera vez que escribo uno y me hacia mucha ilusión compartir algo con Platzi ya que tanto ha compartido conmigo.
Por último me gustaría motivarles a 2 cosas:

  1. Hagan un programa que calcule Pi utilizando otro método. Existen muchas formas de hacer esto, y de seguro será un ejercicio muy interesante y estimulante.
  2. Hagan estos programas en diferentes lenguajes de programación. Yo en particular, tengo un pequeño “ritual”: cada año en el día Pi (cada 14 de marzo) realizo este ejercicio utilizando los lenguajes y técnicas de programación que aprendí durante todo el año.

Gracias por llegar a leer hasta este punto, es sin duda el mayor halago para un escritor que un lector llegue hasta el final; espero haya valido la pena. Happy Coding!

Escribe tu comentario
+ 2