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”.