Anda di halaman 1dari 3

Mtodo de Burbuja

El Ordenamiento de burbuja (Bubble Sort en ingls) es un sencillo algoritmo de ordenamiento. Funciona revisando cada elemento de la lista que va a ser ordenada con el siguiente, intercambindolos de posicin si estn en el orden equivocado. Es necesario revisar varias veces toda la lista hasta que no se necesiten ms intercambios, lo cual significa que la lista est ordenada. Este algoritmo obtiene su nombre de la forma con la que suben por la lista los elementos durante los intercambios, como si fueran pequeas "burbujas". Tambin es conocido como el mtodo del intercambio directo. Dado que solo usa comparaciones para operar elementos, se lo considera un algoritmo de comparacin, siendo el ms sencillo de implementar.

Ejemplo en visual Basic:

Private Sub OrdenarBurbuja(ByRef VectorOriginal() As Integer) Dim Temp, Longitud As Integer Longitud = VectorOriginal.Length - 2 For b = 0 To Longitud For a = 0 To Longitud If VectorOriginal(a) > VectorOriginal(a + 1) Then Temp = VectorOriginal(a + 1) VectorOriginal(a + 1) = VectorOriginal(a) VectorOriginal(a) = Temp End If Next Next End Sub

Corte de Control
El corte de control es un proceso en el cual los registros del archivo se encuentran ordenados por el valor de uno o ms campos, denominados campos clave o llave, el ordenamiento puede ser ascendente lo ms comn- o descendente. Este tipo de proceso generalmente es utilizado para realizar informes o reportes, en el cual se deba emitir de cada grupo formado por el mismo valor del campo clave- totales, promedios, mximos o mnimos, etc.. En lneas generales este proceso posee una estructura que es bastante caracterstica y que pasaremos a detallar a continuacin. Cada corte de control establece un nivel, as si existen n cortes de control, habr n niveles, y cada uno de estos n cortes o niveles estn contenidos dentro de un ciclo indefinido, a estos ciclos se le suma uno ms, y representa el fin del proceso, siendo este ciclo el de mayor nivel y el ms externo, luego en forma anidada se van desarrollando los ciclos internos en un orden que va de mayor nivel de corte hasta llegar al menor nivel de corte. El ciclo de mayor nivel establece el fin del proceso, siendo su condicin, el fin del archivo que se est procesando, por medio de una

variable de tipo boolean. Las condiciones de los ciclos internos van arrastrando las condiciones de los ciclos anteriores o ms externos a la que se le suma la propia condicin del ciclo, es decir, la que producir el corte de control de ese nivel, por lo tanto, cuanto ms anidado sea el ciclo, ms condiciones contendr. El ciclo externo contiene una condicin, y el ciclo ms interno posee n + 1 condiciones. Si un proceso requiere n cortes, entonces la cantidad de ciclos ser de n + 1. Adems cada corte de control obliga a que los datos se encuentren ordenados por el valor del campo clave comenzando desde el de mayor nivel hasta el de menor nivel, por ejemplo, si se requieren obtener totales de las ventas realizadas por diferentes vendedores, los datos deberan estn organizados por el cdigo de vendedor; un segundo ejemplo, si los vendedores realizan sus actuaciones en una zona y el proceso requiere informar adems totales por zonas, en este caso los datos deben encontrarse ordenados primero por cdigo de zona y luego por cdigo de vendedor, debido a que es de esperar que primero cambien los vendedores y luego cambien las zonas. El corte de control requiere de una lectura anticipada y en el caso del lenguaje Pascal ser una lectura especial, en la cual, primero se debe determinar que no sea fin de archivo para poder leer un registro. Debido a que las prximas lecturas se realizan en otro punto del programa, la lectura especial va a ser un mdulo con tres parmetros, a saber: el archivo, el registro a devolver y el estado de la operacin de lectura, de tipo boolean, si es falso indicar que no fue fin de archivo y se ley un registro, caso contrario, indicar que es fin de archivo. Las prximas lecturas del archivo se realizarn en el ciclo ms interno y como ltima accin. Antes de ingresar a un ciclo denominamos a esa regin del algoritmo cabecera. Al salir de un ciclo, denominamos a esa regin del algoritmo pi. Dentro de un ciclo, denominamos a esa regin del algoritmo proceso. En la cabecera generalmente realizamos las siguientes acciones: Inicializar, Emitir ttulos y datos. En el pi generalmente realizamos las siguientes acciones: Clculos, Emitir totales, promedios, mximos o mnimos, tomar alguna decisin. En el proceso generalmente realizamos las siguientes acciones: Clculos, Emitir lneas de detalle, tomar alguna decisin.

Apareo de Archivos:
El apareo de archivos es un proceso que dependiendo del tipo de organizacin que tengan estos archivos, el algoritmo adoptar una estructura particular. Este proceso es muy empleado para la actualizacin del maestro a travs del archivo de novedades. Las novedades tendrn que ver con altas, bajas o modificaciones o

algunas de ellas solamente. Si ambos archivos poseen una organizacin secuencial, entonces ambos archivos deben encontrarse ordenados ascendente o descendentepor medio del valor de una clave en comn. El resultado de este proceso ser un nuevo archivo de salida con la misma estructura que el maestro a actualizar, siendo este archivo el maestro actualizado. El archivo de novedades tiene la misma estructura que el maestro pero con un campo ms, el cual indica el cdigo de movimiento. Cada archivo trabajar con sus propios registros, es decir, un registro para el archivo maestro viejo, otro para el archivo de maestro nuevo y un registro para el archivo de novedades. Las situaciones de errores por alta existente o bajas o modificaciones inexistentes, se emitirn por medio del dispositivo de la impresora. Este proceso que genera un nuevo archivo el maestro actualizado- se denomina proceso Padre Hijo.

Anda mungkin juga menyukai