SlideShare una empresa de Scribd logo
1 de 9
MARTES, 13 DE OCTUBRE DE 2009


Metodo de la Burbuja

Cuando estamos trabajando con mucha información, es imposible encontrar lo
que ando buscando si no está ordenado. Imagínate tu directorio telefónico si no
estuviera ordenado alfabéticamente probablemente jamás lo usarías. Esto
sucede con los sistemas informáticos también: no basta guardar todos los datos,
hace falta mantenerlos en orden o poder ordenarlos.


Ahorita voy a explicar una manera de ordenar datos. Es el algoritmo menos
eficiente, pero el más fácil de entender. Este algoritmo es el de Burbuja (o
bubblesort) y lo voy a ilustrar usando arreglos. Una vez que entiendas como
funciona con arreglos, no tendrás problemas en implementarlo con diferentes
tipos de estructuras, clases, registros, etc. Voy a hacer el código usando Visual
Basic 6.0 (que va a ser igual que el 2005) y en C. Con esto creo que no tienen
problema en transportar el código a cualquier lenguaje de programación.


El algoritmo funciona de la siguiente manera: primero compara el primer
elemento contra los demás (obviamente se va comparando uno por uno,
elemento por elemento). Si se encuentra un elemento menor, intercambia el
contenido (es decir, asigna a este elemento el valor menor y el valor que tenía lo
deja en el elemento donde estaba el valor más pequeño). Una vez terminado de
comparar el primer elemento contra todos los demás (se supone que el elemento
menor está en la primera posición), hago lo mismo con el siguiente elemento: lo
comparo con todos los que siguen y dejo el menor valor (de los que quedan) , y
así sucesivamente voy comparando todos los elementos contra todos. Al final del
día, debería tener un arreglo ordenado.


Por si te hice bolas, sé que una imagen vale mil palabras y como no pienso
escribir mil palabras, mejor hice unos dibujitos para aclarar la situación. Espero
que se entienda. Después de la imagen, hacemos el algoritmo en C y Visual Basic.
Ahí va la manera en que ordeno el primer elemento...
Ok. Allí está el primer elemento. Ahora voy con el segundo elemento...




Ahora voy con el tercero...
Así me voy ordenando todos, pero para completar el ejercicio, ahí va la manera
en que se ordena el cuarto elemento:




Y el quinto...
Y el sexto...




El séptimo y octavo...
Ya no tiene comparar el octavo con el noveno porque se supone que si todos los
número están ordenados hasta el octavo elemento, el último debe ser el mayor a
todos. El arreglo final, ordenadito y toda la cosa, es así:




¡Listo! Queda un arreglo ordenadito y toda la cosa. Este algoritmo es muy
sencillo de entender, sin embargo, es muy ineficiente. La eficiencia de un
algoritmo tiene que ver directamente con el número de comparaciones que tiene
que hacer y este algoritmo es muy ineficiente porque hace muchísimas.


Ahora, ya entendido el concepto y la manera en que funciona este algoritmo,
vamos a mostrar cómo se vería ya en código. Como el lenguaje C es muy simple,
primero lo voy a resolver en este lenguaje. Aquí pongo el código y abajo de esta
imagen explico que onda.
Le puse comentarios al código con la esperanza que se entienda mejor. De este
código, lo interesante, lo que hace el trabajo, son los dos ciclos anidados. El
ciclo de "i" se encarga de dejarnos visitar todos los elementos del arreglo y el
ciclo "j" nos permite comparar todos los elementos que son mayores de i (o sea,
los que faltan por comparar). Si el elemento en la posición j es menor al que
está en la posición i, los intercambio (para esto uso una variable k que auxilia en
la cambiadera).


Simplemente como comentario cultural, el código en C lo hice usando el
compilador Microsoft Visual C++ 6.0, pero como usé el C estándar (ANSI C)
debería funcionar con cualquier compilador (bueno, algunos comentarios están
en "formato" C++, los que comienzan con dos diagonales invertidas, pero no creo
que tengas broncas).


Al ejecutarlo se ve así:




Transportar esta idea a Visual Basic 6.0 es sencillo (y es aún más fácil usar el
código de Visual Basic 6 en el 2005). Hice una pequeña aplicación, sencillita, que
tiene 10 cajas de texto y dos botones. Un botón ordena los valores de las cajas
de texto y el otro finaliza la ejecución del programa. El interfaz se ve así:
El código del programa es ésta:




En éste código, txtNumero es un arreglo de los TextBoxes que están en la
pantalla. ¿Algún problema? Recuerda que si te quedaste con dudas, me puedes
dejar un comentario e intentaré responderte en cuanto pueda.


Ahora voy a hacer esta misma aplicación en Visual Basic 2005. Es casi igual que
en la versión 6, pero de todos modos les muestro la interfaz y luego el código. El
gran problema que me trauma de la versión 2005 es que no es posible tener
arreglos de controles. Bueno, sí se puede pero es un gran relajo al que prefiero
no entrarle. Para saltarme esta bronca, antes de ordenar, copio los valores de las
cajas de texto (txtNumero1 a txtNumero10) a un arreglo.




Y aquí les dejo el código de la ventana es ésta:
Burbuja net

Más contenido relacionado

La actualidad más candente (17)

Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
metodología de solución de problemas
metodología de solución de problemasmetodología de solución de problemas
metodología de solución de problemas
 
Desarrollar el proceso de solución de un problema
Desarrollar el proceso de solución de un problemaDesarrollar el proceso de solución de un problema
Desarrollar el proceso de solución de un problema
 
1 conceptos algoritmos
1 conceptos algoritmos1 conceptos algoritmos
1 conceptos algoritmos
 
Programmacion estructurada
Programmacion estructuradaProgrammacion estructurada
Programmacion estructurada
 
Melendez
MelendezMelendez
Melendez
 
Tipos de programacion
Tipos de programacionTipos de programacion
Tipos de programacion
 
Algoritmo , MATEMÁTICA
Algoritmo ,  MATEMÁTICAAlgoritmo ,  MATEMÁTICA
Algoritmo , MATEMÁTICA
 
Listas desplegables 2
Listas desplegables 2Listas desplegables 2
Listas desplegables 2
 
Métodos en Java-Con ejemplos
Métodos en Java-Con ejemplosMétodos en Java-Con ejemplos
Métodos en Java-Con ejemplos
 
PDF 5
PDF 5PDF 5
PDF 5
 
Diaposittivas tecnologia yoicar
Diaposittivas tecnologia yoicarDiaposittivas tecnologia yoicar
Diaposittivas tecnologia yoicar
 
PDF 11
PDF 11PDF 11
PDF 11
 
PDF 3
PDF 3PDF 3
PDF 3
 
PDF 10
PDF 10PDF 10
PDF 10
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
PDF 14
PDF 14PDF 14
PDF 14
 

Destacado

Nice Matin - Législatives 2012 - 2ème Alpes_Maritimes
Nice Matin - Législatives 2012 - 2ème Alpes_MaritimesNice Matin - Législatives 2012 - 2ème Alpes_Maritimes
Nice Matin - Législatives 2012 - 2ème Alpes_MaritimescontactOpinionWay
 
Campingaz / Observatoire des loisirs en plein air / Février 2014
Campingaz / Observatoire des loisirs en plein air / Février 2014Campingaz / Observatoire des loisirs en plein air / Février 2014
Campingaz / Observatoire des loisirs en plein air / Février 2014contactOpinionWay
 
Rares photos Historique
Rares photos HistoriqueRares photos Historique
Rares photos HistoriqueAndromede56
 
Legal Compliance Audit
Legal Compliance AuditLegal Compliance Audit
Legal Compliance AuditBITE GmbH
 
Parisfini2013
Parisfini2013Parisfini2013
Parisfini2013DG WEB
 
US09512516
US09512516US09512516
US09512516dbsloan
 
OpinionWay pour Clai / LCI / Le Club LCI - Questions d'actualité- Septembre 2014
OpinionWay pour Clai / LCI / Le Club LCI - Questions d'actualité- Septembre 2014OpinionWay pour Clai / LCI / Le Club LCI - Questions d'actualité- Septembre 2014
OpinionWay pour Clai / LCI / Le Club LCI - Questions d'actualité- Septembre 2014contactOpinionWay
 
"Open Source ERP Systeme" Vortrag @Linuxwochen 2010
"Open Source ERP Systeme" Vortrag @Linuxwochen 2010"Open Source ERP Systeme" Vortrag @Linuxwochen 2010
"Open Source ERP Systeme" Vortrag @Linuxwochen 2010incore IT Solutions
 
Projet sur les carrières en informatique( mariam sidibé)
Projet sur les carrières en informatique( mariam sidibé)Projet sur les carrières en informatique( mariam sidibé)
Projet sur les carrières en informatique( mariam sidibé)mariamdado10
 
Sécurité routière ce1
Sécurité routière ce1Sécurité routière ce1
Sécurité routière ce1cdisacrecoeur76
 
La section sportive triathlon onet
La section sportive triathlon onetLa section sportive triathlon onet
La section sportive triathlon onetDG WEB
 
