Saltar al contenido
EjemplosEnglishEspacio →

Lista de compras

Agrega productos a una lista que crece hasta que escribas FIN.

Nivel
Avanzado
Conceptos:
Entrada y salida
Arreglos
Redimensionar
Para Cada
Mientras
Abrir en Codoritmo

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

shopping-list.psc · 24 líneas
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    FinSiFinAlgoritmo

Diagrama de flujo

Cada bloque del diagrama corresponde a una instrucción del código.

Algoritmo ListaComprasSíNoSíNoAlgoritmo ListaComprasAlgoritmo ListaComprasDefinir lista, producto Como CaracterDefinir lista, producto ComoCaracterDefinir cantidad Como EnteroDefinir cantidad Como Enterocantidad <- 0cantidad <- 0Dimension lista[1]Dimension lista[1]Escribir "Agrega productos a tu lista. Escribe FIN para terminar."Escribir "Agrega productos atu lista. Escribe FIN paraterminar."Leer productoLeer productoMientras Mayusculas(producto) <> "FIN" HacerMayusculas(producto)<> "FIN"cantidad <- cantidad + 1cantidad <- cantidad + 1Redimensionar lista[cantidad]Redimensionar lista[cantidad]lista[cantidad] <- productolista[cantidad] <- productoEscribir "Siguiente producto (FIN para terminar):"Escribir "Siguiente producto(FIN para terminar):"Leer productoLeer productoSi cantidad = 0 Entoncescantidad = 0Escribir "La lista quedó vacía."Escribir "La lista quedóvacía."Escribir "Tu lista tiene ", cantidad, " productos:"Escribir "Tu lista tiene ",cantidad, " productos:"Para Cada item De lista HacerPara Cada item De listaEscribir "- ", itemEscribir "- ", itemFinAlgoritmoFinAlgoritmo

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.

Abrir en Codoritmo
  • Búsqueda lineal

    Busca un nombre en una lista sin importar mayúsculas o minúsculas.

    Intermedio
  • Ordenamiento Shell

    Una inserción entre elementos lejanos, con un salto que se achica en cada pasada.

    Avanzado
  • Ordenamiento por mezcla

    Parte el arreglo en mitades, ordena cada una con recursión y las mezcla.

    Avanzado