Está en la página 1de 2

UNIVERSIDAD CENTRAL DE VENEZUELA

FACULTAD DE CIENCIAS
ESCUELA DE COMPUTACIÓN
SEMESTRE I-2022
INGENIERÍA DE SOFTWARE

PRÁCTICA #1
INTRODUCCIÓN A JAVA Y NETBEANS

1.) Existen diferentes algoritmos de búsqueda y ordenamiento para ordenar los elementos de un arreglo,
algunos de los cuales son:
i.) Algoritmo tradicional de clasificación: consiste en comparar e intercambiar elementos y se implementa
como se muestra a continuación:
if (A > B)
temp = A;
A = B;
B = temp;
ii.) Algoritmo de clasificación bubble sort: se implementa como se muestra a continuación:
for (i=n-1; i > 0; i--)
for (j=0; j < i; j++) {
if (a[j] > a[j+1]) {
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
a.) Sea X un arreglo unidimensional con n elementos enteros. Ilustre el funcionamiento del algoritmo
tradicional con el arreglo X = {8, 7, 6, 5, 4, 3, 2, 1}. Analice que sucede si los elementos están
completamente fuera de orden (peor caso), ¿Cuál es el número de intercambios por cada elemento?
b.) Ilustre el funcionamiento del algoritmo bubble sort con el arreglo X = {4, 2, 7, 8, 5, 1, 3, 6}
iii.) Algoritmo de clasificación quick sort: consiste en seleccionar un pivote y dividir el arreglo en dos
partes: parte inferior y parte superior. En la parte inferior se almacenan los elementos que son menores o
iguales al pivote y en la parte superior, los elementos que son mayores que el pivote. Una estrategia para
definir el pivote es asignar el primer elemento del arreglo. Luego, recursivamente se aplica el algoritmo
quick sort tanto a la parte inferior del arreglo como a la parte superior del arreglo.
c.) Presente un código para el algoritmo quick sort
d.) Ilustre el funcionamiento del algoritmo quick sort con el arreglo X = {17, 14, 65, 4, 22, 63, 11} y
seleccione pivote como el primer elemento del arreglo, es decir, inicialmente el pivote es 17

2.) Genere un programa que implemente el algoritmo tradicional, bubble sort y quick sort
a) Modifique el programa que obtuvo de manera que el tamaño del arreglo X y sus elementos se ingresen
por consola. Muestre el resultado del ordenamiento del arreglo X por consola
b) Especifique el arreglo X como argumento de los métodos bubbleSort, traditionalSort y quickSort.
Defina estos métodos en una clase que no contenga al método main. Por lo tanto, traslade hacia los métodos
las instrucciones para el ordenamiento de X de cada tipo de algoritmo de clasificación. El arreglo X no debe
ser null.
c) Incorpore el manejo de excepciones en los métodos que implementan los algoritmos de ordenamiento
si el arreglo X pasado por parámetro es null
d) Ejecute el programa con los siguientes datos y documente y presente el resultado de cada ejecución:
Primera ejecución X = {4, 2, 7, 8, 5, 1, 3, 6}
Segunda ejecución X = {null}
e) Incorpore una o más instrucciones para medir el tiempo de ejecución en cada método de clasificación

1
f) Leer de un archivo data.txt los elementos a almacenar en un arreglo X, y por consola introduzca un código
que indique cuál de los métodos de clasificación utilizar
g) Para la persistencia de la data, registe en el archivo result.txt cada elemento del arreglo X ordenado
h) Incorpore manejo de excepciones en el o los método(s) que implementa la lectura y/o escritura en los
archivos data.txt y result.txt

3.) Considere el programa generado en el ejercicio #2. En lugar de indicar por consola el método de
clasificación que va a utilizar, este se selecciona utilizando un radio button y el despliegue del resultado
del ordenamiento se presente en una lista con scroll y no por consola. Para esto, defina una clase interfaz
IAcceso que implemente el prototipo de la Figura 1 y defina la clase IData que implemente el prototipo de
la Figura 2. Para implementar los prototipos, utilice la paleta de constructores gráficos que provee el
ambiente de desarrollo NetBeans.

Figura 1. Prototipo de Interfaz IAcceso.

Figura 2. Prototipo de Interfaz IData.

También podría gustarte