ED 3 Enunciado Práctica. Listas
ED 3 Enunciado Práctica. Listas
ED 3 Enunciado Práctica. Listas
CURSO 2022-23
Práctica 3: Listas
1. OBJETIVOS:
• Definir un TAD Lista Ordinal de Productos a partir del TAD lista ordinal de enteros incluido en
las transparencias de clase.
• Usar el TAD lista ordinal de Productos para definir un TAD Factura.
• Usar las listas ordinales que proporciona la biblioteca estándar de Java, para volver a definir el
TAD Factura.
• Definir un TAD Conjunto, utilizando una lista enlazada.
• Usar el TAD Conjunto.
-2-
UNIVERSIDAD POLITÉCNICA DE MADRID
ETS INGENIERÍA DE SISTEMAS INFORMÁTICOS
Departamento de Sistemas Informáticos
Asignatura: Estructuras de Datos
-3-
UNIVERSIDAD POLITÉCNICA DE MADRID
ETS INGENIERÍA DE SISTEMAS INFORMÁTICOS
Departamento de Sistemas Informáticos
Asignatura: Estructuras de Datos
-4-
UNIVERSIDAD POLITÉCNICA DE MADRID
ETS INGENIERÍA DE SISTEMAS INFORMÁTICOS
Departamento de Sistemas Informáticos
Asignatura: Estructuras de Datos
Recuerde que para comprobar si dos objetos Producto se refieren al mismo producto, se utiliza el
método equals de la clase Producto.
A continuación, se probará este método en la clase PruebasLista, de la siguiente manera:
• Se crearán dos nuevos productos:
- “Silla oficina” (2 unidades) a 95.9 € c/u.
- “Sillón reclinable” (3 unidades) a 230 € c/u.
• Se eliminarán ambos productos de la factura.
• Se mostrará el número de unidades de productos que se han eliminado.
• Se mostrará el contenido de la factura con el método mostrar de la clase Factura.
El resultado de la ejecución será el siguiente:
Se han eliminado 4 unidades
FACTURA de: 12345678A. Fecha: 17/03/2021
Mesa escritorio (2 unidades) a 185.0 € c/u. Importe: 370.0 €
Silla oficina (2 unidades) a 95.9 € c/u. Importe: 191.8 €
Mesa cocina (1 unidades) a 125.0 € c/u. Importe: 125.0 €
IMPORTE TOTAL: 686.8 €
Comentario final del TAD Factura: nótese que en las listas de productos que hemos utilizado, no puede
haber elementos repetidos. Por tanto, probablemente habríamos conseguido una mejor solución si
hubiéramos tomado como base una lista calificada de productos, para lo cual tendríamos que haber
definido un código a cada producto, que sirviese de clave.
-5-
UNIVERSIDAD POLITÉCNICA DE MADRID
ETS INGENIERÍA DE SISTEMAS INFORMÁTICOS
Departamento de Sistemas Informáticos
Asignatura: Estructuras de Datos
-6-
UNIVERSIDAD POLITÉCNICA DE MADRID
ETS INGENIERÍA DE SISTEMAS INFORMÁTICOS
Departamento de Sistemas Informáticos
Asignatura: Estructuras de Datos
-7-
UNIVERSIDAD POLITÉCNICA DE MADRID
ETS INGENIERÍA DE SISTEMAS INFORMÁTICOS
Departamento de Sistemas Informáticos
Asignatura: Estructuras de Datos
-8-
UNIVERSIDAD POLITÉCNICA DE MADRID
ETS INGENIERÍA DE SISTEMAS INFORMÁTICOS
Departamento de Sistemas Informáticos
Asignatura: Estructuras de Datos
Para realizar este apartado es obligatorio hacerlo recorriendo las listas enlazadas de ambos conjuntos,
el que recibe el mensaje (this) y el parámetro (otroConjunto). Se irá avanzando paralelamente en
ambas listas enlazadas y comprobando que en todo momento coincide el valor del entero.
No es válido utilizar el método toArray para recorrer luego el array. Tampoco se considerará una
solución válida utilizar el método contiene para comprobar que todos los elementos de un conjunto
están en el otro.
Probar este método en el método main de PruebasConjunto:
• Crear un nuevo conjunto e insertarle los elementos 2, 4.
• Comprobar si el conjunto de trabajo ( [ 2, 4, 6 ] ) es igual al conjunto nuevo.
• Añadir al conjunto nuevo el elemento 6.
• Comprobar si el conjunto de trabajo ( [ 2, 4, 6 ] ) es igual al conjunto nuevo.
Obtendrá como resultado:
Un conjunto es: [ 2, 4 ]
Es igual que el conjunto de trabajo? false
Un conjunto es: [ 2, 4, 6 ]
Es igual que el conjunto de trabajo? true
7. Entrega de la práctica.
Se entregará el proyecto IntelliJ resultante de hacer la práctica “ED 3 Practica. Listas”, que tendrá que
tener exactamente ese nombre.
-9-
UNIVERSIDAD POLITÉCNICA DE MADRID
ETS INGENIERÍA DE SISTEMAS INFORMÁTICOS
Departamento de Sistemas Informáticos
Asignatura: Estructuras de Datos
- 10 -