Programación genérica, sumando cualquier estructura

propuesto por josejuan

Normal o difícil según el lenguaje y tipo de solución. Se trata de definir la suma pero sin conocer de antemano el tipo de dato que habrá que poder sumar.

Enunciado
La suma es bien conocida:
3 + 4 = 7


Si tenemos cierto tipo:
Cesta { capacidad :: Integer }


Podemos sumar cestas, tal que:
Cesta 34 + Cesta 10 = Cesta 44


Se pide implementar la suma, pero de cualquier tipo de dato aún no definido.

Es decir, hay que implementar "algo" que sume y sólo después crear las `Cesta`, `Camión`, ... y que pueda ser sumado por la implementación anterior.
Preguntas sobre el desafío
  • No se si entendí bien, hay que pedir valores de ingreso para que sean sumados pero si no se ingresa que ya tenga valores predeterminados?

    Hola Ángel,

    no, supón que tienes un tipo de dato que almacena el número de manzanas en una cesta, a ese tipo de dato lo podrías llamar "Cesta INTEGER". Entonces se podrían sumar las cestas como "Cesta 34 + Cesta 51 = Cesta 85". Pero ahora piensa que tienes este otro tipo "Excursión (Monitores INTEGER) (Alumnos INTEGER)", entonces ahora la suma consistiría en "Excursión (Monitores 3) (Alumnos 20) + Excursión (Monitores 2) (Alumnos 17) = Excursión (Monitores 5) (Alumnos 37)". Y así, podrías imaginarte MONTONES de tipos de datos diferentes y COMPLEJOS.

    El problema consiste en poder sumar CUALQUIER estructura ¡sin conocerla de antemano!, es decir, tú resuelves el desafío y entonces, DESPUÉS, yo debo poder sumar mi NUEVA estructura con el resultado de tu desafío ¡sin que lo modifiques!

    Por ejemplo mañana quiero "Logística LISTA<Vehículo (Capacidad INTEGER)> Cesta Excursión" y que pueda sumarse con lo que tú has hecho hoy sin que tengas que tocar nada.

Plantea tu pregunta

2 Soluciones

Dar mi solución

Dar mi solución