Cov txheej txheem:
- Kauj Ruam 1: ¿Ordenar Listas?
- Kauj Ruam 2: Algoritmo "Bubble Sort" Ordenamiento De Burbuja
- Kauj Ruam 3: El Algoritmo En El Circuit Chaw Ua Si
- Kauj ruam 4: Funcionando Y Reto
Video: Cov Khoom Siv Ciencia Y Arte: Ordenando Listas (Npuas Hom): 4 Cov Kauj Ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:29
En el mundo de las ciencias de la computación, saber ordenar listas es como saber escribir. Es una buena manera de ver como los algoritmos tus tub 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 que consiste
Este Instructable, txiav txim siab 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 …
Kauj Ruam 1: ¿Ordenar Listas?
Hoy en día usamos la computadora en todas las cosas. Los teléfonos hoy en día son prácticamente super computadoras. Mientras las computadoras toman datos, se construyen listas de datos. Una lista de datos es un conjunto de datos como yog:
{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 particular, por ejemplo de mayor a menor o viceversa, o en orden alfabético.
Puas yog Porqué ordenarlos? Veamos el ejemplo de la lista de nombres de la imagen. Es una lista larga, si les pido busquen el nombre IRENE, enlual lista es más fácil? nyob rau hauv ¿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.
¿Cómo los ordeno? pasemos al siguiente paso
Kauj Ruam 2: Algoritmo "Bubble Sort" Ordenamiento De Burbuja
Si tengo una lista de números, o nombres, ¿Cómo las puedo ordenar? Tseem muaj muchas maneras de hacerlo, acá les voy a explicar la que se llama "Bubble Sort", tsis muaj es de las más rápidas, de hecho puede que hiav txwv de las peores, pero si es un buen ejemplo de como una 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 chaw ua si.
La Tswv Yim
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 zoo ib yam li tener una caja de piedras de diferentes tamaños, si las sacudo por suficiente tiempo, las más pesadas se van al fondo y las livianas se quedan arriba.
Ntsib neeg Algoritmo
Los pasos del algoritmos tus tub:
- Tenemos una lista de 1 a n elementos
- Comenzar por el 1
- Preguntar si el número en la posición tus kav nroog tiag que el de la posición siguiente
- Si es mayor cambiarlos, sino, dejarlos igual
- Mover ib qho posición
- Si es el n, entonces marcar n-1 cómo el último y volver a 2
- Sino, Volver ib 3
- Si el marcado como último es igual al primero, entonces terminar
Hauv 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 un ejemplo sencillo.
Kauj Ruam 3: El Algoritmo En El Circuit Chaw Ua Si
Ntsib cov neeg El Código
Veamos primero una versión del algoritmo, ua txhaum kev pom zoo nada de luces o sonido:
byte tus lej [9]; // Arreglo que contiene los lejeros
int kuv, j; // Iteradores
// Algoritmo bubbleSort
void loop () {rau (i = 0; i <= 9; i ++) {rau (j = 0; j <= 9 - i; j ++) {yog (lej [j] <= lej [j+1]) {// cambia posición de números ntab f = lej [j]; zauv [j] = zauv [j + 1]; zauv [j + 1] = f; }}}}
Como ven primero creamos un arreglo de byte, en este caso lo llamamos tus lej [9]. Es un arreglo de 10 números (de 0 a 9), de tus lej lej tipo byte. Tambi'en creamos dos iteradores i y j. Estos tus tub los que vana recorrer el arreglo.
En el loop tus thawj xibfwb, vean las línea:
rau (i = 0; kuv <= 9; kuv ++) {rau (j = 0; j <= 9 - kuv; 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, yog li no pregunta:
yog tias (tus lej [j] <= tus lej [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. Lub tsev kawm ntawv qib siab lossis tsev kawm qib siab:
ntab f = lej [j]; // lub sijhawm
zauv [j] = zauv [j + 1]; zauv [j + 1] = f;
Rub tawm El Circuit Playground
El código completo en Github, suav nrog todo lo necesario para generar un nuevo arreglo aleatorio con números 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, thiab lwm yam.
Kauj ruam 4: Funcionando Y Reto
En el video además le agreegué sonido, eso se los dejo de reto a ustedes.
Retos
- Agregar sonido
- Programar otros algoritmos de ordenamiento (Sort Quick, Merge Sort)
- Medir que tan rápido resuelve e arduino, colocando cada vez más elementos en el arreglo y medir cuanto tarda, Es lineal?
Pom zoo:
Hloov-Hloov Cov Khoom Ua Si: Cov Khoom Ua Si Cov Khoom Ua Si Ua Tau Zoo!: 7 Cov Kauj Ruam (nrog Duab)
Hloov-Hloov Cov Khoom Ua Si: Cov Khoom Siv Hluav Taws Xob Ua Tau Zoo!: Qho khoom ua si hloov pauv qhib txoj hauv kev tshiab thiab kev daws teeb meem kom tso cai rau menyuam yaus uas muaj lub cev muaj peev xwm txwv lossis kev xiam oos qhab kev loj hlob los cuam tshuam nrog cov khoom ua si ntawm nws tus kheej. Hauv ntau qhov xwm txheej, cov menyuam yaus uas xav tau cov khoom ua si hloov pauv tsis tuaj yeem nkag mus
DIY Ua Npuas Ncauj Teeb - Yooj Yim thiab Pheej Yig Diwali Decor Lub Tswv Yim Siv Cov Npuas Ua Npuas Ncauj: 4 Kauj Ruam
DIY Ua Npuas Ncauj Teeb | Yooj Yim thiab Pheej Yig Diwali Decor Lub Tswv Yim Siv Cov Npuas Ua Npuas Ncauj: Hauv kab ntawv no, peb yuav tham txog txoj haujlwm rau Diwali Kev Ua Kev Zoo Siab ntawm pob nyiaj siv. Kuv vam tias koj yuav nyiam qhov kev qhia no
Lub Hom Phiaj Taw Qhia: Tsim Lub Hom Phiaj Kawm/Qhia Txoj Kev/Cov Txheej Txheem Siv Cov Duab Puncher: 5 Kauj Ruam
Lub Hom Phiaj Taw Qhia: Tsim Lub Hom Phiaj Kawm/Qhia Txoj Kev/Cov Qauv Siv Cov Duab Puncher: Kawm/qhia txoj hauv kev rau cov tub ntxhais kawm tshiab rau kev tsom mus rau lub hom phiaj. Nov yog txoj hauv kev tso cai rau lawv kom pom kev thiab pom cov txheej txheem ntawm kev tsim cov khoom los ntawm cov chav kawm. EkTools 2-nti loj punch; cov duab zoo tshaj plaws. 2. Daim ntawv los yog c
FoldTronics: Tsim 3D Lub Hom Phiaj Nrog Cov Khoom Siv Hluav Taws Xob Siv Foldable HoneyComb Cov Qauv: 11 Cov Kauj Ruam
FoldTronics: Tsim 3D Lub Hom Phiaj Nrog Cov Khoom Siv Hluav Taws Xob Siv Foldable HoneyComb Cov Qauv: Hauv qhov kev qhia no, peb nthuav tawm FoldTronics, 2D-txiav raws li txheej txheem kev tsim khoom los ua ke cov khoom siv hluav taws xob rau hauv cov khoom 3D. Lub tswv yim tseem ceeb yog txhawm rau txiav thiab nthuav tawm daim ntawv 2D siv lub tshuab txiav txiav los ua kom nws tig tau mus rau hauv 3D honeycomb struc
Rov Siv Cov Khoom Siv Yas Zib Zib Zib Zib Hnab Rau Hauv Cov Chaw Muag Khoom Chaw Muag Khoom: 6 Kauj Ruam
Reuse Recycle Plastic Chewing Gum Cannister Into Solder Station Dispenser: Cov lus qhia no yuav qhia koj yuav ua li cas siv cov yas zom zom tuaj yeem ua kom khaws cov kab laug sab zoo thiab huv. Qhov no yuav ua haujlwm ntawm lwm yam khoom siv spooled thiab; Txoj hlua, Hlau, Cables