Pens. comp. para ingeniería

Práctica #3: Operaciones con tuplas

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. La función incrementa recibe como argumento un número n. Devuelve una tupla conformada por cuatro números: n seguido de n más uno, seguido de n más dos, seguido de n más tres.

    Pruebas:

    >>> incrementa(1)
    (1, 2, 3, 4)
    >>> incrementa(100)
    (100, 101, 102, 103)
    >>> incrementa(8.2)
    (8.2, 9.2, 10.2, 11.2)
    >>> incrementa(-5)
    (-5, -4, -3, -2)
    >>> isinstance(incrementa(5), tuple)
    True
    
  2. La función raices recibe como argumentos tres valores numéricos: a, b y c, los cuales corresponden a los coeficientes de una ecuación cuadrática del tipo:

    $$ ax^2 + bx + c = 0 $$

    La función devuelve una tupla con los dos posibles valores de \(x\) usando la fórmula general para resolver ecuaciones de segundo grado:

    $$ x=\frac{-b\pm \sqrt{b^2-4ac}}{2a} $$

    TIP: \(\sqrt{w}\) se puede calcular en Python como: w ** 0.5

    Pruebas:

    >>> raices(2, 4, 2)
    (-1.0, -1.0)
    >>> raices(1, 0, 0)
    (0.0, 0.0)
    >>> raices(4, 5, 1)
    (-0.25, -1.0)
    >>> raices(1, -4, 1.75)
    (3.5, 0.5)
    >>> isinstance(raices(1, -4, 1.75), tuple)
    True
    
  3. La función tripifica recibe como argumento una tupla tup con al menos 3 elementos. Devuelve una tupla donde el primer elemento de tup aparece una vez, el segundo elemento aparece dos veces, y el tercer elemento aparece tres veces.

    Pruebas:

    >>> tripifica((1, 2, 3))
    (1, 2, 2, 3, 3, 3)
    >>> tripifica(('a', 'b', 'c', 'd', 'e'))
    ('a', 'b', 'b', 'c', 'c', 'c')
    >>> tripifica(((1, 2), (3, 4), (5, 6), (7, 8)))
    ((1, 2), (3, 4), (3, 4), (5, 6), (5, 6), (5, 6))
    >>> isinstance(tripifica((1, 2, 3)), tuple)
    True
    
  4. La función divide_palabra recibe como argumento una cadena de caracteres palabra. Devuelve una tupla con dos cadenas que corresponden a palabra dividida a la mitad. Si la longitud de palabra es impar, la mitad más corta debe venir primero y luego la mitad más larga.

    Pruebas:

    >>> divide_palabra('Python')
    ('Pyt', 'hon')
    >>> divide_palabra('equis')
    ('eq', 'uis')
    >>> divide_palabra('parangaricutirimicuaro')
    ('parangaricu', 'tirimicuaro')
    >>> divide_palabra('la')
    ('l', 'a')
    >>> divide_palabra('x')
    ('', 'x')
    >>> divide_palabra('')
    ('', '')
    >>> isinstance(divide_palabra('la'), tuple)
    True
    

¿Qué se debe entregar?

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

Instrucciones para subir archivo

Para entregar el archivo practica3.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, 6 de septiembre.