Menu Close

Categoría: PFH

PFH: Sistema de decisión de tautologías en Haskell

He añadido a la lista Programación funcional con Haskell el vídeo Sistema de decisión de tautologías en Haskell en el que se ha estudia cómo construir un programa para determinar si una fórmula es una tautología. Para ello se consideran las siguientes fases:
1. definir un tipo de dato algebraico para las fórmulas proposicionales,
2. definir un tipo de dato para las interpretaciones,
3. definir una función para calcular los valores de las fórmulas en las interpretaciones
4. definir una función para generar todas las posibles interpretaciones de una fórmula y
5. definir una función que para decidir si una fórmula es tautología (es decir, su valor es verdadero en todas sus interpretaciones).

El vídeo es

Los apuntes correspondientes son

Una versión interactiva de los apuntes en IHaskell se encuentra aquí.

PFH: Programas, funciones y dibujos (Introducción a la programación funcional con CodeWorld/Haskell)

He añadido a la lista Programación funcional con Haskell el vídeo Programas, funciones y dibujos (Introducción a la programación funcional con CodeWorld/Haskell) en el que se explica cómo escribir las funciones de los programas para hacer dibujos. En concreto,

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

El vídeo es

Los apuntes correspondientes son

PFH: Definiciones de tipos en Haskell

He añadido a la lista Programación funcional con Haskell el vídeo Definiciones de tipos en Haskell en el que se ha estudiado la definición de nuevos tipos de datos y de funciones sobre dichos tipos. Concretamente, se ha visto

  • cómo definir tipos usando type,
  • cómo definir funciones con dominio o rango en tipos definidos usando type,
  • cómo definir tipos usando data,
  • cómo definir funciones con dominio o rango en tipos definidos usando data y
  • cómo definir tipos de datos recursivos usando como ejemplo los naturales, las listas y los árboles.

Se ha insistido en la metodología de definición de funciones recursivas sobre tipos de datos escribiendo una ecuación por cada uno de los constructores del tipo de dato.

El vídeo es

Los apuntes correspondientes son

Una versión interactiva de los apuntes en IHaskell se encuentra aquí.

PFH: Funciones de orden superior en Haskell (Parte 2 de 3): Plegados

He añadido a la lista Programación funcional con Haskell el vídeo Funciones de orden superior en Haskell (Parte 2 de:3): Plegados en el que se continúa el estudio de las funciones de orden superior con las funciones de plegados y la composición de funciones.

En primer lugar, se ha estudiado cómo puede abstraerse los esquemas definición de funciones de recursión sobre listas mediante la función de plegado (foldr) y cómo con dicha función puede simplificarse la definición de funciones.

A continuación se ha visto cómo definir funciones con acumuladores y cómo simplificarlas con el patrón de plegado por la izquierda (foldl).

Finalmente, se ha visto cómo puede simplificarse la definición de funciones usando el operador de composición.

El vídeo es

Los apuntes correspondientes son

Una versión interactiva de los apuntes en IHaskell se encuentra aquí.

PFH: Funciones de orden superior en Haskell (Parte 1 de 3)

He añadido a la lista Programación funcional con Haskell el vídeo Funciones de orden superior en Haskell (Parte 1 de 3) en el que se ha iniciado el estudio de las funciones de orden superior.

En primer lugar, se ha explicado en qué consiste lo de orden superior.

En segundo lugar, se han estudiado las funciones de procesamiento de listas (map) y de filtrado (filter) definiéndolas por comprensión y por recursión. También se ha puesto un ejemplo de utilización de dichas funciones para definir nuevas funciones.

Finalmente, se han explicado otras funciones predefinidas de orden superior: all, any, takeWhile y dropWhile. También se ha comentado cómo buscarlas en Hoogle y cómo consultar sus definiciones.

El vídeo es

Los apuntes correspondientes son

Una versión interactiva de los apuntes en IHaskell se encuentra aquí.

PFH: Definiciones por recursión en Haskell (Parte 2 de 2)

He añadido a la lista Programación funcional con Haskell el vídeo Definiciones por recursión en Haskell (Parte 2 de 2) en el que se completa el estudio de las definiciones por recursión en Haskell comenzado en el vídeo anterior. Concretamente, hemos visto ejemplos de

  • recursión sobre varios argumento,
  • recursión múltiple y
  • de recursión mutua.

El vídeo es

Los apuntes correspondientes son

Una versión interactiva de los apuntes en IHaskell se encuentra aquí.

PFH: Definiciones por recursión en Haskell (Parte 1 de 2)

He añadido a la lista Programación funcional con Haskell el vídeo Definiciones por recursión en Haskell (Parte 1 de 2) en el que se e,pieza el estudio de las definiciones por recursión en Haskell. Concretamente, hemos visto ejemplos de

  • recursión sobre los números naturales y
  • recursión sobre listas.

El vídeo es

Los apuntes correspondientes son

Una versión interactiva de los apuntes en IHaskell se encuentra aquí.

PFH: Definiciones por comprensión en Haskell

He añadido a la lista Programación funcional con Haskell el vídeo Definiciones de listas por comprensión en Haskell en el que se estudia cómo definir funciones en Haskell usando listas de comprensión. En concreto, hemos visto cómo definir:

  • listas con un generador,
  • listas con varios generadores,
  • listas con generadores dependientes y
  • listas con guardas,
  • listas de comprensión con emparejamientos.

También se han estudiados las cadenas como caso particular de listas y cómo aplicar definiciones por comprensión a cadenas.

El vídeo es

Los apuntes correspondientes son

Una versión interactiva de los apuntes en IHaskell se encuentra aquí.