Burbujas C#
Burbujas C#
Burbujas C#
3 1
Facultad: Ingeniería
Escuela: Computación
Asignatura: Programación IV
Objetivos Específicos
Identificar la estructura de algunos algoritmos de ordenamiento.
Interpretar el algoritmo de ordenamiento en sintaxis de C#.
Aplicar los algoritmos de ordenamiento.
Materiales y Equipo
Guía Número 3.
Computadora con programa Microsoft Visual C#.
Introducción Teórica
1. ¿Qué es ordenamiento?
Es la operación de arreglar los elementos en algún orden secuencial de acuerdo a un criterio de
ordenamiento.
El propósito principal de un ordenamiento es el de facilitar las búsquedas de los miembros del
conjunto ordenado.
Ordenar un grupo de datos significa mover los datos o sus referencias para que queden en una
secuencia por categorías y en forma ascendente o descendente.
3. Tipos de ordenamientos:
Los 2 tipos de ordenamientos que se pueden realizar son: los internos y los externos.
2 Programación IV. Guía No. 3
4. Algoritmos de ordenamiento.
4.1 Internos:
1. Inserción (InsertionSort).
2. Selección (SelectionSort).
3. Intercambio.
4. Ordenamiento de árbol.
5. QuickSort.
6. MergeSort.
7. RadixSort.
4.2 Externos:
1. Straight merging.
2. Natural merging.
3. Balanced multiway merging.
4. Polyphase sort.
5. Distribution of initial runs.
6.1 Los métodos simples: Inserción (o por inserción directa), Selección, Burbuja y ShellSort,
en dónde el último es una extensión al método de inserción, siendo más rápido.
Procedimiento
El entorno que se ocupará en C#, para esta guía será en modo “Windows Forms”, por lo cual
se seguirán los siguientes pasos:
1. Inicio -> Todos los programas -> Microsoft Visual Studio 2012 -> Microsoft Visual Studio
2012.
2. Archivo -> Nuevo -> Proyecto -> En la ventana emergente de Nuevo proyecto, seleccionar en
Tipo de proyecto:(Visual C# -> Windows Forms Application), Nombre: Según se le indique en el
ejemplo.
Algoritmo.
Para i = 0 condicion i < (Numero de elementos de a) paso i+1 Hacer
Para j = 0 condición j < (Numero de elementos de a) paso j+1 Hacer
Si a [j] > a [j+1] entonces Hacer
aux = a [j]
a [j] = a [j+1]
a [j+1] = aux
Fin del ciclo Para
Fin del ciclo Para
Definimos una clase de nombre “Numeros” que nos servirá lógicamente para el manejo de los
datos a ordenar.
6 Programación IV. Guía No. 3
Programación IV. Guía No. 3 7
Puedes probar la funcionalidad que tiene la aplicación. Al dar clic al botón “Agregar” no ocurre
nada, pues no le hemos indicado al objeto “tabPage” ninguna acción. Por lo que a continuación
modificaremos el evento “Paint” de este objeto. Este evento es el que permitirá dibujar los
botones para cada dato insertado por el usuario.
8 Programación IV. Guía No. 3
La función “Dibujar_Arreglo” la utilizamos para dibujar el arreglo de botones que representa los
datos a ordenar:
Lo que nos hace falta hacer es programar la simulación del ordenamiento que queremos
observar en el objeto “TabControl”. Para ello definimos un método de nombre “Intercambio”.
Para la correcta funcionalidad de este método debemos agregar la siguiente librería de clase:
using System.Threading;
Esto nos permitirá controlar los distintos “hilos” de ejecución de la animación (con el evento
“Sleep”).
10 Programación IV. Guía No. 3
Esta librería es necesaria para el uso de la clase “Stopwatch”, clase para calcular tiempos.
Una instancia de Stopwatch puede medir el tiempo transcurrido para un intervalo o el total de
tiempo transcurrido entre varios intervalos.
En un escenario de Stopwatch habitual, se llama al método “Start”, en otro momento se llama al
método “Stop” y, por último, se comprueba el tiempo transcurrido mediante la propiedad
“Elapsed”.
Análisis de resultados
Ejercicio No. 1
Implementar el simulador del método de ordenamiento Inserción, de tal manera que la solución
permita recibir los datos y ordenarlos a partir de una interfaz gráfica de formulario (Windows
Forms). Debe tomarse como referencia el ejemplo No.1 desarrollado en esta guía.
Ejercicio No. 2
Modificar el programa del ejemplo No. 1 y el programa del ejercicio No. 1, de tal manera que los
simuladores muestren al usuario el tiempo que se demora el ordenamiento de los datos
ingresados.
Investigación Complementaria
Para la siguiente semana:
Elaborar un programa en entorno gráfico (Windows Forms) para ordenar datos numéricos a
partir del algoritmo de Selección (SelectionSort). Debe implementarse como un simulador del
método, es decir debe considerarse que debe visualizarse el ordenamiento. Tomar como
referencia el algoritmo visto en clase y el ejemplo No.1 desarrollado en esta Guía.
12 Programación IV. Guía No. 3
EVALUACIÓN