I1M2010: El tipo abstracto de datos de las colas en Haskell

En la clase de hoy de Informática de 1º del Grado en Matemáticas hemos continuado el estudio de los tipos abstractos (TAD) de datos en Haskell, siguiendo el esquema de las pilas hemos estudiado las colas.

Se ha comenzado la modelización de las pilas observando la forma de introducir o extraer sus elementos. El resultado de la modelización es la especificación del TAD: su signatura y propiedades características.

A continuación se han estudiados dos implementaciones (una basada listas y la otra en pares de listas).

Se ha vuelto a resaltar la forma de conseguir la abstracción de tipos en Haskell mediante módulos y exportación sólo de la signatura.

Finalmente, usando QuickCheck se comprueban las propiedades características del TAD de las colas.

Como ejercicios sobre el TAD de las colas se ha propuesto la relación 25.

Las transparencias usadas en la clase son las del tema 15:
Read More “I1M2010: El tipo abstracto de datos de las colas en Haskell”

I1M2010: El tipo abstracto de datos de las pilas en Haskell

En la clase de hoy de Informática de 1º del Grado en Matemáticas hemos empezado el estudio de los tipos abstractos (TAD) de datos en Haskell.

Después de tratar de la abstracción, los TAD en general y su analogía con las estructuras algebraicas, se ha estudiado el primero de los TAD: las pilas.

Se ha comenzado la modelización de las pilas observando la forma de introducir o extraer sus elementos. El resultado de la modelización es la especificación del TAD: su signatura y propiedades características.

A continuación se han estudiados dos implementaciones (una basada en tipos de datos algebraicos y otra en listas).

Un punto importante es la forma de conseguir la abstracción de tipos en Haskell mediante módulos y exportación sólo de la signatura.

Finalmente, usando QuickCheck se comprueban las propiedades características del TAD de las pilas.

Como ejercicios sobre el TAD de las pilas se ha propuesto la relación 24.

Las transparencias usadas en la clase son las del tema 14:
Read More “I1M2010: El tipo abstracto de datos de las pilas en Haskell”

I1M2010: Los problemas de las reinas y de Hamming en Haskell

En la clase de hoy de Informática de 1º del Grado en Matemáticas hemos vistos otras dos aplicaciones de la programación funcional en Haskell: el problema de las reinas (consistente en colocar N reinas en un tablero de dimensiones N por N de forma que no se encuentren más de una en la misma línea: horizontal, vertical o diagonal) y el problema de Hamming (consistente definir una sucesión estrictamente creciente de números tales que el número 1 está en la sucesión y que, si x está en la sucesión, entonces 2*x, 3*x y 5*x también están).

Las transparencias usadas en la clase son desde la página 37 a la 45 del tema 11:
Read More “I1M2010: Los problemas de las reinas y de Hamming en Haskell”