Ciclo 2: Programación Básica: Sesión 10: Preparación Reto 2
Ciclo 2: Programación Básica: Sesión 10: Preparación Reto 2
Ciclo 2: Programación Básica: Sesión 10: Preparación Reto 2
Sesión 10:
Preparación reto 2
Adicionalmente, el dueño del almacén desea generar un informe que contenga el valor total
del inventario a la fecha. Este se obtiene multiplicando el precio de cada producto por el
inventario disponible y luego sumando todos los resultados. Este método debe llamarse
generarInforme e implementarse en la clase BaseDatosProductos.
Por ejemplo, al generar el informe con los datos disponibles en la Tabla 1 obtendríamos:
▪ La primera línea estará formada por una cadena de texto que identifica la operación a realizar. En
este caso, las operaciones válidas son:
▪ ACTUALIZAR
▪ BORRAR
▪ AGREGAR
▪ La segunda línea estará formada por 4 valores (código, nombre, precio, inventario) que
representan el producto sobre el cual se quiere realizar la operación.
▪ En el caso de la operación ACTUALIZAR la segunda línea debe contener el código y los nuevos
valores del producto
▪ En el caso de la operación BORRAR se deben especificar todos los atributos del producto a eliminar
Salida La salida estará representada por una única línea formada por un único valor:
o Valor del inventario
▪ Este valor debe imprimirse después de realizar las operaciones solicitadas en la entrada de datos.
▪ El valor del inventario debe imprimirse con un número decimal
▪ En caso de solicitar ACTUALIZAR o BORRAR un producto que no existe (es decir, que el código del
producto no se encuentra en la base de datos), se debe imprimir “ERROR”
▪ En caso de solicitar AGREGAR un producto cuyo código ya existe en la base de datos se debe
imprimir “ERROR”
Una idea general
Podemos implementar nuestra solución siguiendo los pasos:
• Generar la clase Producto con los atributos código, nombre, precio e inventario.
• Generar un clase BaseDatosProductos que tenga como atributo el HashMap listaProductos. Como llave
podemos usar el código y como valor el objeto de tipo producto
• Implementar los métodos agregar, actualizar, y borrar en la clase BaseDatosProducto
• Implementar el método generar informe en la clase BaseDatosProducto que calcule el valor total del
inventario a partir de los valores de listaProductos
• Implementar las instrucciones para procesar los datos de entrada
• A continuación algunos ejemplos con los que podemos probar nuestro código antes de enviarlo a
calificador automático
Ejemplos Entradas Salida
1 AGREGAR 1015010.0
11 Melon 70 13
2 BORRAR 864100.0
10 Jamon 15000 10
3 ACTUALIZAR 1544600.0
7 Helado 65000 11
4 BORRAR ERROR
14 Maiz 45000 12