Está en la página 1de 3

INFORMÁTICA Guion de la práctica 6

Diseño de programas (IV)

Objetivos de la práctica
• Crear programas interactivos, es decir, que se comuniquen con el usuario
• Crear programas que puedan ser ejecutados directamente desde el sistema operativo
• Aplicar el modificador de acceso adecuado a los componentes de una clase
• Aprender a documentar una clase
• Crear programas con elementos de interfaz gráfica

Por tanto, en todos los ejercicios será obligatorio:


1. Incluir un algoritmo principal (main) en la clase principal
2. Incluir los comentarios de documentación adecuados
3. Que todos los elementos (constantes, propiedades o métodos) que se definan en todas las clases
dispongan del modificador de acceso adecuado (public o private)
Recuerda que solo será público lo que interese poder utilizar fuera de la clase, pero nunca
las propiedades (lo que recuerda que puede obligar a implementar métodos adicionales)

Todo el material al que se hace referencia en los distintos apartados se encuentra en un archivo
comprimido; antes de empezar a trabajar con él recuerda descomprimirlo.

Tareas obligatorias previas a la sesión de prácticas


i) Lee y comprende la sección 4 del anexo D de la parte de Prácticas de los Apuntes de la
asignatura: Más sobre Java.

ii) Completa todos los comentarios de documentación en todas las clases, propiedades y métodos
incluidos en al menos uno de los dos proyectos que se proporcionan como material de la práctica.
(Code is more often read than written – G. Van Rossum, creador de Python.)

Ejercicio 1
Abre el proyecto “OrdenaBaraja”. El objetivo es, tras completar las clases que contiene, generar en
una de ellas un algoritmo principal que muestre una baraja con las cartas desordenadas, para luego
mostrarla con las cartas ordenadas, según los siguientes criterios:
• Primero ordenadas de menor a mayor palo, y en caso de igualdad, de mayor a menor
número:
− Rey de Oros, Caballo de Oros, Sota de Oros, … 2 de Bastos, As de Bastos
• Después, ordenadas de menor a mayor número, y en caso de igualdad, de menor a mayor
palo:
− As de Oros, As de Copas, As de Espadas, … Rey de Espadas, Rey de Bastos
Dada la gran cantidad de datos que se van a mostrar, para dar tiempo a que el usuario pueda
comprobar el resultado, tras cada una de las tres veces que se mostrará la baraja, se mostrará un
mensaje explicativo y se hará una pausa.
Ejercicio 2
Crea una copia de los dos proyectos “Atletismo” de la práctica 5 (el que almacena los tiempos en un
número real de segundos y el que almacena los tiempos en objetos de clase Intervalo), para poder
realizar sobre ellos las siguientes modificaciones:
1. En el primer proyecto, el que tiene la clase Entrenamiento que almacena los tiempos en
segundos:
• Elimina la clase con los test
• Modifica el constructor para que pida los tiempos al usuario
• Añade un método que ordene los tiempos de peor a mejor
2. En el segundo proyecto, el que tiene la clase Entrenamiento que almacena los tiempos en
intervalos:
• En la clase Intervalo añade un constructor que pida los valores al usuario
• En la clase Entrenamiento modifica el constructor para que pida los puntos al usuario
• Añade un método que ordene los tiempos de mejor a peor

Ejercicio 3: Juego de piedra, papel, tijera


El ejercicio consiste en implementar el juego de Piedra, papel, tijera entre el usuario y el ordenador.
Los jugadores irán eligiendo sus jugadas y ganará la partida quien primero alcance 4 victorias.

El proyecto con el que has de trabajar es “PiedraPapelTijera” y la clase principal es Partida, cuyo
método juega desarrolla una partida del juego y devuelve el ganador de la misma.

El orden que se recomienda para construir las clases es: Jugador (que representa a un jugador
genérico; es decir, todo lo que contiene se aplica tanto al jugador usuario como al jugador
ordenador), Ordenador, Usuario (esta clase y la anterior contienen los elementos distintivos
entre ambos jugadores) y Partida. Todas las especificaciones figuran como comentarios dentro de
los respectivos ficheros java del proyecto.

El algoritmo principal debe jugar una partida y mostrar un mensaje al usuario indicando quién ha
sido el ganador.

Ejercicio 4
Recupera el proyecto “EnElEspacio” de la práctica 3, y añade el siguiente contenido:
1. A la clase que representa a un punto en tres dimensiones:
• Un constructor que pida los datos del punto al usuario
• Un método que muestre el punto al usuario con el formato (x,y,z)
2. Una clase que permita representar a un conjunto de puntos, con el siguiente contenido:
• Un constructor que cree el conjunto de puntos formado por el origen de coordenadas
• Un método que compruebe si un punto pertenece al conjunto
• Un método que pida puntos al usuario y los vaya añadiendo hasta que se introduzca un
punto repetido (es decir, que ya esté en el conjunto); el punto repetido no se añadirá al
conjunto
• Un método que ordene los puntos conforme al siguiente criterio:
o El primer punto será siempre el origen de coordenadas
o Para el resto de puntos, el siguiente punto será el más cercano al anterior de los que
quedan por ordenar. Esto significa que se comienza a ordenar a partir de la posición 1, y
en el cálculo del mínimo a partir de la posición k, el criterio es que la distancia del
punto (k-1)-ésimo al punto actual (i) sea menor que la distancia del punto (k-1)-ésimo al
punto mínimo provisional (imin).
3. Un algoritmo principal que pida un conjunto de puntos al usuario, lo ordene según el criterio
especificado y lo muestre.

También podría gustarte