Ejercicio de programación con Kotlin: Transformación en monads y functors

Código
Práctica
0h 20m

Kotlin: ejercicio sobre transformaciones en Monads y Functors para desarrollar habilidades en programación funcional. Aprende a manipular estructuras avanzadas.

Implementa en Kotlin una función llamada procesarEntrada que reciba una lista de cadenas de texto. 

La función debe realizar las siguientes operaciones de manera funcional utilizando transformaciones en monads:

  1. Convierte cada cadena en un número entero utilizando toIntOrNull(), lo que devuelve un Int?.
  2. Para cada cadena:
    • Si la conversión es exitosa:
      • Si el número es par, divídelo entre 2.
      • Si el número es impar, multiplícalo por 3 y súmale 1.
      • Devuelve el resultado en un Result.success.
    • Si la conversión falla (es decir, la cadena no es un número válido), devuelve un Result.failure con un mensaje de error apropiado.

Devuelve una lista de Result<Int> donde cada elemento representa el resultado de la transformación anterior o un error.

Requisitos:

  • Utiliza las funciones map y flatMap para manejar las transformaciones y evitar anidar monads.
  • No utilices estructuras de control como if, else o when; maneja todo de forma funcional.
  • Evita el uso de variables mutables; trabaja con valores inmutables y transformaciones funcionales.
  • La función debe ser capaz de manejar listas vacías y cadenas no numéricas sin generar errores.
Empezar ejercicio de programación

Todos los ejercicios de programación de Kotlin

Evalúa tus conocimientos con ejercicios de programación en Kotlin de tipo Test, Puzzle, Código y Proyecto con VSCode.

Certificados de superación de Kotlin

Supera todos los retos de Kotlin y obtén estos certificados de superación para mejorar tu currículum y tu empleabilidad.

Tutorial para resolver este ejercicio de programación

Kotlin

Kotlin

Transformaciones en Monads y Functors

Programación funcional

Otros tutoriales de programación con Kotlin