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”

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”

I1M2011: Ejercicios de definiciones por recursión y comprensión y sobre cadenas en Haskell

La clase de hoy de Informática de 1º del Grado en Matemáticas hemos comentando las soluciones de ejercicios de las dos primeras partes de la 9ª relación.

La 1ª parte contiene ejercicios con definiciones por comprensión y recursión. En concreto, se estudian funciones para calcular

  • la compra de una persona agarrada y
  • la división de una lista numérica según su media.

La 2ª parte contiene ejercicios sobre cadenas. En concreto, se estudian funciones para calcular

  • la suma de los dígitos de una cadena,
  • la capitalización de una cadena,
  • el título con las reglas de mayúsculas iniciales,
  • la búsqueda en crucigramas,
  • las posiciones de un carácter en una cadena y
  • si una cadena es una subcadena de otra.

Estos ejercicios corresponden a los temas 5, 6 y 7.

Los ejercicios, y sus soluciones, se muestran a continuación:
Read More “I1M2011: Ejercicios de definiciones por recursión y comprensión y sobre cadenas en Haskell”