Libertad, libertad de expresion, guerra cultural
Libertad, libertad de expresion, guerra culturalLibertad, libertad de expresion, guerra cultural
Libertad, libertad de expresion, guerra culturalFernando Cáceres
 
Presentación1yoraimammmma
Presentación1yoraimammmmaPresentación1yoraimammmma
Presentación1yoraimammmmayoraimamartinez
 
Pierrelatte events 1
Pierrelatte events 1Pierrelatte events 1
Pierrelatte events 1NIER Olivier
 
Complejidad de algoritmos
Complejidad de algoritmosComplejidad de algoritmos
Complejidad de algoritmosAndrés Ibarra
 

Destacado (19)

Nice Matin - Législatives 2012 - 2ème Alpes_Maritimes
Nice Matin - Législatives 2012 - 2ème Alpes_MaritimesNice Matin - Législatives 2012 - 2ème Alpes_Maritimes
Nice Matin - Législatives 2012 - 2ème Alpes_Maritimes
 
El guión
El guiónEl guión
El guión
 
Campingaz / Observatoire des loisirs en plein air / Février 2014
Campingaz / Observatoire des loisirs en plein air / Février 2014Campingaz / Observatoire des loisirs en plein air / Février 2014
Campingaz / Observatoire des loisirs en plein air / Février 2014
 
Rares photos Historique
Rares photos HistoriqueRares photos Historique
Rares photos Historique
 
Legal Compliance Audit
Legal Compliance AuditLegal Compliance Audit
Legal Compliance Audit
 
Bosque de hoja caduca
Bosque de hoja caducaBosque de hoja caduca
Bosque de hoja caduca
 
Santé
SantéSanté
Santé
 
Parisfini2013
Parisfini2013Parisfini2013
Parisfini2013
 
US09512516
US09512516US09512516
US09512516
 
Ferienwohnungen Ruegen Gut Grubnow
Ferienwohnungen Ruegen Gut GrubnowFerienwohnungen Ruegen Gut Grubnow
Ferienwohnungen Ruegen Gut Grubnow
 
OpinionWay pour Clai / LCI / Le Club LCI - Questions d'actualité- Septembre 2014
OpinionWay pour Clai / LCI / Le Club LCI - Questions d'actualité- Septembre 2014OpinionWay pour Clai / LCI / Le Club LCI - Questions d'actualité- Septembre 2014
OpinionWay pour Clai / LCI / Le Club LCI - Questions d'actualité- Septembre 2014
 
"Open Source ERP Systeme" Vortrag @Linuxwochen 2010
"Open Source ERP Systeme" Vortrag @Linuxwochen 2010"Open Source ERP Systeme" Vortrag @Linuxwochen 2010
"Open Source ERP Systeme" Vortrag @Linuxwochen 2010
 
Projet sur les carrières en informatique( mariam sidibé)
Projet sur les carrières en informatique( mariam sidibé)Projet sur les carrières en informatique( mariam sidibé)
Projet sur les carrières en informatique( mariam sidibé)
 
Sécurité routière ce1
Sécurité routière ce1Sécurité routière ce1
Sécurité routière ce1
 
La section sportive triathlon onet
La section sportive triathlon onetLa section sportive triathlon onet
La section sportive triathlon onet
 
Libertad, libertad de expresion, guerra cultural
Libertad, libertad de expresion, guerra culturalLibertad, libertad de expresion, guerra cultural
Libertad, libertad de expresion, guerra cultural
 
Presentación1yoraimammmma
Presentación1yoraimammmmaPresentación1yoraimammmma
Presentación1yoraimammmma
 
Pierrelatte events 1
Pierrelatte events 1Pierrelatte events 1
Pierrelatte events 1
 
Complejidad de algoritmos
Complejidad de algoritmosComplejidad de algoritmos
Complejidad de algoritmos
 

Similar a Burbuja net

Primer programa en 1
Primer programa en 1Primer programa en 1
Primer programa en 1fehrhuichapa
 
DAM_18520450_Trabajando con React Native.pdf
DAM_18520450_Trabajando con React Native.pdfDAM_18520450_Trabajando con React Native.pdf
DAM_18520450_Trabajando con React Native.pdfKevinRicardoBustaman
 
Organizacion computacional cel2015
Organizacion computacional cel2015Organizacion computacional cel2015
Organizacion computacional cel2015Maestros Online
 
Sentencias selectivas y repetitivas
Sentencias selectivas y repetitivasSentencias selectivas y repetitivas
Sentencias selectivas y repetitivasyoly1parra1
 
