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.
- Implemente la clase
Matriz
, para representar matrices con las operaciones de suma y producto. Implemente además otras funcionalidades que crea necesarias. - Implemente la indización para la clase
Matriz
de forma tal que se puedan hacer construcciones como las siguientes:a = matriz[0, 6]
omatriz[1, 2] = 9
. - Implemente la indización para la clase
Matriz
por medio de acceso a campos de la forma:a = matriz._0_6
omatriz._1_2 = 9
. - Los objetos matrices deberán ser iterables. El iterador de una matriz con
n
filas ym
columnas debe devolver los elementos en el siguiente orden:matriz_1_1, matriz_1_2, ..., matriz_1_m, matriz_2_1, ..., matriz_n_m
- Al tipo matriz se podrá aplicar siempre el método
as_type()
que devuelve una nueva matriz con todos los tipos convertidos al tipotype
. Suponga que existe un constructor entype
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 builtineval
. El funcionamiento desuper
.