Los primeros al final

Definir la función

tal que (rota n xs) es la lista obtenida poniendo los n primeros elementos de xs al final de la lista. Por ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell

El código se encuentra en GitHub.


Soluciones en Python

El código se encuentra en GitHub.

Comentarios
+ Los n primeros elementos de la lista xs se calcula
+ en Haskell, con take n xs y
+ en Python, con xs[n:].
+ La lista xs sin sus n primeros elementos se calcula
+ en Haskell, con drop n xs y
+ en Python, con xs[:n].

El primero al final

Definir la función

tal que (rota1 xs) es la lista obtenida poniendo el primer elemento de xs al final de la lista. Por ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell

El código se encuentra en GitHub.


Soluciones en Python

El código se encuentra en GitHub.

Comentarios

  • El primer elemento de la lista xs se calcula
    • en Haskell, con head xs
    • en Python, con xs[0]
  • El resto de la lista xs se calcula
    • en Haskell, con tail xs
    • en Python, con xs[1:]
  • La concatenación de las listas xse ysse calcula
    • en Haskell, con xs ++ ys
    • en Python, con xs + ys
  • En Python. xs.append(x) modifica la lista xs añadiéndole x al final. Por ejemplo,

Máximo de tres números

Definir la función

tal que (maxTres x y z) es el máximo de x, y y z. Por ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Solución en Haskell

El código se encuentra en GitHub.


Soluciones en Python

El código se encuentra en GitHub.

Comentarios

  • El máximo de x e y se escribe
    • en Haskell, max x y y
    • en Python, max(x, y).

Último dígito

Definir la función

tal que (ultimoDigito x) es el último dígito del número x. Por ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Solución en Haskell

El código se encuentra en GitHub.


Solución en Python

El código se encuentra en GitHub.

Comentarios

  • El resto de la división entera se x entre y sn ecribe
    • en Haskell, rem x y,
    • en Python, x % y.

Área de la corona circular

Definir la función

tal que (areaDeCoronaCircular r1 r2) es el área de una corona circular de radio interior r1 y radio exterior r2. Por ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Solución en Haskell

El código se encuentra en GitHub.


Solución en Python

El código se encuentra en GitHub.

Comentarios

  • La diferencia de dos números x e y se escribe en Python igual que en Haskell: x - y.