Pens. comp. para ingeniería

Práctica #5: Estatutos de repetición I

Objetivo

Durante esta actividad, los alumnos serán capaces de:


Instrucciones

NOTA: La siguiente actividad se puede realizar de manera individual o en parejas.

Problemas

  1. Escribe la función piramide que recibe como argumento un número entero positivo n mayor a cero. Devuelve el resultado de: \(1^2 + 2^2 + 3^2 + \cdots + n^2 \).

    Pruebas:

    >>> piramide(1)
    1
    >>> piramide(2)
    5
    >>> piramide(3)
    14
    >>> piramide(10)
    385
    >>> piramide(100)
    338350
    
  2. Escribe la función factorial que recibe como argumento un número entero positivo n mayor a cero. Devuelve el factorial de \(n\), es decir, el producto de todos los números enteros positivos desde 1 hasta \(n\):

    $$ \prod_{i=1}^{n}i=1 \times 2\times 3 \cdots \times n $$

    Pruebas:

    >>> factorial(1)
    1
    >>> factorial(2)
    2
    >>> factorial(3)
    6
    >>> factorial(5)
    120
    >>> factorial(10)
    3628800
    >>> factorial(20)
    2432902008176640000
    >>> factorial(30)
    265252859812191058636308480000000
    >>> factorial(40)
    815915283247897734345611269596115894272000000000
    
  3. El problema de Basilea consiste en encontrar la suma exacta de los inversos de los cuadrados de los enteros positivos, esto es:

    $$ \sum_{k=1}^{n}\frac{1}{k^2}=\frac{1}{1^2}+\frac{1}{2^2}+\frac{1}{3^2}+\cdots+\frac{1}{n^2} $$

    Escribe la función basilea que recibe como argumento un entero positivo n mayor a cero. Devuelve la solución al problema de Basilea usando la fórmula de arriba.

    Pruebas:

    >>> basilea(1)
    1.0
    >>> basilea(2)
    1.25
    >>> basilea(5)
    1.4636111111111112
    >>> basilea(10)
    1.5497677311665408
    >>> basilea(1000)
    1.6439345666815615
    >>> basilea(1000000)
    1.64493306684877
    
  4. La fórmula de Leibniz para calcular un valor aproximado de \(\pi\), a partir de un valor de \(n \ge 0 \), es la siguiente:

    $$ \pi \approx 4 \left ( \sum_{i=0}^{n}\frac{(-1)^i}{2i+1} \right ) = 4 \left ( 1 - \frac{1}{3} + \frac{1}{5} - \frac{1}{7} + \cdots + \frac{(-1)^n}{2n+1} \right ) $$

    La aproximación de \(\pi\) es mejor entre más grande sea el valor de \(n\).

    Escribe la función leibniz_pi que recibe como argumento un entero positivo n mayor o igual a cero. Deveuelve una aproximación de \(\pi\) usando la fórmula anterior.

    Pruebas:

    >>> leibniz_pi(0)
    4.0
    >>> leibniz_pi(1)
    2.666666666666667
    >>> leibniz_pi(2)
    3.466666666666667
    >>> leibniz_pi(10)
    3.232315809405594
    >>> leibniz_pi(100)
    3.1514934010709914
    >>> leibniz_pi(1000)
    3.1425916543395442
    >>> leibniz_pi(10000)
    3.1416926435905346
    >>> leibniz_pi(100000)
    3.1416026534897203
    >>> leibniz_pi(1000000)
    3.1415936535887745
    
  5. Escribe la función decimal_recurrente que recibe como argumentos dos enteros positivos d y n mayores a cero. Devuelve un número flotante donde d aparece n veces después del punto decimal. Por ejemplo, si d es igual a 8 y n es igual a 5, entonces la función devuelve 0.88888.

    Como serie, la función se puede expresar así:

    $$ \sum_{j=1}^{n} \frac{d}{10^j} $$

    Pruebas:

    >>> decimal_recurrente(5, 1)
    0.5
    >>> decimal_recurrente(1, 3)
    0.111
    >>> decimal_recurrente(4, 4)
    0.4444
    >>> decimal_recurrente(8, 5)
    0.88888
    >>> decimal_recurrente(2, 9)
    0.222222222
    >>> decimal_recurrente(3, 11)
    0.33333333333
    >>> decimal_recurrente(9, 14)
    0.99999999999999
    

¿Qué se debe entregar?

Todas tus funciones deben estar contenidas en el archivo practica5.py.

Instrucciones para subir archivo

Para entregar el archivo practica5.py, ingresa los siguientes datos:

Solicitar NIP

Si la práctica fue desarrollada por un equipo de dos personas, basta que una persona la entregue.

Fecha límite: Viernes, 27 de septiembre.