Está en la página 1de 15

Laboratorio de Métodos de Búsqueda y Ordenamiento

Asignatura: Estructura de datos


Docente: Miryam Cosme Félix
Sesión 3: Métodos de Ordenación y Búsqueda

Ejercicio N° 1:
1. Cree un proyecto con la siguiente estructura

2. En la clase llamada Arreglo_Numeros.


a. Declare una variable tipo arreglo unidimensional llamada Arreglo de tamaño 7 para almacenar números
enteros positivos y una variable tipo entera llamada i inicializada en 0.

b. Implemente un método llamado setDato para agregar datos enteros dentro de este arreglo.

Estructura de Datos 1
c. Implemente un método llamado getDato para leer uno de los datos del arreglo según la posición.

d. Implemente un método llamado Buscar_Dato que reciba un dato entero y busque dicho dato dentro del
arreglo ya creado. Devolverá la posición del dato si lo encuentra y devolverá -1 si no lo encuentra.

e. Cambia la programación del método setDato para que ahora utilice el método Buscar_Dato y así evitar
que se registren datos repetidos.

Estructura de Datos 2
f. Implemente ahora un método llamado OrdenarMayorMenor_Metodo01 que utilice el algoritmo estándar
de ordenación por burbuja. La ordenación se realizará de mayor a menor.

g. Implemente dos métodos llamados OrdenarMayorMenor_Metodo02 y OrdenarMayorMenor_Metodo03


que utilice un algoritmo mejorado de ordenación por burbuja de tal forma que se detenga cuando detecte
que la lista esta ordenada. La ordenación se realizará de mayor a menor.

Estructura de Datos 3
h. Implemente ahora un método llamado getRegistrados que retorne el total de elementos registrados en el
arreglo.

Estructura de Datos 4
3. En la clase JFrame_Principal
a. Diseñe un formulario con la siguiente apariencia y estructura.

b. Cree una instancia de la clase Arreglo_Numeros llamada Lista, y en el constructor coloque un código que
centre el formulario.

c. Implemente el código del control btn_Registrar

Estructura de Datos 5
d. Implemente el código del control btn_Buscar

e. Implemente el código del control btn_Ordenar

f. Implemente el código del control btn_Listar

g. Implemente el código del control btn_Cerrar

Estructura de Datos 6
4. En la clase JDialog_Lista
a. Diseñe un dialogo con la siguiente apariencia y estructura

b. Cree una instancia de la clase DefaultListModel llamada modLista, y en el constructor coloque un código
que centre el diálogo y asigne el modelo al control Lst_Lista.

c. Implemente el código del método Llenar_Lista

d. Implemente el código del control btn_Cerrar

Estructura de Datos 7
Ejercicio N° 2:
1. Cree un proyecto con la siguiente estructura

2. En la clase llamada Cliente.


a. Declare los atributos de la clase

b. Implemente el constructor de la clase que recibirá un valor tipo arreglo unidimensional de objetos
(Registro) desde el cual se asignarán los valores a cada uno de los atributos de la clase.

c. Implemente el método getRegistro el cual devolverá un arreglo unidimensional de objetos


conteniendo todos los atributos de la clase.

Estructura de Datos 8
d. Implemente los métodos getter y setter para cada atributo de la clase

3. En la clase llamada Arreglo_Clientes


a. Declare una variable tipo arreglo unidimensional llamada Arreglo de tamaño 7 para almacenar instancias
de la clase Cliente. Además declare una variable tipo entera llamada i inicializada en 0.

b. Implemente un método llamado setElemento para agregar filas dentro de este arreglo.

Estructura de Datos 9
c. Implemente un método llamado getElemento para leer una de las filas del arreglo según el número de
fila indicada.

d. Implemente un método llamado ValidarEdad que reciba una fila y de ella validará la edad. Devolverá
verdadero si la validación es correcta de lo contrario devolverá falso.

e. Implemente un método llamado Buscar_Codigo que reciba un dato entero y busque dicho dato dentro del
arreglo ya creado. Devolverá la posición del dato si lo encuentra y devolverá -1 si no lo encuentra.

f. Cambia la programación del método setElemento para que ahora utilice los métodos Validar_Edad y
Buscar_Dato y así evitar que se registren datos repetidos

Estructura de Datos 10
g. Implemente un método llamado OrdenarMenorMayor_Nombre que utilice el algoritmo de ordenación por
selección. La ordenación se realizará de menor a mayor.

Estructura de Datos 11
h. Implemente un método llamado getRegistrados que retorne el total de elementos registrados en el
arreglo.

4. En la clase llamada JFrame_Principal


a. Diseñe un formulario con la siguiente apariencia y estructura.

b. Cree una instancia de la clase Arreglo_Clientes llamada Tabla, y en el constructor coloque un código que
centre el formulario

Estructura de Datos 12
c. Implemente el código del control btn_Registrar

d. Implemente el código del control btn_Buscar

e. Implemente el código del control btn_Ordenar

f. Implemente el código del control btn_Listar

g. Implemente el código del control btn_Cerrar

Estructura de Datos 13
5. En la clase JDialog_Tabla
a. Diseñe un dialogo con la siguiente apariencia y estructura

b. Cree una instancia de la clase DefaultListModel llamada modLista, y en el constructor coloque un código
que centre el diálogo y asigne el modelo al control Lst_Lista

c. Implemente el código del método Llenar_Tabla

Estructura de Datos 14
d. Implemente el código del control btn_Cerrar

Ejercicio Propuesto

Huesped Arreglo_Huesped
 Codigo
 NombreHuesped 0 1 2 ... 99
 NumeroHabitacion
 FechaIngreso Huesped Huesped Huesped
 FechaSalida

Habitación Arreglo_Habitacion
 NumeroHabitacion
 Precio 0 1 2 ... 50
 Estado
Habitacio Habitacio Habitacio
n n n

Cree un proyecto que permita:


 Registrar Habitaciones: El registro se realizará en instancias de la clase Habitacion que serán
almacenadas dentro de una instancia de la clase Arreglo_Habitacion. El Estado representa un valor
que indica si la habitación esta LIBRE u OCUPADA.
 Restricción 1: No pueden registrarse 2 habitaciones con el mismo número.
 Restricción 2: Sólo pueden registrarse un máximo de 50 habitaciones.
 Registrar Ingreso de Huéspedes: El registro se realizará en instancias de la clase Huesped que serán
almacenadas dentro de una instancia de la clase Arreglo_Huesped. La habitación en donde se haya
hospedado la persona deberá de cambiar su estado para indicar que esta habitación se encuentra
ocupada
 Restricción 1: No puede registrarse un huésped en una habitación que ya se encuentre
OCUPADA.
 Registrar Salida de Huéspedes: Se deberá de buscar el registro del huésped e ingresar la fecha de
salida. La búsqueda puede ser por el nombre del Huésped o por el número de la habitación. Cuando
el Huésped se retire la habitación queda nuevamente disponible.
 Listar Habitaciones: Se deberá poder Listar las Habitaciones por 2 criterios: HABITACIONES LIBRES y
HABITACIONES OCUPADAS. El listado de las habitaciones ocupadas debería de incluir el nombre del
Huésped.
 Ordenar Registros: Se deberá poder realizar las siguientes ordenaciones:
o Ordenar la Lista de Huéspedes por sus Apellidos (Menor a Mayor) usando el método de
Ordenación por Burbuja
o Ordenar la Lista de Habitaciones por su Número (Mayor a Menor) usando el método de
Ordenación por Selección.

Estructura de Datos 15

También podría gustarte