Skip to content

Latest commit

 

History

History
22 lines (15 loc) · 2.04 KB

seminario_05_python_magico.md

File metadata and controls

22 lines (15 loc) · 2.04 KB

Seminario 5 (Python Mágico)

Los requerimientos de cada ejercicio del seminario serán expuestos desde el punto de vista práctico y teórico; es decir, para su exposición, cada equipo se basará en el caso práctico en cuestión para introducir y explicar el elemento teórico requerido. La exposición no es una mera enunciación de código. Preguntas como: ¿Por qué?, ¿Basándose en qué?, ¿Cómo se logra esto en el lenguaje X? entre otras, deben hacerse.

Todos los miembros del equipo deben participar en la solución del ejercicio y estar preparados para exponer todo el trabajo. La persona a exponer. se decide el día de la exposición. Quién no esté presente en la exposición de su equipo tiene 0 en la evaluación. (Note que estas notas se promedian y hay distinción entre 0 y 2).


En Python no existe el tipo predefinido array multidimensional.

  1. Implemente la clase Matriz, para representar matrices con las operaciones de suma y producto. Implemente además otras funcionalidades que crea necesarias.
  2. Implemente la indización para la clase Matriz de forma tal que se puedan hacer construcciones como las siguientes: a = matriz[0, 6] o matriz[1, 2] = 9.
  3. Implemente la indización para la clase Matriz por medio de acceso a campos de la forma: a = matriz._0_6 o matriz._1_2 = 9.
  4. Los objetos matrices deberán ser iterables. El iterador de una matriz con n filas y m columnas debe devolver los elementos en el siguiente orden: matriz_1_1, matriz_1_2, ..., matriz_1_m, matriz_2_1, ..., matriz_n_m
  5. Al tipo matriz se podrá aplicar siempre el método as_type() que devuelve una nueva matriz con todos los tipos convertidos al tipo type. Suponga que existe un constructor en type que convierte de cualquier tipo a type. Por ejemplo:
m = Matriz(2, 3) # crea una matriz de int con valor 0s.
mf = m.as_float() # mf es una matriz de 0s pero de tipo float.

Analizar: Resolución de miembros y métodos en Python. Métodos mágicos. Iteradores. El builtin eval. El funcionamiento de super.