Objetivo |
Utilizar todo lo que has aprendido este semestre | |
Producto a Entregar |
Un archivo comprimido con el programa generado en la actividad. | |
Forma de Trabajo |
Equipos | |
Tiempo estimado |
1 hora | |
Forma de Entrega |
Por Blackboard | |
Recomendaciones |
|
Instrucciones |
|
|---|---|
Paso 1:Los cajeros de Miscelaneas MaguSoft tienen que resolver un problema relativamente complicado cada que alguien paga su cuenta. ¿Cómo darle su cambio a la persona? Imaginemos que los cajeros tienen un conjunto infinito de monedas de diez pesos, cinco pesos, dos pesos, un peso, cincuenta centavos, veinte centavos y diez centavos (¿y entonces por qué siguen de cajeros?). Para dar el cambio los cajeros utilizan el siguiente algoritmo: Mientras todavía falte cambie tomo una moneda de la denominación más grande que no se pase de la cantidad de cambio que me falta. Si quisieran dar 24.70 de cambio entonces revisan cada una de las monedas de la siguiente manera:
Y de esa manera obtienene la cantidad de cambio que es necesario dar al cliente. Como podemos obsevar realizar este cálculo a mano puede ser muy tardado y puede llevar a errores de cambio, por lo que la Sociedad Internacional de Cajeros (Sic.) ha decidido contratar tus servicios para desarrollar un sistema que les indique la cantidad de monedas de cada denominación que deben dar de la siguiente manera (para el ejemplo anterior):
2 monedas de 10 Paso 2:Otro problema al que se enfrenta el personal es que diferentes paquetes de productos tienen diferentes contenidos, haciendo que algunos productos sean una mejor compra que otros. Como el lema de Miscelaneas MaguSoft es que el cliente nunca tiene la razón se debe resolver este problema inmediatamente. Tomemos por ejemplo una bebida refrescante en envase de 600 ml con un costo de $6.50 y la misma bebida en envase de 2L con un costo de $14. El primer envase tiene un costo de $0.01083 por mililitro mientras que el segundo tiene un costo de $0.007 por mililitro, convirtiendolo en una mejor compra. Para evitar este tipo de problemas nuestro programa debe calcular el costo por unidad de cada uno de los productos e indicar el precio que es preciso ponerle al producto que tenga un menor costo por unidad para que el cliente siempre salga perdiendo. Para el problema de ejemplo la bebida de 2L debe tener un precio de $21.66 para que tenga el mismo precio por mililitro que la de 600 ml. Paso 3:Como parte de las medidas retrógradas implantadas por el dueño de la compañía, Miscelaneas MaguSoft ha decidido cerrar todas las puertas con candados de combinación electrónicos (basándose en una observación del departamento de ventas que indica que un cliente que se queda mucho tiempo en la tienda compra más cosas). Para poder abrir el candado es preciso poner una clave que se encuentra guardada en un archivo de texto que contiene exactamente un número por línea. Por desgracia esta medida fue implementada antes de que el programa que lee las claves haya sido implementado por lo que tú y tus compañeros (que se encuentran encerrados en la sección de salchichonería) no pueden huir de la compañía. Es por esto que es preciso desarrollar un programa que lea los números del archivo de texto y después le pregunte al usuario cuál es su combinación, es decir que si el archivo es: 22 Entonces el programa debe de preguntar cuatro veces por un número (si hubieran seis números en el archivo de entrada debería preguntar seis veces) y si los números son exactamente los mismos que aparecen en el archivo y están exactamente en el mismo orden entonces debe indicar que la puerta ha sido abierta. Paso 4:Una vez que terminaste el programa anterior te diste cuenta de que trabajar en Miscelaneas MaguSoft no era tan buena idea como tú pensabas, por lo que decidiste cambiar de trabajo y conseguiste un puesto en el comité organizador del certamen Miss Programación. Como parte del trabajo te piden que desarrolles un programa para facilitar la tarea de los jueces en el concurso de este año. El concurso se desarrolla de la siguiente manera: Un grupo de señoritas (cuyos nombres se encuentran listados en un archivo de texto) participan en cinco competencias diferentes para decidir quién de ellas es la siguiente Miss Programación. En cada competencia un jurado competente les califica del 1 al 100 (donde 100 es la mejor calificación) y una vez que terminan todas las competencias la ganadora es aquella que tenga la mayor suma de puntos en las competencias. Como el comité organizador desea mantener un archivo histórico con todas las ganadoras una vez terminado el concurso deberás guardar un archivo en el que se encuentren los nombres de todas las Miss Programación. Como los jueces no quieren escribir el nombre del archivo cada vez este debe ser fijo (por ejemplo ganadoras.txt) y se debe guardar la lista de todas las ganadoras ahí mismo. Puedes revisar la ayuda que te proporciona NetBeans en el autocompletar para darte una idea de cómo lograr esto (fíjate en lo que hace el parámetro append).
Las competencias que se llevan a cabo en el certamen Miss Programación son las siguientes:
Puedes utilizar la siguiente interfaz gráfica como base. Lo más sencillo en este caso sería crear una clase para las participantes (con lo que podrías guardarlas en la lista). Estas clases, además del nombre de la participante podrían tener las calificaciones en cada una de las competiciones y un método que te permita calcular la suma de todas sus calificaciones al final.
Comprime todas las aplicaciones que hiciste en este laboratorio y mándalas por Blackboard. |
|