Home UC3M Universidad Carlos III de Madrid - Departamento de Ingeniería Telemática Home IT
Localización | Personal | Docencia | Investigación | Novedades | Intranet  

Examen de prácticas - tipo B

Datos de la práctica

Fecha 5 de junio de 2007
Calificación máxima 2 puntos

Enlaces

Entrega tu solución.

Contenidos

Código de partida

Para resolver este problema debes partir de las siguientes clases:

Enunciado

Apartado 1 (0,5 puntos)

La clase InventarioAlmacen define un inventario para un almacén. El inventario se organiza mediante un árbol binario de búsqueda, para lo cual usamos la clase ArbolBB de las soluciones de las prácticas. Los elementos a almacenar en el árbol de la clase InventarioAlmacen son de la clase Elemento. Dicha clase Elemento contiene los siguientes atributos:

Observando el método insertarElementoEnAlmacen de la clase InventarioAlmacen, así como el método main de la misma clase, puedes hacerte una idea de cómo funciona el árbol. Para que tengas todo más claro:

En este primer apartado debes programar el método mostrarElemento de la clase InventarioAlmacen. Este método recibe un Integer como parámetro de entrada, que se corresponde con la clave de ordenación dentro del árbol. El método debe encontrar el elemento dentro del árbol e imprimir por pantalla la descripción y el número de elementos correspondiente, con el formato del siguiente ejemplo:

Descripcion: i10 Numero de Elementos: 12

Para probarlo puedes usar el método main de la clase.

Apartado 2 (0,75 puntos)

Ahora nos vamos a centrar en la clase ArbolBB. El primer método a programar en ella debe, dada una clave de búsqueda, devolver un entero con el número de elementos del árbol cuya clave es mayor que la proporcionada. Por ejemplo, en un árbol compuesto de 5 elementos con claves 1, 2, 3 ,4 y 5, si llamamos al método pasándole como argumento 3, este debe devolver 2, ya que hay dos elementos cuya clave es mayor que 3. La declaración del método es la que sigue:

public int elementosMayoresQue(Comparable t)

Para probar el método puedes utilizar el método main de la clase ArbolBB.

Apartado 3 (0,75 puntos)

Continuamos con la clase ArbolBB. En este apartado hay que implementar el método:

public String caminoAElemento(Comparable t)

Lo que hace este elemento es devolver una cadena de texto (String) concatenando el atributo info de todos los elementos encontrados en el camino hasta aquel nodo cuya clave sea igual al parámetro t. Para probarlo puedes utilizar el método main de la clase ArbolBB.

Salida esperada de los programas

Resultado del apartado 1

Este es el resultado de la ejecución del método main del apartado 1:

Descripcion: i10 Numero de Elementos: 12
Descripcion: i04 Numero de Elementos: 98
Descripcion: i09 Numero de Elementos: 56
Descripcion: i19 Numero de Elementos: 5

Resultado de los apartados 2 y 3

Este es el resultado de la ejecución del método main de los apartados 2 y 3:

Elementos mayores que  2: 18
Elementos mayores que 11: 9
Elementos mayores que 16: 4
Elementos mayores que 20: 0
-------------
i10 i15 i13 i12 i11

Soluciones