Სარჩევი:

Kit Ciencia Y Arte: ორდენანდო ლისტასი (ბუშტის დახარისხება): 4 ნაბიჯი
Kit Ciencia Y Arte: ორდენანდო ლისტასი (ბუშტის დახარისხება): 4 ნაბიჯი

ვიდეო: Kit Ciencia Y Arte: ორდენანდო ლისტასი (ბუშტის დახარისხება): 4 ნაბიჯი

ვიდეო: Kit Ciencia Y Arte: ორდენანდო ლისტასი (ბუშტის დახარისხება): 4 ნაბიჯი
ვიდეო: CS50 2014 - Week 3, continued 2024, ივლისი
Anonim
Kit Ciencia Y Arte: ორდენანდო ლისტასი (ბუშტუკების დახარისხება)
Kit Ciencia Y Arte: ორდენანდო ლისტასი (ბუშტუკების დახარისხება)

საბაზისო კომპიუტერული სისტემების გამოყენებისას, saber ordenar 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 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 შედგება

ეს არის ინსტრუქცია, რომელიც ითვალისწინებს AVANZADO- ს, მაგრამ არ ვიცი, რაში მდგომარეობს სხვა სირთულეები, რადგან არ არსებობს ექსპერტი ან ექსპერტი, რომელიც არ არის მნიშვნელოვანი, არ არის მიზანმიმართული…

ნაბიჯი 1: rd ორდენარ სიები?

Rd ორდენარ სიები?
Rd ორდენარ სიები?

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. მონაცემების ჩამონათვალი არ არის დაკავშირებული ამ მონაცემებთან:

{ტომასი, აბრაამ კაროლინა, მათიასი, მარია, მარსელა}

ნომრების ჩამონათვალია. Ahora bien, en muchas ocasiones, necesitamos ordenarlos, es decir acomodar la lista en un orden taybetî, for 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 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 ordenar listas de datos es algo extremadamente importante un una computadora, pera luego poder usar los datos de forma efectiva.

¿კომო ლოს ორდენო? pasemos al siguiente paso

ნაბიჯი 2: Algoritmo "Bubble Sort" Ordenamiento De Burbuja

Image
Image

რა არის ჩამონათვალი de números, o nombres, ¿Cómo las puedo ordenar? არსებობს 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 იდეა se es escribe como un algoritmo, y luego se escribe como un programa de computadora. უფრო მეტიც, თქვენ შექმენით სუპერ ბონუს წრიული მოედანი.

ლა იდეა

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.

ელ ალგორითმო

Los pasos del algoritmos შვილი:

  1. Tenemos una lista de 1 და n elementos
  2. Comenzar por el 1
  3. Preguntar si el número en la posición ფაქტობრივი მერი, რომელიც ელ არის la posición siguiente
  4. Si es Mayor cambiarlos, sino, dejarlos igual
  5. გადაადგილდით პოზიციონიდან
  6. როგორც ეს არის ელ, entarces marcar n-1 cómo el último y volver a 2
  7. სინო, ვოლვერი 3
  8. როგორც el marcado como último es igual al primero, entonces ტერმინალი

Acción

Como ven veces escribir un algoritmo es algo confuso, მაგრამ ასევე ამ ვიდეოში შესაძლებელია გამოვიყენოთ კონცეფციისა და ფუნქციის დეტალური დეტალური აღწერა.

ნაბიჯი 3: El Algoritmo En El Circuit Playground

El Código básico

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

ბაიტის ნომრები [9]; // Arreglo que contiene los numeros

int i, j; // იტერადორესი

// Algoritmo bubbleSort

void loop () {for (i = 0; i <= 9; i ++) {for (j = 0; j <= 9 - i; j ++) {if (რიცხვები [j] <= რიცხვები [j+1]) {// cambia posición de números float f = ციფრები [j]; რიცხვები [j] = რიცხვები [j + 1]; რიცხვები [j + 1] = f; }}}}

Como ven primero creamos un arreglo de byte, en este caso lo llamamos ნომრები [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.

მარყუჟის ძირითადი პრინციპი, მათ შორის:

for (i = 0; i <= 9; i ++) {for (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. ეს არის პირველი, პირველი 0 0 9, ლუეგო დე 0 ა 9-1, ლუეგო დე 0 ა 9-2. ეს არის ვიდეო და ვიდეო, რომელიც შეიძლება გამოყენებულ იქნას როგორც მერი.

Dentro de esos iteradores, se hace la pregunta:

თუ (რიცხვები [j] <= რიცხვები [j + 1])

Es decir si el siguiente es menor o igual entonces debemos cambiarlo. Para cambiarlo hay que hacer un "swap" is 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 = რიცხვები [j]; // დროებითი

რიცხვები [j] = რიცხვები [j + 1]; რიცხვები [j + 1] = f;

ჩამოტვირთეთ Circuit Playground

Github– ის დასრულება Github– ში, თქვენ უნდა შეაგროვოთ გენერატორი და გამოიყენოთ ახალი რიცხვები 0 და 255, და გამოიყენოთ სხვა რიცხვები, რათა გამოიყენოთ LED– ები. Ustedes lo pueden modificar para que haga más cosas como sonidos და ა.შ.

ნაბიჯი 4: Funcionando Y Reto

ერთი ვიდეო además le agregué sonido, eso se los dejo de reto a ustedes.

რეტოს

  1. აგრეგარ სონიდო
  2. Programar otros algoritmos de ordenamiento (სწრაფი დალაგება, შერწყმის დალაგება)
  3. Medir que tan rápido resuelve e arduino, colocando cada vez más elementos en el arreglo y medir cuanto tarda, ¿Es lineal?

გირჩევთ: