Ramas de un árbol

Los árboles se pueden representar mediante el siguiente tipo de datos

Por ejemplo, los árboles

se representan por

Definir la función

tal que (ramas a) es la lista de las ramas del árbol a. Por ejemplo,

Soluciones

El código se encuentra en GitHub.

La elaboración de las soluciones se describe en el siguiente vídeo

Valores de polinomios representados con vectores

Los polinomios se pueden representar mediante vectores usando la librería Data.Array. En primer lugar, se define el tipo de los polinomios (con coeficientes de tipo a) mediante

Como ejemplos, definimos el polinomio

que representa a 6 + 2x – 5x^2 + 7x^4 y el polinomio

que representa a 6.5 + 2x – 5.2x^2 + 7x^4

Definir la función

tal que (valor p b) es el valor del polinomio p en el punto b. Por ejemplo,

Soluciones

El código se encuentra en GitHub.

La elaboración de las soluciones se encuentran en el siguiente vídeo

Segmentos maximales de elementos consecutivos

Definir la función

tal que (segmentos xss) es la lista de los segmentos maximales de xss formados por elementos consecutivos. Por ejemplo,

Soluciones

[schedule expon=’2022-03-18′ expat=»06:00″]

  • Las soluciones se pueden escribir en los comentarios hasta el 18 de marzo.
  • El código se debe escribir entre una línea con <pre lang="haskell"> y otra con </pre>

[/schedule]

[schedule on=’2022-03-18′ at=»06:00″]

El código se encuentra en [GitHub](https://github.com/jaalonso/Exercitium/blob/main/src/Segmentos_consecutivos.hs).

La elaboración de las soluciones explica en el siguiente vídeo:


[/schedule]

Lista cuadrada

Definir la función

tal que (listaCuadrada n x xs) es una lista de n listas de longitud n formadas con los elementos de xs completada con x, si no xs no tiene suficientes elementos. Por ejemplo,

Soluciones

El código se encuentra en GitHub.

La elaboración de la solución se muestra en el siguiente vídeo:

Máximos locales

Un máximo local de una lista es un elemento de la lista que es mayor que su predecesor y que su sucesor en la lista. Por ejemplo, 5 es un máximo local de [3,2,5,3,7,7,1,6,2] ya que es mayor que 2 (su predecesor) y que 3 (su sucesor).

Definir la función

tal que (maximosLocales xs) es la lista de los máximos locales de la lista xs. Por ejemplo,

Soluciones

El código se encuentra en GitHub.

La elaboración de las soluciones se encuentran en el siguiente vídeo: