2. algoritmo de burbuja

Anuncio
ESCENARIOS DE APRENDIZAJE PARA ALGORITMOS DE ORDENAMIENTO
_____________________________________________________________________________________________
Escuela Colombiana de Ingeniería “Julio Gravito”
Ingeniería de Sistemas
DOCUMENTO PROTOTIPOS – DOCUMENTO ESTADO DEL ARTE
ALGORITMO DE BURBUJA.
Versión 1.0
Septiembre 29 / 2004
Versión Final
Abril 30 / 2005
Algoritmo de Selección
PAO
TABLA DE CONTENIDO
1. IDENTIFICACIÓN.
3
2. ALGORITMO DE BURBUJA
4
2.1 Definición, Ejemplos y Conceptos (Eficiencia, Complejidad).
4
2.2 Ventajas y Desventajas de Uso del Algoritmo.
5
3. VERSIÓN PARA CONCEPTUALIZAR
5
3.1 Construcción Metáfora del Algoritmo.
5
4. MODELO FÍSICO.
6
4.1 Historia y Evolución del Modelo.
6
4.2 Conceptos que Maneja.
6
4.3 Manual / Talleres de Uso.
7
4.5 Ficha Técnica.
9
5. MODELOS VIRTUALES.
10
5. MODELOS VIRTUALES.
10
5.1 Historia, Evolución de los Modelos.
10
5.2 Conceptos que Maneja.
10
5.3 Manual de Uso / Talleres de Uso
5.3.1 Modelo Codificado en JAVA
5.3.2 Modelo Codificado en Prolog.
10
10
10
6. VENTAJAS DE LOS MODELOS SOBRE MODELOS FÍSICOS Y VIRTUALES EXISTENTES Y SOBRE LOS
CONSTRUIDOS.
11
7. REFERENCIAS BIBLIOGRÁFICAS.
12
2
ESCENARIOS DE APRENDIZAJE PARA ALGORITMOS DE ORDENAMIENTO.
Proyecto de Grado. 2004-II – 2005-I. Facultad de Ingeniería de Sistemas.
Escuela Colombiana de Ingeniería “Julio Garavito”.
Algoritmo de Selección
PAO
1. IDENTIFICACIÓN.
Proyecto
Cliente
Promotor
Documento
Identificación
Versión
Fecha Creación
Fecha Ultimo Cambio
Responsables
Historia
Escenarios de Aprendizaje para Algoritmos de Ordenamiento. PAO
Escuela Colombiana de Ingeniería “Julio Garavito”.
Facultad de Ingeniería de Sistemas Escuela Colombiana de Ingeniería “Julio
Garavito”.
Estado del Arte
Algoritmo de Burbuja.
Ultima Versión
Septiembre 29 de 2004
Abril 30 de 2005
Alfredo Estrada Villegas
Fecha
No.
No. Revisión
Tipo de
Descripción
Responsables
Versión
/ Cambio
Revisión/Cambio
Septiembre
1.0
Creación
Creación del Documento del Algoritmo Alfredo Estrada.
29/2004
de Burbuja.
Enero 12/2005
1.0
1.0
Revisión y
Verificación del Documento por parte del Alfredo Estrada
Verificación
Director del Proyecto.
Abril 30/2005
1.0
2.0
Revisión y
Cambios de acuerdo con los estándares Alfredo Estrada
Verificación.
de documentación de los Escenarios de
Aprendizaje y con las correcciones
realizadas a lo largo del proyecto por
parte del Director del mismo y los
Revisores Técnicos.
3
ESCENARIOS DE APRENDIZAJE PARA ALGORITMOS DE ORDENAMIENTO.
Proyecto de Grado. 2004-II – 2005-I. Facultad de Ingeniería de Sistemas.
Escuela Colombiana de Ingeniería “Julio Garavito”.
Algoritmo de Selección
PAO
2. ALGORITMO DE BURBUJA
2.1 Definición, Ejemplos y Conceptos (Eficiencia, Complejidad).
Este algoritmo, es uno de los más comunes, es de fácil entendimiento y se adapta muy bien a las diferentes
condiciones de enseñanza, por lo cual los centros educativos lo colocan dentro de su cronograma de trabajo.
Este es el algoritmo más sencillo probablemente. Ideal para empezar. Consiste en ciclar repetidamente a través de la
lista, comparando elementos adyacentes de dos en dos. Si un elemento es mayor que el que está en la siguiente
posición se intercambian.. Este proceso se repite para el resto de los elementos hasta que todos son analizados.
Se puede definir el siguiente Macroalgoritmo para la implementación del ordenamiento por Burbuja:
0: Iniciar
1: Primer ciclo hace que se recorra el arreglo varias veces
2: Segundo ciclo anidado que recorre el arreglo internamente
3: Compara las posiciones contiguas del arreglo
4: Asigna el valor de la posición j de arreglo auna temporal
5: Asigna el valor de la siguiente a la posición J
6: Asigna el valor de la temporal a J + 1
7: Terminar
Inicio
for (i=1; i<TAM; i++)
for j=0 ; j<TAM - 1; j++)
if (lista[j] > lista[j+1])
temp = lista[j];
lista[j] = lista[j+1];
lista[j+1] = temp;
Fin.
Ejemplo:
Esta es nuestra lista:
4-3-5-2-1
Tenemos 5 elementos. Es decir, TAM toma el valor 5. Comenzamos comparando el primero con
el segundo elemento. 4 es mayor que 3, así que intercambiamos. Ahora tenemos:
3-4-5-2-1
Ahora comparamos el segundo con el tercero: 4 es menor que 5, así que no hacemos nada.
Continuamos con el tercero y el cuarto: 5 es mayor que 2. Intercambiamos y obtenemos:
3-4-2-5-1
Comparamos el cuarto y el quinto: 5 es mayor que 1. Intercambiamos nuevamente:
3-4-2-1-5
Repitiendo este proceso vamos obteniendo los siguientes resultados:
3-2-1-4-5
2-1-3-4-5
1-2-3-4-5
4
ESCENARIOS DE APRENDIZAJE PARA ALGORITMOS DE ORDENAMIENTO.
Proyecto de Grado. 2004-II – 2005-I. Facultad de Ingeniería de Sistemas.
Escuela Colombiana de Ingeniería “Julio Garavito”.
Algoritmo de Selección
PAO
2.2 Ventajas y Desventajas de Uso del Algoritmo.
En cuanto a las Ventajas del Algoritmo de Burbuja, se encuentran:
 Fácil implementación.
 No requiere memoria adicional.
Las desventajas conocidas:
 Algoritmo de Ordenamiento muy Lento.
 Realiza numerosos intercambios.
 Realiza numerosas comparaciones.
3. VERSIÓN PARA CONCEPTUALIZAR
El método de Ordenamiento por Burbuja consiste en comparar dos casillas contiguas pasando así por todos los
elementos e intercambiando entre si dependiendo del criterio de ordenamiento de mayor a menor o viceversa.
Menor ó Mayor, depende del criterio de ordenamiento, es decir, sí es de forma Ascendente ó Descendente.
3.1 Construcción Metáfora del Algoritmo.
Pensando un poco en cómo es el proceso que lleva a cabo un computador al realizar un ordenamiento, es posible
darse cuenta que la máquina no ve los elementos para ordenar en paralelo, sino que realiza las comparaciones una
a una olvidando la anterior, hasta completar todos los elementos revisando todas las casillas. Lo cual difiere, con lo
que hace el ser humano, que ve los elementos paralelamente y gracias a su pensamiento e inteligencia, es capaz de
hacer ordenamientos rápidos, viendo una sola vez los elementos que debe ordenar. Por tal motivo, el modelo físico
y los modelos virtuales propuestos a continuación tratan de simular el procedimiento hecho por la máquina,
obligando a la persona que interactúa con este a tapar las fichas en cada movimiento y ver solo de a un elemento
para compararlo con el inicial, lo cual es la esencia del ordenamiento por Burbuja.
Se debe tener muy en cuenta que los modelos que constituyen el Escenario de Aprendizajes, deben ser de fácil uso,
llamativos para el usuario y realizados en materiales económicos.
5
ESCENARIOS DE APRENDIZAJE PARA ALGORITMOS DE ORDENAMIENTO.
Proyecto de Grado. 2004-II – 2005-I. Facultad de Ingeniería de Sistemas.
Escuela Colombiana de Ingeniería “Julio Garavito”.
Algoritmo de Selección
PAO
4. MODELO FÍSICO.
Para este algoritmo de ordenamiento se ha diseñado creativamente un modelo físico cuyo propósito es ayudar a las
personas interesadas en este, a comprenderlo de manera natural, de forma que jugando, adquiera un aprendizaje
duradero. El modelo propuesto, esta basado en números.
4.1 Historia y Evolución del Modelo.
Al establecer que este algoritmo haría parte de los productos del Escenario de Aprendizaje, se empezó a pensar en
cómo hacer un modelo físico que mostrará claramente el funcionamiento del algoritmo. Por tanto se pensó en que el
orden fuera el de los números, porque de cierta forma esto obligaría a comparar dos a la vez, como un operador
binario (>,<).
Las fichas inicialmente se escribieron en papeles de colores y con esto se realizaron las primeras pruebas. Un riel
donde se deslizan las fichas de cubrimiento permitiendo así la parición de una ventana la cual solo permite ver dos
fichas a la vez, de acuerdo con esto tendremos n fichas de juego(números) y n – 2 fichas de cubrimiento.
Las fotos mostradas a continuación, presentan la evolución del modelo y cómo es parte del procedimiento para
ordenar los números:
4.2 Conceptos que Maneja.
El Modelo maneja los conceptos de Ordenamiento, Complejidad, cantidad de pasos, Mejor Caso, Peor Caso,
Recursión, eficiencia y rapidez, ya que permite colocar los números de diversas formas, es decir, variar el estado
Inicial del Modelo, para observar que sucede cuándo el modelo se entrega ordenado, cuándo el modelo esta
ordenado al revés (en orden descendente), según cómo se coloquen las fichas ver la cantidad de pasos que son
necesarios para llegar al estado final aprendiendo y conjeturando sobre los conceptos mencionados anteriormente.
De igual forma permite ordenar tal y cómo lo hace la máquina, porque con las Fichas de Cubrimiento, no se permite
ver en paralelo sino por parejas para que el usuario no se aprenda los númerosque tiene y las ordene a su modo.
También permite adicionar o quitar fichas para observar mejor cómo es el manejo de los datos.
6
ESCENARIOS DE APRENDIZAJE PARA ALGORITMOS DE ORDENAMIENTO.
Proyecto de Grado. 2004-II – 2005-I. Facultad de Ingeniería de Sistemas.
Escuela Colombiana de Ingeniería “Julio Garavito”.
Algoritmo de Selección
PAO
4.3 Manual / Talleres de Uso.
Según el proceso de investigación que se ha llevado a cabo, se ha observado que el mejor Manual de Uso son los
talleres creados para cada modelo.
TALLER PARA MODELO FÍSICO BURBUJA.
Nombre: _______________________________
Fecha: ___________
Carrera: ___________ Semestre: __________ Hora Inicio: ____ min.
Ocupación: ___________________
Hora Fin: _______ min.
A continuación se explica, cómo debe usarse el Modelo Físico para Burbuja y se presenta una guía para
experimentar con el Modelo, de tal manera que se conozca el algoritmo y se puedan determinar algunos conceptos
relevantes al mismo. El fin de los talleres es plantear ejercicios para que cualquier persona, pueda probar con el
modelo, aprenda de una manera divertida y su conocimiento sea obtenido de manera tan natural que no sea
olvidado. Al finalizar el taller el usuario estará en capacidad de definir el Algoritmo de Burbuja y determinar su
complejidad.
Agradecemos de antemano su colaboración, sus comentarios y sugerencias serán de gran utilidad para el proyecto.
Estado Inicial
En cada casilla del Soporte de Madera, tendrá una Ficha de Número, colocadas aleatoriamente. En total tendrá n
fichas de números y n – 2 fichas Fichas de Cubrimiento, las cuales deberán tapar las Fichas de finales.
Patrón de Ordenamiento
Los números
Estado Final o de Aceptación
Las casillas con las Fichas de Número Ordenadas y descubiertas.
Especificaciones que debe tener en cuenta
Suponga que este es el Modelo el cual ilustrará las casillas:
Casilla Inicial
Segunda Casilla
Casilla n ó Final
Reglas del Jugo
Tendrá dos fichas de letra destapadas, bajo las siguientes condiciones: Destapará la inicial y la mantendrá
destapada hasta que la compare con las cuatro restantes, (es decir de las otras cuatro puede destapar una), cuando
finalice, podrá destapar la segunda casilla, pero recuerde que solo puede mantener dos fichas destapadas.
Realice corrimientos de las fichas de cubrimiento, hacía la izquierda o hacía la derecha pero respetando la condición
dada. No puede sacar, ninguna ficha de cubrimiento del modelo.
Cada Vez que compare, debe tener en cuenta lo siguiente:
7
ESCENARIOS DE APRENDIZAJE PARA ALGORITMOS DE ORDENAMIENTO.
Proyecto de Grado. 2004-II – 2005-I. Facultad de Ingeniería de Sistemas.
Escuela Colombiana de Ingeniería “Julio Garavito”.
Algoritmo de Selección
PAO
 Sí el valor (letra) de la ficha que descubre, es menor al valor de la ficha con la que esta comparando,
