I1M2017: El TAD de los polinomios en Haskell

En la clase de hoy de Informática de 1º del Grado en Matemáticas hemos estudiado el tipo abstracto de los polinomios y su implementación en Haskell.

Comenzamos la clase analizando las posibles representaciones de los polinomios y, como consecuencia, establecer la signatura y las propiedades del TAD de los polinomios.

A continuación, estudiamos tres prosibles representaciones del TAD de los polinomios mediante tipos algebraicos, mediantes listas dispersas y mediante listas densas y sus implementaciones en Haskell

Finalmente, hemos estudiado las operaciones con los polinomios usando el TAD de los polinomios.

Los apuntes correspondientes a la clase son

I1M2017: Definiciones de la lista infinita de factoriales en Haskell

En clase de hoy de Informática de 1º del Grado en Matemáticas hemos comentando el ejercicio 9 de la 10ª relación en el se compara 5 definiciones de la lista infinita de los factoriales desde el punto de vista de su simplicidad y eficiencia.

Las definiciones y comparaciones estudiadas son las que se muestran a continuación
Read More “I1M2017: Definiciones de la lista infinita de factoriales en Haskell”

I1M2017: Programa en Haskell para reconocer tautologías

En la clase de hoy de Informática de 1º del Grado en Matemáticas se ha estudiado 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).

Los apuntes correspondientes a la clase son

El código correspondiente es
Read More “I1M2017: Programa en Haskell para reconocer tautologías”