Inhoudsopgave:
- Stap 1: ¿Gewone lijsten?
- Stap 2: Algoritmo "Bubble Sort" Ordenamiento De Burbuja
- Stap 3: El Algoritmo En El Circuit Speeltuin
- Stap 4: Funcionando Y Reto
Video: Kit Ciencia Y Arte: Ordenando Listas (Bubble Sorteren): 4 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
En el mundo de las ciencias de la computación, saber ordernar listas es como saber escribir. Es una buena manera de ver como los algoritmos son una manera de hacer las cosas en una computadora, y que la forma directa de hacer algo es la mejor en una computadora. Een expliciete verklaring voor het oplossen van problemen met betrekking tot "Bubble Sort", en een verklaring voor de samenstelling ervan
Este Instructable, consideraría que es AVANZADO, pero no hay nada como los retos difíciles, así que si no eres experto o experta no importa, haz el intento igual…
Stap 1: ¿Gewone lijsten?
Hoy en día usamos la computadora en todas las cosas. Los telefonos hoy en día son prácticamente super computadoras. Mientras las computadoras toman datos, se construyen listas de datos. Maak een lijst van gegevens en voeg samen met de volgende gegevens toe:
{Tomas, Abraham Carolina, Matias, Maria, Marcela}
Es una lista de nombres. Ahora bien, en veel ocasiones, necesitamos ordernarlos, es decir acomodar la lista en un orden particular, por ejemplo de mayor a menor o vice versa, o en orden alfabético.
Porque ordenarlos? Veamos el ejemplo de la lista de nombres de la imagen. Es una lista larga, si les pido busquen el nombre IRENE, en ¿cual lista es más fácil? en la ordenada verdad? bueno por eso mismo orderar listas de datas es algo extremadamente importante en una computadora, pera luego poder usar loss data de forma efectiva.
Cómo los ordeno? pasemos al siguiente paso
Stap 2: Algoritmo "Bubble Sort" Ordenamiento De Burbuja
Si tengo una lista de números, o nombres, ¿Cómo las puedo ordernar? Bestaan veel als maneras de hacerlo, zoals een explicar la que se llama "Bubble Sort", no es de las más rápidas, de hecho puede que sea de las peores, pero si es un buen ejemplo de como un idea se escribe como un algoritmo, y luego se escribe como un programa de computadora. Además, creo que ve super bonito en el circuit speeltuin.
Het idee
Het idee van Bubble Sort, en de burbujas flotando, is een van de vele grotere que la otra, la meer liviana pasa a la meer pesada, y así se se van acomodando… es muy gelijkaardig een tener una caja de piedras de diferentes tamaños, si las sacudo por suficiente tiempo, las meer pesadas se van al fondo y las livianas se quedan arriba.
El Algoritmo
Los pasos del algoritmos zoon:
- Tenemos una lista de 1 a n elementos
- Komenzar door el 1
- Preguntar el número en la posición actual es mayor que el de la posición siguiente
- Si es burgemeester cambiarlos, sino, dejarlos igual
- Mover op een positie
- Si es el n, entonces marcar n-1 cómo el último y volver a 2
- Chinees, Volver een 3
- Si el marcado como último es igual al primero, entonces terminar
En Acción
Como ven a veces escribir and algoritmo confuso, por eso vean el video explicico es el concepto y funcionamiento detras del algoritmo con un ejemplo sencillo.
Stap 3: El Algoritmo En El Circuit Speeltuin
El Código basico
We hebben een eerste versie van het algoritmo, sin agregarla nada de luces o sonido:
byte nummers [9];//Arreglo que contiene los numeros
int i, j;//Iteradores
//Algoritmo bubbleSorteren
void loop() { for (i = 0; i <= 9; i++) { for (j = 0; j <= 9 - i; j++) { if (numbers[j] <= numbers[j + 1]) { // cambia posición de números float f = getallen [j]; getallen[j] = getallen[j + 1]; getallen [j + 1] = f; } } } }
Como ven primero creamos un arreglo de byte, en este caso lo llamamos numbers[9]. Es un arreglo de 10 números (de 0 a 9), de numero tipo byte. Tambi'en creamos dos iteradores i y j. Estos son los que vana recorrer el arreglo.
En el loop principal, vean las line:
voor (i = 0; i <= 9; i++){ voor (j = 0; j <= 9 - i; j++) { } }
Que i recorre todo el arreglo de 0 a 9. Dentro de esta j, noten como va de 0 a 9-i. Es decir, primero va de 0 a 9, luego de 0 a 9-1, luego de 0 a 9-2. Esto porque como se ve el video, por cada iteración sabemos que el ultimo ya es el mayor.
Dentro de esos iteradores, se hace la pregunta:
if (getallen[j] <= cijfers[j + 1])
Es decir si el siguiente es menor o igual entonces debemos cambiarlo. Para cambiarlo hay que hacer un "swap" es decir tomar el valor del arreglo, guardarlo en una variable temporal, asignárle el nuevo valor, y luego en temporal al la siguiente posición del arreglo. Bekijk de volgende lijnen van de codigo:
float f = getallen [j]; //tijdelijk
getallen[j] = getallen[j + 1]; getallen [j + 1] = f;
Download el Circuit Playground
El codigo completo en Github, incluye todo lo necesario para algemene un nuevo arreglo aleatorio con números de 0 a 255, y para usar el como cantidad de rojo, para prender los LEDs. Ustedes lo pueden modificar para que haga más cosas como sonidos, etc.
Stap 4: Funcionando Y Reto
En el video además le agregué sonido, eso se los dejo de reto a ustedes.
Retos
- Agregar sonido
- Programar otros algoritmos de ordenamiento (Quick Sort, Merge Sort)
- Medir que tan rápido resuelve en arduino, colocando cada vez más elementos en el arreglo y medir cuanto tarda, ¿Es lineal?
Aanbevolen:
Bellen sorteren in batch!: 4 stappen
Bubble Sort in Batch!: Ooit afgevraagd om een eenvoudig sorteeralgoritme in pure batch te maken? Maak je geen zorgen, het is zo simpel als taart! Dit toont ook het proces van het sorteren. (Opmerking: ik heb dit op een Windows XP-computer gemaakt, dus sommige code werkt mogelijk niet. Ik weet het echter niet zeker. Sorry…)
Kit Ciencia Y Arte: Cómo Cargar Código Al Speeltuin - Ajarnpa
Kit Ciencia Y Arte: Cómo Cargar Código Al Speeltuin: Acácute; explicamos como se "sube" el código. EL código de cada proyecto está en cada instructable, sin embargo puede download todo el código en el GitHub
Sorteren van robotparels: 3 stappen (met afbeeldingen)
Robotic Bead Sorting: In dit project zullen we een robot bouwen om Perler-kralen op kleur te sorteren. Ik heb altijd al een kleursorteerrobot willen bouwen, dus toen mijn dochter geïnteresseerd raakte in het maken van Perler-kralen, zag ik dit als een perfecte kans .Perler kralen worden gebruikt om
PhantomX Pincher Kleur Sorteren: 4 Stappen
PhantomX Pincher Color Sorting: Inleiding Deze instructable is gemaakt door 2 studenten Automatisering Engineering, van UCN (Denemarken). De instructable illustreert hoe men een PhantomX Pncher kan gebruiken om de dozen op kleur te sorteren met behulp van een CMUcam5 Pixy en ze te stapelen. Deze applicatie
Kit Ciencia Y Arte: Algoritmo Genetico (Vida Artificial): 6 stappen
Kit Ciencia Y Arte: Algoritmo Genético (Vida Artificial): Los algoritmos genéticos son probablemente una de las cosas más interesantes de la computación (en mi mening). Básicamente se toma la idea de evolución de la biología, y se aplica a un algoritmo en u