Inhaltsverzeichnis:
- Schritt 1: Ordenar Listas?
- Schritt 2: Algoritmo "Bubble Sort" Ordenamiento De Burbuja
- Schritt 3: El Algoritmo En El Circuit Spielplatz
- Schritt 4: Funcionando Y Reto
Video: Kit Ciencia Y Arte: Ordenando Listas (Bubble Sort) - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
En el mundo de las ciencias de la computación, sabre ordenar listas es como sabre escribir. Es ist eine 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 no es la mejor en una computadora. Acá explico uno de los algoritmos más cnocidos de comutación que es el "Bubble Sort", y explicaré con detalle en queconsiste
Este Instructable, rücksichtsvoll 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…
Schritt 1: Ordenar Listas?
Hoy en day usamos la computadora und todas las cosas. Los teléfonos hoy en día son practicamente super Computadoras. Mientras las Computadoras toman datos, se construyen listas de datos. Una lista de datos es un conjunto de datos como este:
{Tomás, Abraham Carolina, Matias, Maria, Marcela}
Es una lista de nombres. Ahora bien, en muchas ocasiones, necesitamos ordenarlos, es decir acomodar la lista en un orden special, por ejemplo de mayor a menor o viceversa, o en orden alfabético.
¿Porqué ordenarlos? Veamos el ejemplo de la lista de nombres de la imagen. Es ist eine große Liste, si les pido busquen el nombre IRENE, en ¿cual lista es más fácil? de la ordenada verdad? bueno por eso mismo ordenar listas de datos es algo extremadamente Importante en una computadora, pera luego poder usar los datos de forma efectiva.
Como los ordeno? pasemos al siguiente paso
Schritt 2: Algoritmo "Bubble Sort" Ordenamiento De Burbuja
Si tengo una lista de números, o nombres, Cómo las puedo ordenar? Existen muchas maneras de hacerlo, acá les voy a 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 una idea sescribe como un algoritmo, y luego se beschreiben como un programa de computadora. Además, creo que ve super bonito und el Circuit Spielplatz.
La Idee
La idea del Bubble Sort, es la de burbujas flotando, si ha dos burbujas y una es más grande que la otra, la más liviana pasa a la más pesada, y así se van acomodando… es muy ähnlich a tener una caja de piedras de diferentes tamaños, si las sacudo por suficiente tiempo, las más pesadas se van al fondo und las livianas se quedan arriba.
El Algoritmo
Los pasos del algoritmos Sohn:
- Tenemos una lista de 1 a n elementos
- Comenzar por el 1
- Preguntar si el número en la posición current es mayor que el de la posición siguiente
- Sie bürgermeister cambiarlos, sino, dejarlos igual
- Mover una posición
- Si es el n, entonces marcar n-1 cómo el último y volver a 2
- Sino, Volver a 3
- Si el marcado como último es igual al primeo, entonces terminar
En Acción
Como ven a veces escribir un algoritmo es algo confuso, por eso vean el video explico cual es el concepto y funcionamiento detrás del algoritmo con unejemplo sencillo.
Schritt 3: El Algoritmo En El Circuit Spielplatz
El Código básico
Veamos primeo una versión del algoritmo, sin agregarla nada de luces oder sonido:
Byte-Nummern[9]; // Arreglo que contiene los numeros
int i, j; // Iteradores
//Algoritmo bubbleSort
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 = Zahlen[j]; Zahlen[j] = Zahlen[j + 1]; Zahlen[j + 1] = f; } } } }
Como ven primeo creamos un arreglo de byte, en este caso lo llamamos Zahlen[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 Prinzipal, vean las línea:
für (i = 0; i <= 9; i++){ für (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 en el video, por cada iteración sabemos que el ultimo numero ya es el mayor.
Dentro de esos iteradores, se hace la pregunta:
if (Zahlen[j] <= Zahlen[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. Vánlo en estas trés líneas de código:
float f = Zahlen[j]; //zeitlich
Zahlen[j] = Zahlen[j + 1]; Zahlen[j + 1] = f;
Descargar el Circuit Spielplatz
Elecodigo completo auf Github, einschließlich todo lo necesario para general unevo arreglo aleatorio con numeros de 0 a 255, y para usar el numero como cantidad de rojo, para prender los LEDs. Ustedes lo pueden modificar para que haga más cosas como sonidos usw.
Schritt 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 (Schnellsortierung, Zusammenführungssortierung)
- Medir que tan rápido resuelve e arduino, colocando cada vez más elementos und el arreglo y medir cuanto tarda, ¿Es lineal?
Empfohlen:
Kennenlernen des "Professional ILC8038 Function Generator DIY Kit": 5 Schritte
Kennenlernen des "Professional ILC8038 Function Generator DIY Kit": Auf der Suche nach neuen Elektronikprojekten bin ich auf ein süßes kleines Funktionsgenerator-Kit gestoßen. Es wird als „Professional ILC8038 Function Generator Sine Triangle Square Wave DIY Kit“bezeichnet und ist bei einer Reihe von Anbietern erhältlich
Raspberry Pi Web Stream Kit - Teil 1: 5 Schritte
Raspberry Pi Web Stream Kit - Teil 1: Hier ist ein einfaches, aber etwas hässliches Kamera-Kit, das ich zusammengestellt habe, um Schulveranstaltungen wie ein Qualifikationsturnier der FIRST LEGO League zu unterstützen. Der Zweck besteht darin, ein einzelnes Drop-In-Kit zu ermöglichen, das 4 Webstreams an einen externen Computer liefert. Nein
So installieren Sie das Robo Recall Mod Kit (2019 Launcher): 4 Schritte
So installieren Sie das Robo Recall Mod Kit (2019 Launcher): Mit der Veröffentlichung des Epic Games Store und den Auswirkungen von Spielen wie Fortnite hat der Launcher von Epic Games 2018 und 2019 einige ziemlich große Änderungen vorgenommen auswählbare Kategorien für die normale Entwicklung (unter Verwendung der Basisun
Eine Papierlaterne mit Ihrem elektrischen Farblampen-Kit herstellen: 7 Schritte
So stellen Sie eine Papierlaterne mit Ihrem elektrischen Farblampen-Kit her: In diesem Tutorial zeigen wir Ihnen, wie Sie Ihr elektrisches Farblampen-Kit hacken, um eine Papierlaterne herzustellen. Für dieses Tutorial haben wir die Kerzenlichteinstellung verwendet, einen der zusätzlichen Modi des Light Up Boards. Alles, was Sie für dieses Tutorial brauchen, ist eine Karte, die El
GPIO-ARM-MONTAGE - T.I. LERN-KIT FÜR ROBOTIKSYSTEME - LAB 6: 3 Schritte
GPIO-ARM-MONTAGE - T.I. ROBOTICS SYSTEM LEARNING KIT - LAB 6: Hallo, In einer früheren Anleitung zum Erlernen der ARM-Montage mit dem Texas Instruments TI-RSLK (verwendet den MSP432-Mikrocontroller), auch bekannt als Lab 3, wenn Sie die T.I. Natürlich gingen wir einige sehr grundlegende Anweisungen durch, wie das Schreiben in ein Register