Esta kata de programación te propone una forma entretenida de trabajar con la suma de dígitos de un número y aplicar lógica condicional para clasificarlo dentro de un sistema inspirado en los elementos naturales. Con un simple conjunto de reglas y una condición especial, esta kata es ideal para practicar operaciones básicas, condiciones múltiples y manejo de excepciones lógicas.
Enunciado de la Kata
Dado un número entero, clasifícalo en un elemento natural (Tierra, Agua, Fuego, Aire o Éter) utilizando las siguientes reglas:
Reglas de clasificación
- Suma de dígitos: Calcula la suma de todos los dígitos del número.
- Clasificación elemental:
- Tierra: Si la suma de dígitos es impar y menor que 10.
- Agua: Si la suma de dígitos es par y menor que 10.
- Fuego: Si la suma de dígitos es impar y mayor que 10.
- Aire: Si la suma de dígitos es par y mayor que 10.
- Condición especial:
- Si el número es múltiplo de 11, se clasifica exclusivamente como Éter, ignorando todas las demás condiciones.
Devolución del resultado
El programa debe devolver el nombre del elemento correspondiente: "Tierra"
, "Agua"
, "Fuego"
, "Aire"
o "Éter"
.
Ejemplos explicados
- Entrada: 123
- Suma de dígitos: 1 + 2 + 3 = 6
- Par y menor que 10 → Agua
- Salida: «Agua»
- Entrada: 57
- Suma de dígitos: 5 + 7 = 12
- Par y mayor que 10 → Aire
- Salida: «Aire»
- Entrada: 39
- Suma de dígitos: 3 + 9 = 12
- Par y mayor que 10 → Aire
- Salida: «Aire»
- Entrada: 11
- Múltiplo de 11 → Éter
- Salida: «Éter»
- Entrada: 85
- Suma de dígitos: 8 + 5 = 13
- Impar y mayor que 10 → Fuego
- Salida: «Fuego»
Beneficios de esta kata de programación
Realizar esta kata de programación permite practicar:
- La manipulación numérica mediante suma de dígitos.
- El uso de lógica condicional con múltiples criterios.
- El tratamiento de condiciones especiales que anulan otras reglas.
- La mejora de la claridad en el código y estructuración de reglas.
Esta kata de programación es ideal para principiantes o para sesiones de práctica rápida. Puedes implementarla en cualquier lenguaje: Python, JavaScript, C#, Java o incluso pseudocódigo. Es una excelente excusa para reforzar habilidades básicas y ejercitar el pensamiento lógico.