I1M2016: Definiciones por comprensión

En primera parte de la clase de hoy de Informática de 1º del Grado en Matemáticas se ha explicado la primera parte tema 5 en la 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,
  • listas con guardas,
  • listas con guardas e igualdad y
  • emparejamiento de listas con zip.

Las transparencias usadas en la clase son las correspondientes a las cuatro primeras sesiones del tema 5

I1M2016: Ejercicios de definiciones por composición sobre números, listas y booleanos

En la tercera parte de la clase de hoy del curso de Informática de 1º del Grado en Matemáticas hemos comentado soluciones de los 10 primeros ejercicios de la 1ª relación sobre definiciones por composición de funciones sobre números, listas y booleanos.

Los ejercicios y su solución se muestran a continuación
Read More “I1M2016: Ejercicios de definiciones por composición sobre números, listas y booleanos”

I1M2016: Métodos elementales de definición de funciones en Haskell

En la segunda parte de la clase de hoy del curso Informática (de 1º de Grado en Matemáticas) se ha explicado el tema 4 donde se estudia cómo definir funciones en Haskell usando los formas básicas: composición, condicionales, guardas y patrones.

Como tarea para la próxima clase se ha propuesto resolver de manera colaborativa los ejercicios de la 2ª relación.

Los apuntes usados en la clase son las del tema 4

A continuación se muestran los correspondientes apuntes

I1M2016: Tipos y clases en Haskell

En la primera parte de la clase de hoy de Informática de 1º del Grado en Matemáticas se ha explicado el tema 3 en el que se introducen 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 los tipos básicos (Bool, Char, String, Int, Integer, Float y ,
  • cuáles son los tipos compuestos (listas, tuplas y funciones),
  • 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.

A continuación se muestran los correspondientes apuntes