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”

I1M2011: Patrones de plegado en Haskell

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

Las transparencias usadas en la clase son las páginas 12 a 22 del tema 7
Read More “I1M2011: Patrones de plegado en Haskell”