I1M2016: Introducción a la programación funcional

En primera parte de la clase de hoy del curso de Informática (de 1º de Grado en Matemáticas) se ha presentado la asignatura siguiendo el resumen del proyecto docente y los materiales en la página de la asignatura:

Se ha explicado cómo instalar los sistemas.

Se ha comentado el sistema de evaluación y se ha anunciado las fechas de los exámenes de todo el curso.

La segunda parte de la clase ha consistido en una introducción a la
programación funcional basada en el tema 0 en el que se usa CodeWorld/Haskell para mostrar cómo escribir las funciones de los programas para hacer dibujos. En concreto se han
estudiado

  • cómo programar dibujos elementales
  • cómo programar dibujos compuestos
  • cómo transformar dibujos con traslaciones, rotaciones, escalamiento y coloreado.
  • cómo programar animaciones

Libro de exámenes de programación funcional con Haskell (versión del 28 de julio de 2016)

He actualizado el libro Exámenes de programación funcional con Haskell. El libro es una recopilación de los exámenes de la asignatura de Informática (de primero del Grado en Matemáticas) desde el 2009-10 al actual.

Tras la ampliación, el libro contiene 155 exámenes con 1.012 ejercicios.

Este libro es el complemento de los anteriores:

Los códigos del libro están disponibles en Github https://github.com/jaalonso/Examenes_de_PF_con_Haskell.

I1M2015: El patrón de búsqueda en espacios de estados en Haskell

En la la segunda parte de la clase de hoy de del curso Informática de 1º del Grado en Matemáticas hemos estudiado la técnica de resolución de problemas mediante búsqueda en espacios de estados.

La clase comenzó analizando los árboles de búsquedas para el problema de las 4 reinas y para el problema del 8-puzzle

De este análisis se extrae el patrón de resolución de problemas mediante búsqueda en espacios de estados (EE) y sus argumentos:

  • cuál es el estado inicial,
  • cómo se calculan los sucesores de un estado y
  • cómo decidir si un estado es un estado final.

A continuación se implementa el patrón de búsqueda en espacio de estados en Haskell, usando su posibilidad de programar en orden superior para abstraer los argumentos del problema.

Finalmente, se aplica el patrón para implementar las soluciones de los problemas de las N reinas y del cambio de monedas.

Las transparencias usadas en la clase son las páginas 11-28 del tema 23:

El código del patrón de búsqueda en espacio de estados es
Read More “I1M2015: El patrón de búsqueda en espacios de estados en Haskell”