InicioHazlo Tu MismoDeducir pi con PHP
Existe la funcion pi() en PHP... pero jugando se me ocurrió sacarlo por mi cuenta y quería compartirlo con ustedes



<?php

// Un círculo es en realidad un polígono de infinitos lados, para deducir pi, lo que tenemos que hacer es tomar el períemtro de un polígono infinito:
function pi_calc(){

// Teniendo en cuenta que pi x diámetro da el perímetro del círculo. Para obtener pi, el diámetro debería ser 1
$d 1;

// La cantidad de lados que tendrá el primer polígono será 4
$x 4;

// Para sacar el perímetro necesitamos usar el teorema de pitágora: la raíz cuadrada de la suma de los catetos al cuadrado, dan la hipotenusa
// El prmer cateto es igual al radio
$cat1 $d/2;
// El segundo cateto también
$cat2 $d/2;
// Deducimos la hipotenusa, que dará el lado del polígono
$hip sqrt(pow(($d/2),2)+pow(($d/2),2));
// Perímetro: lados x largo del lado(hipotenusa)
$p $hip*$x;

// Ahora lo que vamos a hacer es aumentar la cantidad de lados infinitamente hasta llegar a un perímetro equivalente a pi, para ello tenemos que comparar el último príemtro con el antepenúltimo, si se corta el ciclo while es porque no hay mas resultados hacia el infinito(o la computadora o el largo de la hoja no lo pueden concebir)
while($p2 != $p){

// Seteamos el perímetro anterior para compararlo en el ciclo
$p2 $p;

// Deducimos otro cateto que será el lado anterior del polígono dividio 2
$cat1_ $hip/2;
// Esta medida será constante y corresponde al radio
$hip_ $cat2;
// Ahora si, la distancia que necesitamos
$cat2_ sqrt(pow($hip_,2)-pow($cat1_,2));

//-----------
// Ahora restamos el radio por la distancia que buscábamos y nos dará uno de los catetos que neceistamos
$cat1__ = ($d/2) - $cat2_;
// El otro cateto será la hipotenusa anterior
$cat2__ $hip;
// Y finalmete deducimos la hipotenusa que será el largo del lado del nuevo polígono, esta vez, del doble de lados que el anterior
$hip__ sqrt(pow(($cat1__),2)+pow(($cat2__/2),2));

// volvemos a setear los valores de las variables para volver a girar el ciclo while
$hip $hip__;
$cat1 $cat1__;
$cat2 $cat2// Es constante;

// Duplicamos la cantidad de lados
$x $x*2;
// Deducimos el perímetro
$p $hip*$x;

}
// Devolvemos el valor
return $p;

}

// EUREKA !!!
echo pi_calc(); //3.14159265359

//}

?>


 
Datos archivados del Taringa! original
62puntos
0visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

l
lucasgmoreno🇦🇷
Usuario
Puntos0
Posts9
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.