Subido por JA RB

Examen 2 Marzo 2019

Anuncio
Universidad Tecnológica Centroamericana
UNITEC
Laboratorio de Programación I
Josué Rodríguez
Examen 2
Sesión 10
22-03-2019
Objetivos de la práctica:
•
•
Repasar los temas estudiados durante todo el periodo.
Desarrollar la lógica mediante la resolución de problemas.
Desarrollo de la práctica:
Cree un nuevo proyecto Java con el nombre Examen2_PrimerNombrePrimerApellido
(Examen2_JosueRodriguez). Recuerde hacer su código robusto, tabulado y estar
autodocumentado, la falta de alguna de éstas, incluyendo el nombre, será reflejado en su nota.
Consideraciones:
•
•
•
•
•
•
•
•
•
•
El programa deberá repetirse hasta que el usuario decida lo contrario.
Se deberá usar la estructura Switch case en el menú (con letra o números, eso es decisión
del desarrollador).
Comentarios como “fin for/fin while” no son significativos y afectarán su nota final. Deben
ser comentarios significativos.
La copia de código será penalizada con la máxima penalización en la nota del laboratorio
y será remitido al Comité de Ética.
Imprima los arreglos y matrices con algún tipo de separación, preferiblemente (pero no
obligatoriamente) con “[ ]”.
Siga las instrucciones al pie de la letra. Cualquier pregunta con alguna de las indicaciones
hágaselas saber al instructor de manera clara.
Pida los datos (si los hay) necesarios en cada uno de los ejercicios. NO ANTES DEL MENU.
OBLIGATORIO: Menú principal deberá ser hecho en GUI con 4 botones (3 ejercicios, 1
botón de salida)
OBLIGATORIO: Pedir los datos necesarios a través de JOptionPane.
NO SE ACEPTARÁN LABORATORIOS ENVIADOS AL CORREO DEL INSTRUCTOR, a menos
que se haya hablado con el instructor encargado previamente.
Ejercicio 1 – Calculadora de polinomios
Cree una clase “Polinomio” que tendrá como atributo una cadena que representara el polinomio
en cuestión y un entero que representara el valor de la incógnita.
Deberá tener un método “resolverEcuacion()” que al ser llamado, devuelva el resultado de la
expresión polinómica.
Consideraciones:
•
Ignore la jerarquía de operaciones, realice las operaciones de izquierda a derecha.
•
Deberá validar que el polinomio solo contenga 1 incógnita, esto lo hará con un método
“validarPolinomio()” en la clase Polinomio. Si tiene más de una incógnita, deberá usar un
mutador para cambiar el valor del polinomio.
•
Para representar si exponentes se usara “^”.
•
El primer término de la expresión siempre será positivo.
•
No habrá espacio entre operaciones.
•
No habrá división.
Ejemplo:
Input:
String polinomio: 2x^2+3x*50 Int incognita: 5
Output:
3250
Ejercicio 2 – Buscaminas
Cree una clase Buscaminas que tendrá como atributo dos enteros que representaran (1) el
tamaño de la matriz y (2) la cantidad de minas con que se jugará y dos matrices de caracteres
que representarán los tableros de juego.
La cantidad de minas debe estar en un rango de 0 < minas <= N-1, donde N es la cantidad de
casillas en la matriz.
El constructor recibirá el tamaño de la matriz y la cantidad de minas, previamente depuradas (es
decir, el constructor lo recibirá después de hacer todas las validaciones necesarias). En el
constructor ud creará ambas matrices, una con minas posicionadas en posiciones random (ojo,
se debe cumplir que la cantidad final de minas sea la que indico el usuario) y la otra que es la que
se le enseñará al usuario.
La coordenada se ingresará de la siguiente manera: (fila,columna) y estas pueden ser de n
cantidad de digitos.
Deberá tener un método play() donde realice toda la lógica del juego. Se gana cuando no quedan
más espacios en blanco y se pierde cuando se encuentra con una mina, o cuando el usuario
ingrese como entrada “salir”.
Ejercicio 3
Cree una clase Ahorcado que tendrá de atributos 4 strings (nombre jugador 1, nombre jugador
2, palabra actual del jugador 1, palabra actual del jugador 2) y un arrayLists tipado de String que
representará las pistas.
Vamos a crear el juego del ahorcado por consola. El constructor pedirá los nombres de los dos
jugadores.
El primer turno será para el jugador 1. Uno escribe una palabra y este se guarda en una de las
variables de “palabra actual” y el otro la adivina, si este la adivina obtendrá un punto y escribirá
una palabra. Si no, tiene hasta 4 oportunidades para adivinar (cabeza, cuerpo, brazos y piernas).
Las pistas se guardarán en el ArrayList.
Cuando el jugador inserte su palabra también deberá añadir pequeñas pistas, por ejemplo, si la
palabra es Madrid, la pista puede ser “Ciudad”. Las pistas serán mostradas cada vez que el
jugador ingrese una palabra incorrecta. Cada vez que acierte o no la palabra, deberá mostrar la
puntuación de ambos. El primero que llegue a 2 puntos gana.
Desarrollo
Evaluación (%)
Ejercicio 1
40%
Ejercicio 2
30%
Ejercicio 3
30%
Interfaz agradable
+1 pt. extra
Descargar