introduccion a c# y ejercicios solucionados
introduccion a c# y ejercicios solucionadosintroduccion a c# y ejercicios solucionados
introduccion a c# y ejercicios solucionadosAndersson Marrtinez
 
Gratis aprende programacion1
Gratis aprende programacion1Gratis aprende programacion1
Gratis aprende programacion1ArTuro FhliNn
 
Gratis aprende programacion1
Gratis aprende programacion1Gratis aprende programacion1
Gratis aprende programacion1yomito_2
 
Software para cálculos matemáticos
Software para cálculos matemáticosSoftware para cálculos matemáticos
Software para cálculos matemáticosdaniimoyano
 
Tutorial 03 primer-tratamiento
Tutorial 03 primer-tratamientoTutorial 03 primer-tratamiento
Tutorial 03 primer-tratamientobugs2919
 
C# for Beginners
C# for BeginnersC# for Beginners
C# for BeginnersZaory Zaory
 
Introduccic3b3n bc3a1sica-a-netbeans-para-desarrollo-java - copia
Introduccic3b3n bc3a1sica-a-netbeans-para-desarrollo-java - copiaIntroduccic3b3n bc3a1sica-a-netbeans-para-desarrollo-java - copia
Introduccic3b3n bc3a1sica-a-netbeans-para-desarrollo-java - copiaesekazz
 
Organizacion computacional
Organizacion computacionalOrganizacion computacional
Organizacion computacionalMaestros Online
 
Practica google drive
Practica   google drivePractica   google drive
Practica google drivecobymotion
 

Similar a Burbuja net (20)

Primer programa en 1
Primer programa en 1Primer programa en 1
Primer programa en 1
 
Didactica Logo (Documento De Trabajo)
Didactica Logo (Documento De Trabajo)Didactica Logo (Documento De Trabajo)
Didactica Logo (Documento De Trabajo)
 
Netbeans
Netbeans Netbeans
Netbeans
 
DAM_18520450_Trabajando con React Native.pdf
DAM_18520450_Trabajando con React Native.pdfDAM_18520450_Trabajando con React Native.pdf
DAM_18520450_Trabajando con React Native.pdf
 
Organizacion computacional cel2015
Organizacion computacional cel2015Organizacion computacional cel2015
Organizacion computacional cel2015
 
Sentencias selectivas y repetitivas
Sentencias selectivas y repetitivasSentencias selectivas y repetitivas
Sentencias selectivas y repetitivas
 
introduccion a c# y ejercicios solucionados
introduccion a c# y ejercicios solucionadosintroduccion a c# y ejercicios solucionados
introduccion a c# y ejercicios solucionados
 
Gratis aprende programacion1
Gratis aprende programacion1Gratis aprende programacion1
Gratis aprende programacion1
 
Programacion1
Programacion1Programacion1
Programacion1
 
Gratis aprende programacion1
Gratis aprende programacion1Gratis aprende programacion1
Gratis aprende programacion1
 
Software para cálculos matemáticos
Software para cálculos matemáticosSoftware para cálculos matemáticos
Software para cálculos matemáticos
 
manual-batch-desde-0
manual-batch-desde-0manual-batch-desde-0
manual-batch-desde-0
 
Manual batch
Manual batchManual batch
Manual batch
 
Tutorial 03 primer-tratamiento
Tutorial 03 primer-tratamientoTutorial 03 primer-tratamiento
Tutorial 03 primer-tratamiento
 
C# for Beginners
C# for BeginnersC# for Beginners
C# for Beginners
 
Introduccic3b3n bc3a1sica-a-netbeans-para-desarrollo-java - copia
Introduccic3b3n bc3a1sica-a-netbeans-para-desarrollo-java - copiaIntroduccic3b3n bc3a1sica-a-netbeans-para-desarrollo-java - copia
Introduccic3b3n bc3a1sica-a-netbeans-para-desarrollo-java - copia
 
Organizacion computacional
Organizacion computacionalOrganizacion computacional
Organizacion computacional
 
Organizacion computacional
Organizacion computacionalOrganizacion computacional
Organizacion computacional
 
Practica google drive
Practica   google drivePractica   google drive
Practica google drive
 
Portafolio
Portafolio Portafolio
Portafolio
 

Último

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 

Último (20)

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 

