Saltar la navegación

Estructuras de almacenamiento de información.

Caso práctico

Fotografía de María.
Ministerio de Educación y FP (CC BY-NC)



Ana ha recibido un pequeño encargo de parte de su tutora, María. Se trata de que realice un pequeño programita, muy sencillo pero fundamental.

-Hola Ana -dice María-, hoy tengo una tarea especial para ti.

-¿Sí? -responde Ana-. Estoy deseando, últimamente no hay nada que se me resista, llevo dos semanas en racha.

-Bueno, quizás esto se te resista un poco más, es fácil, pero tiene cierta complicación. Un cliente para el que hicimos una aplicación, nos ha dicho si podemos ayudarle. El cliente tiene una aplicación para gestionar los pedidos que recibe de sus clientes. Normalmente, recibe por correo electrónico los pedidos en un formato concreto que todos sus clientes llevan tiempo usando. El cliente suele transcribir el pedido desde el correo electrónico a la aplicación, copiando dato a dato, pero nos ha preguntado si es posible que copie todo el pedido de golpe, y que la aplicación lo procese, detectando posibles errores en el pedido.

-¿Qué? -dice María con cierta perplejidad.

-Me alegra que te guste -dice María esbozando una sonrisa picara-, sé que te gustan los retos.

-Pero, ¿eso cómo se hace? ¿Cómo compruebo yo si el pedido es válido? ¿Y si el cliente ha puesto un producto que no existe?

-No mujer, se trata de comprobar si el pedido tiene el formato correcto y transformarlo de forma que se incorpore fácilmente a los otros pedidos que tenga el cliente en su base de datos. De la verificación de si hay algún producto que no existe, o de si hay alguna incoherencia en el pedido se encarga otra parte del software, que ya he realizado yo.

magen de las manos de una persona insertando datos en el ordenador a través del teclado.
ITE. Óscar Javier Estupiñán Estupiñán (CC BY-NC)

Cuando el volumen de datos a manejar por una aplicación es elevado, no basta con utilizar variables. Manejar los datos de un único pedido en una aplicación puede ser relativamente sencillo, pues un pedido está compuesto por una serie de datos y eso simplemente se traduce en varias variables. Pero, ¿qué ocurre cuando en una aplicación tenemos que gestionar varios pedidos a la vez?

Lo mismo ocurre en otros casos. Para poder realizar ciertas aplicaciones se necesita poder manejar datos que van más allá de meros datos simples (números y letras). A veces, los datos que tiene que manejar la aplicación son datos compuestos, es decir, datos que están compuestos a su vez de varios datos más simples. Por ejemplo, un pedido está compuesto por varios datos, los datos podrían ser el cliente que hace el pedido, la dirección de entrega, la fecha requerida de entrega y los artículos del pedido.

Los datos compuestos son un tipo de estructura de datos, y en realidad ya los has manejado. Las clases son un ejemplo de estructuras de datos que permiten almacenar datos compuestos, y el objeto en sí, la instancia de una clase, sería el dato compuesto. Pero, a veces, los datos tienen estructuras aún más complejas, y son necesarias soluciones adicionales.

Aquí podrás aprender esas soluciones adicionales. Esas soluciones consisten básicamente en la capacidad de poder manejar varios datos del mismo o diferente tipo de forma dinámica y flexible.