Clase 5 - Funcional - TP y sus TADs

Fecha de publicación: 10-abr-2017 17:13:57

en esta clase estuvimos comparando varias soluciones a la primera parte del TP, y analizándolo en función de sus TADs.

Aprendimos que un TAD (Tipo Abstracto de Datos) es un tipo de dato como los veníamos definiendo. Pero pusimos el foco en separar aquellas operaciones primitivas (que conocen cómo está implementado el TAD) de las que no (ya que se basan en las primitivas para obtener lo que necesiten). De esta forma tenemos un criterio para determinar qué funciones queremos que sean primitivas y cuáles no.

Luego estuvimos definiendo los tipos de todas las abstracciones del negocio. Varios de ellos terminaron siendo funciones, otros datas. Para el caso de las funciones, es importante pensar en cómo construirlas para que los tipos cierren. La construcción de nuestros TADs también es algo importante que, en el caso de los datas es simplemente invocando al constructor con los parámetros esperados, pero en el caso de las funciones tenemos que ordenar bien los parámetros para armar los tipos que queremos.

También recordamos qué significaba que un elemento sea Neutro o Absorbente en una operación. Vimos que la identificación de un elemento neutro puede servir para armar los otros elementos teniendo funciones que se encarguen de algún atributo del TAD.

Por último estuvimos flasheando con la definición de Monoide. Vimos que las hierbas representan un monoide bajo la operación de mazclar, teniendo la alcachofa 0 como neutro. Además, como es conmutativa, entra dentro del grupo abeliano.

Como nos ocupó toda la clase, quedó el último tema pendiente para la clase que viene! En la cual también vamos a estar trabajando sobre este enunciado que tienen que traer resuelto.