Control Recuperativo Metodología de Programación Ayudante: Leonel Lagos 1.- Problema: Se desea crear un sistema para manipular información de una bodega de Farmacia. El programa debe permitir ingresar y retirar fármacos en las distintas bodegas. La farmacia posee 5 bodegas (b1, b2, b3, b4, b5) y cada bodega posee varios tipos de fármacos. Cada vez que se desee hacer un movimiento de algún producto, se debe pedir primero la bodega en la que se desea hacer el movimiento, segundo el nombre del fármaco, luego preguntar el movimiento deseado (ingresar o retirar) y finalmente la cantidad. Obviamente no se podrán retirar productos de la bodega si no existen en ella. Si se desea ingresar un fármaco, se debe pedir el nombre, el tipo (pastillas o jarabe) y la cantidad. Cada vez que se haga un retiro de productos, deberá imprimir una boleta en pantalla con el detalle del producto retirado, cantidad y calcular el precio total del movimiento. 2.- Detalles Técnicos: Como el programa se debe resolver en Java, deberá aplicar todos los conocimientos adquiridos sobre la programación orientada a objeto, Como por Ejemplo: Todos los atributos de las clases deben ser privados, constructores, accesadores, mutadores, etc. La clase llamada fármaco tiene como atributos Nombre y Precio, de ella heredan dos clases más que son Pastilla y Jarabe. Pastilla posee un atributo llamado Cantidad_por_Caja (que es la cantidad de pastillas que tiene una caja) y Jarabe posee un atributo llamado Cantidad_ML (que es la cantidad en ml de Jarabe) Deberá crear una Clase llamada Bodega que tiene dos atributos, uno es el Nombre y el otro es un ArrayList de Fármacos. Para el manejo de las 5 bodegas, puede crear un array normal o un tipo ArrayList. Ud deberá crear su propia excepción para los casos en que hay errores, como por ejemplo que no hallan productos suficientes para retirar o datos mal ingresados, etc.