PFH: La semana en Exercitium (12 de agosto de 2022)

Esta semana he publicado en Exercitium las soluciones de los siguientes problemas:

A continuación se muestran las soluciones.

1. Media aritmética de tres números

Definir la función

tal que (media3 x y z) es la media aritmética de los números x, y y z. Por ejemplo,

Solución en Haskell

El código se encuentra en GitHub.

Soluciones en Python

El código se encuentra en GitHub.

Comentarios

  • Los comentarios irán resaltando las diferencias de la solución en Python respecto de la de Haskell (que no se hayan comentado en ningún ejercicio anterior).
  • La estructura de la definición en Python es

  • La suma de dos números x e y se escribe en Python igual que en Haskell: x + y.
  • El cociente de dos números decimales x e y se escribe en Python igual que en Haskell: x / y.

2. Suma de monedas

Definir la función

tal que (sumaMonedas a b c d e) es la suma de los euros correspondientes a a monedas de 1 euro, b de 2 euros, c de 5 euros, d de 10 euros y e de 20 euros. Por ejemplo,

Soluciones en Haskell

El código se encuentra en GitHub.

Soluciones en Python

El código se encuentra en GitHub.

Comentarios

  • El producto de dos números x e y se escribe en Python igual que en Haskell: x * y.

3. Volumen de la esfera

Definir la función

tal que (volumenEsfera r) es el volumen de la esfera de radio r. Por ejemplo,

Solución en Haskell

El código se encuentra en GitHub.

Solución en Python

El código se encuentra en GitHub.

Comentarios

  • El número \pi se representa igual en Python que en Haskell; pero, en Python. para usarlo hay que importarlo de la librería math.
  • La potencia de número x elevado al entero n se escribe
    • en Haskell, x^n y
    • en Python, x ** n.

4. Á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,

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.

5. Último dígito

Definir la función

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

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.