Programación II
  • Java 54.2%
  • Makefile 45.8%
Find a file
2025-02-13 06:43:32 +01:00
docs feat(docs): add UML diagram 2025-02-13 06:39:02 +01:00
src feat: initial commit 2025-01-22 03:02:13 +01:00
.gitignore feat: initial commit 2025-01-22 03:02:13 +01:00
LICENSE feat: initial commit 2025-01-22 03:02:13 +01:00
Makefile feat: initial commit 2025-01-22 03:02:13 +01:00
README.md feat(docs): add UML diagram to README 2025-02-13 06:43:32 +01:00

Practica 1 - Programación 2

Explicación / Teoría

El método usado para obtener la aproximación del numero PI, es el método Monte-Carlo.

Estos son los pasos que usamos para generar el una aproximación del número PI de manera iterativa:

  • Se genera un punto aleatorio en un cuadrado de lado 1 (con Math.random).
  • Verificamos si el punto esta dentro de un círculo de radio 1 (situado en parte dentro del cuadrado)
  • Contamos los puntos que caen dentro del círculo.
  • Usamos la proporción de puntos dentro del círculo respecto al total para aproximar PI.

La formula usada para la generación del numero PI es la siguiente:

PI ≈ 4 * (puntos dentro del círculo) / (total puntos generados)

Esto tambien significa que cuanto mas puntos (parametro "pasos") generamos, mas nos aproximaremos al numero PI.

Uso

Primero compile el programa con el comando :

make

Lance el programa :

./a.out <numeroDePasos>

Output

// Input : 1000000000 (mil millones de iteraciones)

El número PI es 3.141641064

Nota: Con numeros grandes, la ejecución puede tardar un poco mas en finalizar, ya que el numero de iteraciones es mayor.

Tiempo de ejecución

Para medir el tiempo de ejecución, se puede usar el comando time de esta manera : time ./a.out <numeroDePasos>. Por ejemplo, para el resultado anterior, en un Macbook M1 Pro tomó un total de 31,31s (varía según el hardware entre otros factores).

image

Diagrama UML


Class Diagram