I1M2011: Tipos y clases en Haskell

En la clase de hoy de Informática de 1º del Grado en Matemáticas se ha estudiado los tipos y las clases en Haskell. Los objetivos de tema son aprender

  • qué es un tipo,
  • cómo expresar que una expresión tiene un tipo determinado,
  • cómo preguntar a Haskell por el tipo de una expresión,
  • cómo determinar el tipo de una expresión,
  • cuáles son las ventajas de los tipos en programación,
  • cuáles son los tipos básicos (Bool, Char, String, Int, Integer, Float y Double),
  • cuáles son los tipos compuestos (listas, tuplas y funciones),
  • cómo usar funciones parcializadas,
  • qué es el polimorfismo y la sobrecarga de funciones y
  • cuáles son las clases básicas (Eq, Ord, Show, Read, Num, Integral y Fractional), sus métodos e instancias.

Las transparencias usadas en la clase son las del tema 3:
Read More “I1M2011: Tipos y clases en Haskell”

LI2011-12: Formas normales de Skolem y cláusulas

En la clase de hoy del curso Lógica Informática se estudiado cómo se puede diseñar un procedimiento de forma que dada una fórmula F obtenga otra sin cuantificadores G que sea equisatisfacible (es decir, que G es satisfacible precisamente si lo es F). Con dicho procedimiento se calcula la forma normal de Skolem. A partir de las formas se Skolem se obtienen las formas clausales.

Las transparencias de esta clase son las del tema 9
Read More “LI2011-12: Formas normales de Skolem y cláusulas”

I1M2011: Ejercicios sobre funciones de orden superior y plegados

La clase de hoy de Informática de 1º del Grado en Matemáticas hemos comentando las soluciones de ejercicios de la 3ª y 4ª parte de la 9ª relación y los 2 primeros de la 10ª relación

La 3ª parte contiene ejercicios sobre funciones de orden superior. En concreto, se estudian funciones para calcular

  • el segmento inicial cuyos elementos verifican una propiedad y
  • el complementario del segmento inicial cuyos elementos verifican una propiedad.

La 4ª parte contiene ejercicios sobre definiciones mediante map, filter y plegado. En concreto, se estudian funciones para calcular

  • la lista de los valores de los elementos que cumplen una propiedad,
  • la concatenación de una lista de listas,
  • la redefinición de la función map y
  • la redefinición de la función filter.

La 10ª relación contiene ejercicios con definiciones mediante
plegado. En concreto, se estudian definiciones por plegado para
calcular

  • el máximo elemento de una lista,
  • el mínimo elemento de una lista,

Estos ejercicios corresponden al tema 7.

Los ejercicios, y sus soluciones, se muestran a continuación.
Read More “I1M2011: Ejercicios sobre funciones de orden superior y plegados”

I1M2011: Codificación binaria y transmisión de cadenas en Haskell

En la clase de hoy de Informática de 1º del Grado en Matemáticas se ha estudiado, como aplicación de las funciones de orden superior, la codificación binaria de cadenas y su transmisión.

El código correspondiente se encuentra en tema-7.hs.

Las transparencias usadas en la clase son las comprendidas entre las páginas 23 y 36 del tema 7
Read More “I1M2011: Codificación binaria y transmisión de cadenas en Haskell”