Búsqueda lineal
Busca un nombre en una lista sin importar mayúsculas o minúsculas.
- Nivel
- Intermedio
- Tema:
- Arreglos
- Conceptos:
- Entrada y salida
- Arreglos
- Mientras
- Texto
Ejecuta, modifica y depura este ejemplo en el navegador.
Lo que aprenderás
Un Mientras recorre el arreglo y se detiene apenas encuentra el nombre. Mayusculas convierte ambos textos para compararlos sin importar cómo se escribieron.
Código
Algoritmo BusquedaLineal Definir nombres, buscado Como Caracter Definir i, posicion Como Entero Dimension nombres[6] nombres[1] <- "Ana" nombres[2] <- "Bruno" nombres[3] <- "Carla" nombres[4] <- "Diego" nombres[5] <- "Luis" nombres[6] <- "Sofía" Escribir "¿A quién buscas?" Leer buscado posicion <- 0 i <- 1 // Se detiene en cuanto lo encuentra Mientras i <= 6 Y posicion = 0 Hacer Si Mayusculas(nombres[i]) = Mayusculas(buscado) Entonces posicion <- i FinSi i <- i + 1 FinMientras Si posicion > 0 Entonces Escribir nombres[posicion], " está en la posición ", posicion, "." SiNo Escribir buscado, " no está en la lista." FinSiFinAlgoritmoDiagrama de flujo
Cada bloque del diagrama corresponde a una instrucción del código.
Ejemplo de ejecución
Esto muestra el programa al ejecutarlo. Las respuestas escritas por el usuario aparecen resaltadas.
¿A quién buscas?Respuesta del usuario: luisLuis está en la posición 5.
Complejidad
Cuánto trabajo y memoria necesita según la cantidad de datos (n).
| Caso | Costo |
|---|---|
| Mejor | O(1) |
| Promedio | O(n) |
| Peor | O(n) |
| Memoria | O(1) |
Desafío
Si el nombre no está, ofrece agregarlo al final de la lista.
Ver pista
Necesitarás un arreglo más grande con Dimension y una variable que cuente cuántos nombres hay.
Ejemplos relacionados
Números romanos
Convierte un número entre 1 y 3999 a números romanos.
AvanzadoJuego del ahorcado
Adivina una palabra secreta letra por letra con seis errores permitidos.
AvanzadoLista de compras
Agrega productos a una lista que crece hasta que escribas FIN.
Avanzado