Burbuja net

  • 1. MARTES, 13 DE OCTUBRE DE 2009 Metodo de la Burbuja Cuando estamos trabajando con mucha información, es imposible encontrar lo que ando buscando si no está ordenado. Imagínate tu directorio telefónico si no estuviera ordenado alfabéticamente probablemente jamás lo usarías. Esto sucede con los sistemas informáticos también: no basta guardar todos los datos, hace falta mantenerlos en orden o poder ordenarlos. Ahorita voy a explicar una manera de ordenar datos. Es el algoritmo menos eficiente, pero el más fácil de entender. Este algoritmo es el de Burbuja (o bubblesort) y lo voy a ilustrar usando arreglos. Una vez que entiendas como funciona con arreglos, no tendrás problemas en implementarlo con diferentes tipos de estructuras, clases, registros, etc. Voy a hacer el código usando Visual Basic 6.0 (que va a ser igual que el 2005) y en C. Con esto creo que no tienen problema en transportar el código a cualquier lenguaje de programación. El algoritmo funciona de la siguiente manera: primero compara el primer elemento contra los demás (obviamente se va comparando uno por uno, elemento por elemento). Si se encuentra un elemento menor, intercambia el contenido (es decir, asigna a este elemento el valor menor y el valor que tenía lo deja en el elemento donde estaba el valor más pequeño). Una vez terminado de comparar el primer elemento contra todos los demás (se supone que el elemento menor está en la primera posición), hago lo mismo con el siguiente elemento: lo comparo con todos los que siguen y dejo el menor valor (de los que quedan) , y así sucesivamente voy comparando todos los elementos contra todos. Al final del día, debería tener un arreglo ordenado. Por si te hice bolas, sé que una imagen vale mil palabras y como no pienso escribir mil palabras, mejor hice unos dibujitos para aclarar la situación. Espero que se entienda. Después de la imagen, hacemos el algoritmo en C y Visual Basic. Ahí va la manera en que ordeno el primer elemento...
  • 2. Ok. Allí está el primer elemento. Ahora voy con el segundo elemento... Ahora voy con el tercero...
  • 3. Así me voy ordenando todos, pero para completar el ejercicio, ahí va la manera en que se ordena el cuarto elemento: Y el quinto...
  • 4. Y el sexto... El séptimo y octavo...
  • 5. Ya no tiene comparar el octavo con el noveno porque se supone que si todos los número están ordenados hasta el octavo elemento, el último debe ser el mayor a todos. El arreglo final, ordenadito y toda la cosa, es así: ¡Listo! Queda un arreglo ordenadito y toda la cosa. Este algoritmo es muy sencillo de entender, sin embargo, es muy ineficiente. La eficiencia de un algoritmo tiene que ver directamente con el número de comparaciones que tiene que hacer y este algoritmo es muy ineficiente porque hace muchísimas. Ahora, ya entendido el concepto y la manera en que funciona este algoritmo, vamos a mostrar cómo se vería ya en código. Como el lenguaje C es muy simple, primero lo voy a resolver en este lenguaje. Aquí pongo el código y abajo de esta imagen explico que onda.
  • 6. Le puse comentarios al código con la esperanza que se entienda mejor. De este código, lo interesante, lo que hace el trabajo, son los dos ciclos anidados. El ciclo de "i" se encarga de dejarnos visitar todos los elementos del arreglo y el ciclo "j" nos permite comparar todos los elementos que son mayores de i (o sea, los que faltan por comparar). Si el elemento en la posición j es menor al que está en la posición i, los intercambio (para esto uso una variable k que auxilia en la cambiadera). Simplemente como comentario cultural, el código en C lo hice usando el compilador Microsoft Visual C++ 6.0, pero como usé el C estándar (ANSI C) debería funcionar con cualquier compilador (bueno, algunos comentarios están en "formato" C++, los que comienzan con dos diagonales invertidas, pero no creo que tengas broncas). Al ejecutarlo se ve así: Transportar esta idea a Visual Basic 6.0 es sencillo (y es aún más fácil usar el código de Visual Basic 6 en el 2005). Hice una pequeña aplicación, sencillita, que tiene 10 cajas de texto y dos botones. Un botón ordena los valores de las cajas de texto y el otro finaliza la ejecución del programa. El interfaz se ve así:
  • 7. El código del programa es ésta: En éste código, txtNumero es un arreglo de los TextBoxes que están en la pantalla. ¿Algún problema? Recuerda que si te quedaste con dudas, me puedes dejar un comentario e intentaré responderte en cuanto pueda. Ahora voy a hacer esta misma aplicación en Visual Basic 2005. Es casi igual que
  • 8. en la versión 6, pero de todos modos les muestro la interfaz y luego el código. El gran problema que me trauma de la versión 2005 es que no es posible tener arreglos de controles. Bueno, sí se puede pero es un gran relajo al que prefiero no entrarle. Para saltarme esta bronca, antes de ordenar, copio los valores de las cajas de texto (txtNumero1 a txtNumero10) a un arreglo. Y aquí les dejo el código de la ventana es ésta: