Përmbajtje:

Kit Ciencia Y Arte: Ordenando Listas (Renditje në flluska): 4 hapa
Kit Ciencia Y Arte: Ordenando Listas (Renditje në flluska): 4 hapa

Video: Kit Ciencia Y Arte: Ordenando Listas (Renditje në flluska): 4 hapa

Video: Kit Ciencia Y Arte: Ordenando Listas (Renditje në flluska): 4 hapa
Video: When New York's Most Dangerous Waterway was Bridged (The History of Hell Gate Bridge) 2024, Nëntor
Anonim
Kit Ciencia Y Arte: Ordenando Listas (Bubble Sort)
Kit Ciencia Y Arte: Ordenando Listas (Bubble Sort)

Në të gjitha mundësitë e përdorimit të kompjuterit, lista e urdhrave të zakonshëm është një përshkrim saber. 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 no es la mejor en una computadora. Acá explico uno de los algoritmos mán cnocidos de comutación que es el "Renditja e flluskave", dhe shpjegimi i detalit në atë që përbëhet

Este Instructable, duke marrë parasysh që është AVANZADO, por nuk ka nevojë të kalojë disa vështirësi në retos, pasi nuk ka ekspertë ose ekspertë pa import, nuk ka qëllim…

Hapi 1: ¿Ordenar Lista?

List Lista Ordenar?
List Lista Ordenar?

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 konstruktojnë listat e të dhënave. Lista e të dhënave nuk është e lidhur me këto të dhëna:

{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, për shembull, nga kryetari i bashkisë ose menors oversversa, o en orden alfabético.

¿Porqué ordenarlos? Veamos el ejemplo de la lista de nombres de la imagen. Es una lista larga, si les pido busquen el nombre IRENE, lista përfundimtare e más fácil? en la ¿ordenada verdad? bueno por eso mismo ordenar listas de datos es algo extremadamente importante un una computadora, nga faqja kryesore e përdorimit të të dhënave nga forma efektive.

Cómo los ordeno? pasemos al siguiente paso

Hapi 2: Algoritmo "Bubble Sort" Ordenamiento De Burbuja

Image
Image

Si të njiheni me listën e emrave, nëse nuk jeni, ¿Cómo las puedo ordenar? Ekzistojnë shumë mënyra për të vepruar, për shembull, për të sqaruar la que la llama "Renditja e flluskave", nuk ka të dhëna, nuk ju pëlqen të përdorni një detyrë, por si es un buen ejemplo de como una idea se escribe como un algoritmo, y luego se përshkruani programin e kompjuterit. Për më tepër, krijoni një super përfitim në shesh lojërash në qark.

La Idea

La ide 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 similar a 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.

El Algoritmo

Los Pasos del algoritmos biri:

  1. Tenemos una lista de 1 a n elementos
  2. Comenzar por el 1
  3. Preguntar si el número en la posición aktual es kryetar bashkie në el posa posición siguiente
  4. Si es kryetar cambiarlos, sino, dejarlos igual
  5. Lëvizës una posición
  6. Si es el n, entonces marcar n-1 cómo el imoltimo y volver a 2
  7. Sino, Volver a 3
  8. Si el marcado como último es igual al primero, entonces terminal

Në Acción

Ju mund të përshkruani një algoritmo të madhe të konfuzionit, por edhe për një video të qartë të konceptit dhe funksionalitetit të detajuar të algoritmo -s tuaj.

Hapi 3: Sheshi i lojërave El Algoritmo En El Circuit

El Código básico

Veamos primero una versión del algoritmo, sin agregarla nada de luces o sonido:

numrat e bajtit [9]; // Arreglo que contiene los numeros

int i, j; // Iteradores

// Algoritmo flluskëSort

lak void () {për (i = 0; i <= 9; i ++) {për (j = 0; j <= 9 - i; j ++) {nëse (numrat [j] <= numrat [j+1]) {// cambia posición de números noton f = numrat [j]; numrat [j] = numrat [j + 1]; numrat [j + 1] = f; }}}}

Como ven primero creamos un arreglo de byte, en este caso lo llamamos numrat [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.

Drejtori kryesor i lakut, për shembull:

për (i = 0; i <= 9; i ++) {pë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. Për më tepër, primero va de 0 a 9, luego de 0 a 9-1, luego de 0 a 9-2. Për më tepër ju mund të shikoni një video tjetër, por mund të shikoni sabemos në fund të numrit të kryetarit të bashkisë.

Dentro de esos iteradores, se hace la pregunta:

nëse (numrat [j] <= numrat [j + 1])

Eshte e vendosur si një siguiente es menor o entonces igual debemos cambiarlo. Para cambiarlo hay que hacer un "swap" është e vendosur në të njëjtën kohë me një vlerë të caktuar, ruajtur në një kohë të ndryshueshme, si një vlerë e re, ju do të përdorni një kohë të caktuar në pozicionin e arreglo. Vánlo en estas trés líneas de código:

noton f = numrat [j]; // i përkohshëm

numrat [j] = numrat [j + 1]; numrat [j + 1] = f;

Shkarkoni Sheshin e Lojërave në Circuit

Përfunduar në Github, përfshini atë që ju nevojitet për një gjeneratë të re dhe një sistem të ri të përdorimit nga 0 në 255, dhe për shembull, duke përdorur një numër të madh të kandidatëve për përdorim, për të bërë para LEDs. Ustedes lo pueden modificar para que haga más cosas como sonidos, etj.

Hapi 4: Funksioni Y Reto

Për një video además le agregué sonido, eso se los dejo de reto a ustedes.

Retos

  1. Agregar sonido
  2. Programar otros algoritmos de ordenamiento (Renditja e shpejtë, Renditja e bashkimit)
  3. Medir que tan rápido resuelve e arduino, colocando cada vez más elementos en el arreglo y medir cuanto tarda, ¿Eshtë lineare?

Recommended: