Agenda de contactos
Agrega, lista y busca contactos en una agenda que crece.
- Nivel
- Avanzado
- Tema:
- Proyectos
- Conceptos:
- Entrada y salida
- Arreglos
- Redimensionar
- Repetir
- Segun
- Texto
Ejecuta, modifica y depura este ejemplo en el navegador.
Lo que aprenderás
Redimensionar hace crecer dos arreglos paralelos cada vez que agregas un contacto. Un menú con Segun dentro de Repetir ... Hasta Que organiza las opciones.
Código
Algoritmo Agenda Definir nombres, telefonos, buscado Como Caracter Definir total, opcion, i Como Entero Definir encontrado Como Logico total <- 0 Dimension nombres[1], telefonos[1] Repetir Escribir "" Escribir "1. Agregar 2. Ver todos 3. Buscar 4. Salir" Leer opcion Segun opcion Hacer 1: total <- total + 1 Redimensionar nombres[total] Redimensionar telefonos[total] Escribir "Nombre:" Leer nombres[total] Escribir "Teléfono:" Leer telefonos[total] Escribir "Contacto guardado." 2: Si total = 0 Entonces Escribir "La agenda está vacía." SiNo Para i <- 1 Hasta total Hacer Escribir i, ". ", nombres[i], " - ", telefonos[i] FinPara FinSi 3: Escribir "¿A quién buscas?" Leer buscado encontrado <- Falso Para i <- 1 Hasta total Hacer Si Mayusculas(nombres[i]) = Mayusculas(buscado) Entonces Escribir nombres[i], ": ", telefonos[i] encontrado <- Verdadero FinSi FinPara Si NO encontrado Entonces Escribir "No encontré a ", buscado, "." FinSi 4: Escribir "¡Hasta pronto!" De Otro Modo: Escribir "Opción no válida." FinSegun Hasta Que opcion = 4FinAlgoritmoDiagrama 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.
1. Agregar 2. Ver todos 3. Buscar 4. SalirRespuesta del usuario: 1Nombre:Respuesta del usuario: AnaTeléfono:Respuesta del usuario: 555-1234Contacto guardado. 1. Agregar 2. Ver todos 3. Buscar 4. SalirRespuesta del usuario: 1Nombre:Respuesta del usuario: LuisTeléfono:Respuesta del usuario: 555-9876Contacto guardado. 1. Agregar 2. Ver todos 3. Buscar 4. SalirRespuesta del usuario: 21. Ana - 555-12342. Luis - 555-9876 1. Agregar 2. Ver todos 3. Buscar 4. SalirRespuesta del usuario: 3¿A quién buscas?Respuesta del usuario: luisLuis: 555-9876 1. Agregar 2. Ver todos 3. Buscar 4. SalirRespuesta del usuario: 4¡Hasta pronto!
Desafío
Agrega una opción para contar cuántos contactos empiezan con una letra dada.
Ver pista
Compara Mayusculas(Subcadena(nombres[i], 1, 1)) con la letra que leíste.
Ejemplos relacionados
Cajero automático
Verifica el PIN y permite consultar, depositar y retirar dinero.
AvanzadoLista de compras
Agrega productos a una lista que crece hasta que escribas FIN.
AvanzadoOrdenamiento rápido (Quicksort)
Elige un pivote, separa los menores de los mayores y ordena cada lado con recursión.
Avanzado