Intercámbielas.
 Sí el valor (letra) de la ficha que descubre, es mayor o igual a la ficha con la que esta comparando, No
realice Ningún cambio.
Otras reglas a considerar:
 Debe tener en cuenta que al terminar las comparaciones con cada ficha, esta no podrá ser modificada otra
vez.
 El juego termina cuando el procedimiento aquí explicado se haya realizado con todas las fichas.
Comprobar
Al finalizar completamente el procedimiento, corra todas las fichas de cubrimiento hasta que todas las fichas de letra
queden destapadas (saque las fichas de cubrimiento del modelo) y registre lo encontrado. Debió hallar una palabra.
Ejercicios
1. Defina con sus propias palabras el algoritmo de Burbuja, de acuerdo con el procedimiento que utilizo para ordenar
las fichas del Modelo físico.
2. La comparación es la esencia del ordenamiento, describa la cantidad de pasos que tuvo que realizar con el
modelo para ordenarlo completamente.
3. Reflexione acerca de las siguientes preguntas, experimente con el modelo y registre sus resultados. ¿Sí se
cambia el orden inicial de las Fichas de letra, cambian la cantidad de comparaciones a realizar?, ¿Sí las fichas se le
entregan ordenadas afecta la cantidad de pasos? y ¿Sí están ordenadas, pero en forma descendente cómo cambian
las comparaciones o la cantidad de pasos?
4. Modifique las condiciones dadas (Estado Inicial, final, reglas de juego, etc.), cómo considere necesario para que
ahora tenga que ordenarlo descendentemente.
5. Sí conoce otro algoritmo de ordenamiento, utilícelo con el modelo y registre sus resultados.
4.4 Manual de Construcción.
Para la construcción del Modelo se hicieron necesarios materiales como madera, papel de colores, pegante, y
contac.
El Soporte de Madera las fichas de cubrimiento y las fichas de letra fueron construidas en el taller de madera del
Director del Proyecto. Los números fueron impresos en papel de colores y pegadas con Contac transparente.
8
ESCENARIOS DE APRENDIZAJE PARA ALGORITMOS DE ORDENAMIENTO.
Proyecto de Grado. 2004-II – 2005-I. Facultad de Ingeniería de Sistemas.
Escuela Colombiana de Ingeniería “Julio Garavito”.
Algoritmo de Selección
PAO
4.5 Ficha Técnica.
FICHA TÉCNICA
Referencia
PAO
Número
01
Escuela Colombiana de Ingenieria “Julio Garavito”.
Facultad de Ingeniería de
Centro de Estudios de
Sistemas.
Informática Educativa
Información Desarrolladores del Proyecto
Nombre del Proyecto
Escenario de Aprendizaje para Algoritmos de Ordenamiento
Director del Proyecto
Mat. Raúl Alfredo Chaparro Aguilar.
Asistentes de
Nancy Carolina Beltrán Cubillos.
Investigación
Alfredo Estrada Villegas.
Características del Modelo
Nombre del Modelo
Modelo para Algoritmo de Ordenamiento Burbuja.
Materiales
Madera, pegante, papel de colores, contac.
Tamaño
Tamaño Soporte de Madera:
Tamaño Casillas Soporte de Madera:
Tamaño Fichas de Cubrimiento:
Tamaño Fichas de Letra:
Cantidad Fichas
1 Soporte de Madera.
Fichas de Cubrimiento.
Fichas de Número.
Costos:
9
ESCENARIOS DE APRENDIZAJE PARA ALGORITMOS DE ORDENAMIENTO.
Proyecto de Grado. 2004-II – 2005-I. Facultad de Ingeniería de Sistemas.
Escuela Colombiana de Ingeniería “Julio Garavito”.
Algoritmo de Selección
PAO
5. MODELOS VIRTUALES.
Al igual que para el modelo físico, para este algoritmo de ordenamiento se diseñaron y construyeron creativamente
modelos virtuales cuyo propósito es ayudar a las personas interesadas en este, a comprenderlo de manera natural,
de forma que interactuando con el modelo y realizando los talleres comprenda mejor el algoritmo de Burbuja y
conceptos asociados; haya jugado o no con el modelo físico construido, conozca o no el algoritmo.
El desarrollo de los modelos virtuales fue enmarcado por la disciplina de la Ingeniería de Software y por la de los
Escenarios de Aprendizaje. (Sí desea ver información al respecto, remítase al documento de Alcance del Proyecto).
Vale la pena anotar que este algoritmo tiene sus propios modelos físicos y virtuales, pero los modelos generales
(modelo físico masivo, modelos de exposición, modelos virtuales generales como el ordenamiento por barras),
permiten jugar para aprender este algoritmo.
5.1 Historia, Evolución de los Modelos.
Los Modelos virtuales se trabajaron y evolucionaron con base en las versiones estables de cada uno de los modelos
físicos, con los que se espera abordar todos los conceptos del modelo físico, que fuera fácil la interacción con los
usuarios y que mejorará las posibles falencias de los modelos físicos. Se buscó que fueran tanto manuales como
automáticos. El primer modelo virtual que se creó fue para este algoritmo en la primera etapa del proyecto y fue
codificado en Flash. En la segunda etapa, se crearon los Modelos Virtuales en Prolog y Java.
Como ya se ha mencionado, la metodología utilizada para los modelos es la que designa la Disciplina de la
Ingeniería de Software y la dada por los proyectos de Escenarios de Aprendizaje. Sí se desea ver la metodología y
estándares utilizados, remítase al documento de Alcance del Proyecto.
5.2 Conceptos que Maneja.
Los Modelo Virtuales de este Algoritmo Maneja los mismos conceptos que el Modelo Físico.
5.3 Manual de Uso / Talleres de Uso
Al igual que el modelo físico, se presenta a continuación los talleres y usos de los modelos virtuales construidos para
este algoritmo.
5.3.1 Modelo Codificado en JAVA
El modelo propuesto trata de simular el modelo físico. Al igual que este, es basado en Números. Es para jugar de
manera Manual, es decir el usuario interactúa con cada ficha para ordenar.
5.3.2 Modelo Codificado en Prolog.
Este Modelo permite jugar con números y muestra la esencia del algoritmo Burbuja, teniendo en cuenta que se
pueda aprender y conjeturar con el modelo.
10
ESCENARIOS DE APRENDIZAJE PARA ALGORITMOS DE ORDENAMIENTO.
Proyecto de Grado. 2004-II – 2005-I. Facultad de Ingeniería de Sistemas.
Escuela Colombiana de Ingeniería “Julio Garavito”.
Algoritmo de Selección
PAO
6. VENTAJAS DE LOS MODELOS SOBRE MODELOS FÍSICOS Y VIRTUALES EXISTENTES Y SOBRE LOS
CONSTRUIDOS.
En general la mayor ventaja de los modelos aquí descritos y de los que conforman el escenario, es que no existen en
el mercado, son completamente novedosos y producto de la creatividad e ingenio de los desarrolladores del
proyecto, para que los algoritmos de ordenamiento se aprendan jugando y el concepto sea tomado por cada usuario
de manera significativa.
Los modelos han sido mejorados a lo largo del proyecto, de acuerdo con los conceptos que se necesitan que los
usuarios manipulen, a los comentarios, sugerencias y correcciones tanto de los Revisores de Colegas, personas
conocedoras del tema y usuarios que no tienen conocimientos al respecto, porque para los desarrolladores del
proyecto lo más importante son los usuarios, por lo que cada comentario de ellos fue relevante al proyecto, se tuvo
en cuenta, se estudio sí era necesario, fácil y cómo se llevaría a cabo.
Otra ventaja es que el Escenario fue construido enfocado al grupo de Programación de Computadores 3 de la
Facultad de Ingenieria de Sistemas de la Escuela Colombiana de Ingeniería, quienes son los que ven dentro del
programa del curso este tema pero sin dejar a un lado que fuera funcional para personas de cualquier edad. Un niño
que no sepa contar puede aprender a ordenar con los modelos del Escenario de Aprendizaje. Así mismo una
persona muy experta en el tema puede conjeturar con los modelos y darse cuenta de cosas nuevas o de conceptos
que antes de usar los modelos no le era tan natural y a los estudiantes le permite el auto-aprendizaje y se asegura
que lo aprendido con los modelos no se olvida.
Aunque el Alcance del Proyecto estipula que se manejaran los algoritmos de mayor enseñanza en el aula, sin tener
planeado realizar modelos para el Algoritmo de Inserción, los modelos construidos para el proyecto permiten jugar
para aprender este algoritmo, con lo se demuestra que los modelos del Escenario son fácilmente adaptables a los
algoritmos existentes.
En cuanto a las ventajas del modelo Físico de Burbuja contra los demás modelos del Escenario de Aprendizaje es
que su manipulación es muy sencilla, aunque es un modelo pequeño se puede ver realmente el funcionamiento del
algoritmo. Los demás modelos virtuales son iguales a los construidos por los demás algoritmos.
11
ESCENARIOS DE APRENDIZAJE PARA ALGORITMOS DE ORDENAMIENTO.
Proyecto de Grado. 2004-II – 2005-I. Facultad de Ingeniería de Sistemas.
Escuela Colombiana de Ingeniería “Julio Garavito”.
Algoritmo de Selección
PAO
7. REFERENCIAS BIBLIOGRÁFICAS.
DEITEL, M.:, DEITEL, PJ. Como Programar en C/ C++. Segunda Edición. Prentice Hall
HIDALGO, Juan. Algoritmos de Ordenamiento. Diciembre de 2001.
Otras Referencias Consultadas:
www.monografias.com
www.lawebdelprogramdor.com
www.is.escuelaing.edu.co
http://mailweb.udlap.mx/~sainzmar/is211/algoritSeleccion.html
http://mailweb.udlap.mx/~sainzmar/is211/AlgoritmosOrden.html
http://rinconprog.metropoliglobal.com/CursosProg/ProgGen/Estr_Datos/index.php?cap=2b
http://www.dcc.uchile.cl/~lmateu/CC10A/Apuntes/ordenamiento/
12
ESCENARIOS DE APRENDIZAJE PARA ALGORITMOS DE ORDENAMIENTO.
Proyecto de Grado. 2004-II – 2005-I. Facultad de Ingeniería de Sistemas.
Escuela Colombiana de Ingeniería “Julio Garavito”.
Descargar