0% encontró este documento útil (0 votos)
43 vistas12 páginas

PR Examen ORD

El documento describe un examen de programación para un sistema gestor de maleta, que incluye la implementación de clases en Java utilizando principios de programación orientada a objetos. Se requieren clases como ItemMaleta, Ropa, Tecnología y Viaje, además de una aplicación gráfica para gestionar la maleta y el viaje. Se detallan criterios de evaluación y requisitos técnicos para la entrega del proyecto.

Cargado por

Olivia Postigo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
43 vistas12 páginas

PR Examen ORD

El documento describe un examen de programación para un sistema gestor de maleta, que incluye la implementación de clases en Java utilizando principios de programación orientada a objetos. Se requieren clases como ItemMaleta, Ropa, Tecnología y Viaje, además de una aplicación gráfica para gestionar la maleta y el viaje. Se detallan criterios de evaluación y requisitos técnicos para la entrega del proyecto.

Cargado por

Olivia Postigo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

1

Examen Ordinario – Programación 1º DAM

Fecha: 26/05/2025

Duración estimada: 3 horas

Enunciado Primera Pregunta (2ª Evaluación suspensa)

Contexto

Se quiere construir un Sistema Gestor de Maleta aplicando algunos

de los principios fundamentales de la programación orientada a

objetos (POO). Esta versión está enfocada en el diseño de clases y su

interacción para afrontar el problema: la preparación de una maleta

para un viaje.

Objetivo de esta pregunta

Se pide implementar un conjunto de clases relacionadas con

algunos conceptos clave de la POO: Interfaz, polimorfismo,


2

encapsulamiento y composición, simulando la gestión básica

de los elementos de una maleta para un viaje.

Requisitos de implementación

Interfaz ItemMaleta

• Define un interfaz común para cualquier tipo de elemento

que se pueda incluir en una maleta.

• Métodos obligatorios:

o String getNombre()

o int getHuecos()

o String mostrar() (devuelve una representación textual

del objeto)

Clases concretas que implementen la interfaz

• Clase Ropa: representa una prenda (ejemplo camiseta,

pantalón, etc.). Cada prenda ocupa cierta cantidad de

huecos.
3

• Clase Tecnologia: representa un dispositivo tecnológico

(ejemplo móvil, portátil, etc.), también con huecos, y una

propiedad extra: si requiere cargador o no.

Clase Viaje

• Representa un viaje con nombre y fecha.

• Debe permitir agregar objetos del tipo ItemMaleta a una

lista interna (composición).

• Debe tener métodos para:

o Añadir elementos a la lista interna del tipo

ItemMaleta.

o Mostrar el contenido de la maleta (invocando a su vez

a mostrar() de cada item de lista interna anterior).

o Calcular el total de huecos ocupados (invocando a su

vez a getHuecos() de cada item de lista interna

anterior).

Clase AppMaleta

• Contendrá el método main().


4

• Deberá crear un objeto de la clase Viaje para luego crear y

añadirle distintos tipos de elementos (De las clases ropa y

tecnología) para finalmente mostrar todos ellos por

consola.

• Este método main() será el punto de entrada para probar

toda la funcionalidad desarrollada.

Organización del código

• Todas las clases deben estar en el mismo paquete (por

ejemplo, GestorMaletaPOO).

• La ejecución del método main() debe mostrar

correctamente en consola los resultados esperados.

• Se valorará la correcta encapsulación, uso de constructores

y claridad en el código.

Ejemplo de salida esperada por consola

Contenido de la maleta:

Ropa: Camiseta (2 huecos)


5

Tecnología: Móvil (3 huecos) + cargador

Ropa: Pantalón (4 huecos)

Total de huecos ocupados: 9

Consideraciones adicionales

• Usa nombres de clases, métodos y variables

representativos y adecuados según el enunciado.

• Aplica encapsulamiento: los atributos deben ser privados y

accederse mediante métodos get/set o por constructor.

• El objetivo del ejercicio es mostrar una estructura clara y

modular del diseño orientado a objetos.

Criterios de Evaluación

Criterio Puntuación Resultado de

Aprendizaje

Diseño correcto de la interfaz y sus 20% RA7

implementaciones

Uso adecuado del polimorfismo 20% RA7


6

Diseño y funcionalidad de la clase Viaje 25% RA4

(composición)

Correcto uso del encapsulamiento 15% RA4

Clase AppMaleta funcional que 20% RA2

demuestra el sistema

Entrega

• Entrega el proyecto Java de esta pregunta comprimido (.zip)

con formato

PROG_ORDINARIA_1P_NOMBREAPELLIDOS.zip,

incluyendo todos los archivos .java.

• La entrega se realizará a través del aula virtual en el

apartado del Examen de Evaluación Ordinaria de

Programación (DAM1).
7

Enunciado Segunda Pregunta (3ª Evaluación suspensa)

Contexto

Desarrolla una aplicación Java que permite gestionar la

preparación de una maleta para un viaje. La aplicación debe

ofrecer una interfaz gráfica (Swing) sencilla y funcionalidades

relacionadas con el proceso de iniciar un viaje, agregar

elementos a una maleta y cerrar la maleta.

Funcionalidades Imprescindibles

Interfaz Gráfica (Swing)

Debe disponer de tres botones:

• Iniciar viaje

• Hacer la maleta

• Cerrar maleta

Gestión del Viaje

Iniciar viaje
8

• Primero verificar si ya se ha iniciado el viaje. Si es así,

mostrar mensaje de viaje iniciado y salir de la operativa.

• Si no se ha iniciado el viaje, solicitar al usuario que lo inicie

solicitándole:

o Nombre del viaje: Será una cadena de texto que no

debe estar vacía ni contener espacios en blanco.

Validar que sea correcto.

o Fecha: Será una cadena de texto, debe tener el

formato YYYYMMDD o al menos poder validar que

tenga 8 dígitos.

o Crear un fichero con la unión del nombre del viaje y la

fecha (por ejemplo malta_20250701.txt) que

usaremos posteriormente.

Hacer la maleta

• Primero comprobar si el viaje ha sido previamente iniciado y

que no se han superado los huecos máximos disponibles

definidos para la maleta (por ejemplo, 20 huecos). Si no es


9

así, mostrar mensaje de que el viaje no ha sido iniciado o

bien se ha llegado al máximo de huecos disponibles para

hacer la maleta y salir de esta operativa.

• Si por el contrario el viaje ha sido iniciado y no se han

superado el número de huecos máximos disponibles

permitiremos al usuario ir añadiendo elementos de forma

iterativa en una caja de dialogo para insertarlos finalmente

en el fichero creado cuando se inició del viaje:

o Cada uno de estos elementos tendrá un nombre y un

número de huecos que ocupa (ejemplo: “pantalón”,

3).

o Habrá que controlar siempre en cada iteración que el

total de huecos ocupados no supere el límite. En caso

de alcanzar este límite máximo de huecos informar y

dejar finalizada ésta operativa (Hacer maleta).

Cerrar la maleta
10

• Primero verificar que el viaje está iniciado y que hay

elementos en la maleta. En caso contrario mostrar mensaje

y salir de esta operativa.

• Si el viaje está iniciado y hay elementos en la maleta

solicitar al usuario una clave de seguridad de 4 dígitos, que

deberá confirmar (máximo 2 intentos). En caso de no

confirmar correctamente mostrar mensaje y salir de la

operativa.

• Si clave confirmada es correcta entonces cifrar la clave

utilizando la operación XOR con la palabra "Z" y guardar el

resultado en un fichero distinto contenedor de la clave

cifrada.

• Conectar con una base de datos SQLite, crear una tabla con

el mismo nombre que el fichero de viaje, e insertar todos los

elementos de la maleta contenidos en el fichero del viaje

iniciado.

• Mostrar en una única pantalla:


11

o El nombre del fichero de viaje y la clave original que

fue cifrada.

• Finalmente liberar todas las operativas para que se pueda

realizar otro próximo y futuro viaje.

Requisitos Técnicos Mínimos

• Aplicación con orientación a objetos (clases para

elementos, GUI, base de datos, seguridad...).

• Manejo de ficheros para almacenar los elementos del viaje y

la clave cifrada.

• Uso de JDBC para conectarse a SQLite.

• Cifrado/descifrado mediante operación XOR con clave "Z".

• Validaciones adecuadas y control de excepciones.

Criterios de Evaluación

Criterio Puntuación Resultado de

Aprendizaje

Gestión del inicio de viaje y creación del 15% RA5

fichero
12

Lógica introducción elementos en maleta, 20% RA5

control huecos y GUI de salida

Lógica cerrar maleta (cifrado XOR y 30% RA5

validación clave)

Conexión y uso de base de datos SQLite 25% RA9

Control de excepciones y/o validaciones 10% RA3 / RA5 /

RA9

Entrega

• Entrega el proyecto Java de esta pregunta comprimido (.zip)

con formato

PROG_ORDINARIO_2P_NOMBREAPELLIDOS.zip,

incluyendo:

o Todos los archivos .java

o Los ficheros y base de datos generados.

• La entrega se realizará a través del aula virtual en el

apartado del Examen de Evaluación Ordinaria de

Programación (DAM1).

También podría gustarte