Lista de compras
Agrega productos a una lista que crece hasta que escribas FIN.
- Nivel
- Avanzado
- Tema:
- Arreglos
- Conceptos:
- Entrada y salida
- Arreglos
- Redimensionar
- Para Cada
- Mientras
Ejecuta, modifica y depura este ejemplo en el navegador.
Lo que aprenderás
Redimensionar agranda el arreglo sin perder lo que ya tenía. Para Cada recorre todos los elementos sin que tengas que manejar índices.
Código
Algoritmo ListaCompras Definir lista, producto Como Caracter Definir cantidad Como Entero cantidad <- 0 Dimension lista[1] Escribir "Agrega productos a tu lista. Escribe FIN para terminar." Leer producto Mientras Mayusculas(producto) <> "FIN" Hacer cantidad <- cantidad + 1 // El arreglo crece de a un elemento, conservando lo que ya tenía Redimensionar lista[cantidad] lista[cantidad] <- producto Escribir "Siguiente producto (FIN para terminar):" Leer producto FinMientras Si cantidad = 0 Entonces Escribir "La lista quedó vacía." SiNo Escribir "Tu lista tiene ", cantidad, " productos:" Para Cada item de lista Hacer Escribir "- ", item FinPara 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.
Agrega productos a tu lista. Escribe FIN para terminar.Respuesta del usuario: panSiguiente producto (FIN para terminar):Respuesta del usuario: manzanasSiguiente producto (FIN para terminar):Respuesta del usuario: quesoSiguiente producto (FIN para terminar):Respuesta del usuario: finTu lista tiene 3 productos:- pan- manzanas- queso
Desafío
Evita que se agregue el mismo producto dos veces.
Ver pista
Antes de guardar, recorre la lista con un Para y compara usando Mayusculas.
Ejemplos relacionados
Búsqueda lineal
Busca un nombre en una lista sin importar mayúsculas o minúsculas.
IntermedioOrdenamiento Shell
Una inserción entre elementos lejanos, con un salto que se achica en cada pasada.
AvanzadoOrdenamiento por mezcla
Parte el arreglo en mitades, ordena cada una con recursión y las mezcla.
Avanzado