División segura

Definir la función

tal que (divisionSegura x y) es x/y si y no es cero y 9999 en caso contrario. 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 condicional se escribe en Haskell como

y en Python como

  • Una alternativa al uso de los condicionales son los patrones que en Haskell se escribe en los argumentos de las ecuaciones y en Python con match cases.

Tres diferentes

Definir la función

tal que (tresDiferentes x y z) se verifica si los elementos x, y y z son distintos. 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

  • Para decidir si x e y son distintos, se escribe
    • x /= y en Haskell y
    • x != y en Python.

Tres iguales

Definir la función

tal que (tresIguales x y z) se verifica si los elementos x, y y z son iguales. 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

  • La conjunción de x e y se calcula
    • en Haskell, con x && y y
    • en Python, con x and y.
  • En Python, x == y == z es equivalente a x == y and y == z.

Elemento mediano

Definir la función

tal que (mediano x y z) es el número mediano de los tres números x, y y z. 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.

Primeros y últimos elementos

Definir la función

tal que (extremos n xs) es la lista formada por los n primeros elementos de xs y los n finales elementos de xs. 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.