Cajero automático
Verifica el PIN y permite consultar, depositar y retirar dinero.
- Nivel
- Avanzado
- Tema:
- Proyectos
- Conceptos:
- Entrada y salida
- Repetir
- Segun
- Si
- Lógicos
Ejecuta, modifica y depura este ejemplo en el navegador.
Lo que aprenderás
Un Repetir con tres intentos protege el acceso con una variable Logico. Después, un menú con Segun actualiza el saldo y usa MOD para aceptar solo múltiplos de 100.
Código
Algoritmo CajeroAutomatico Definir saldo Como Real Definir opcion, intentos, monto Como Entero Definir pin Como Caracter Definir acceso Como Logico saldo <- 5000 intentos <- 0 acceso <- Falso Repetir Escribir "Ingrese su PIN:" Leer pin intentos <- intentos + 1 Si pin = "1234" Entonces acceso <- Verdadero SiNo Si intentos < 3 Entonces Escribir "PIN incorrecto. Le quedan ", 3 - intentos, " intentos." FinSi FinSi Hasta Que acceso O intentos = 3 Si NO acceso Entonces Escribir "Tarjeta bloqueada. Comuníquese con su banco." SiNo Repetir Escribir "" Escribir "1. Consultar saldo 2. Depositar 3. Retirar 4. Salir" Leer opcion Segun opcion Hacer 1: Escribir "Saldo disponible: $", saldo 2: Escribir "Monto a depositar:" Leer monto Si monto > 0 Entonces saldo <- saldo + monto Escribir "Depósito realizado. Nuevo saldo: $", saldo SiNo Escribir "El monto debe ser positivo." FinSi 3: Escribir "Monto a retirar (múltiplos de 100):" Leer monto Si monto MOD 100 <> 0 Entonces Escribir "El cajero solo entrega billetes de 100." SiNo Si monto > saldo Entonces Escribir "Fondos insuficientes." SiNo saldo <- saldo - monto Escribir "Retire su dinero. Nuevo saldo: $", saldo FinSi FinSi 4: Escribir "Gracias por usar el cajero." De Otro Modo: Escribir "Opción no válida." FinSegun Hasta Que opcion = 4 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.
Ingrese su PIN:Respuesta del usuario: 1111PIN incorrecto. Le quedan 2 intentos.Ingrese su PIN:Respuesta del usuario: 1234 1. Consultar saldo 2. Depositar 3. Retirar 4. SalirRespuesta del usuario: 1Saldo disponible: $5000 1. Consultar saldo 2. Depositar 3. Retirar 4. SalirRespuesta del usuario: 2Monto a depositar:Respuesta del usuario: 1500Depósito realizado. Nuevo saldo: $6500 1. Consultar saldo 2. Depositar 3. Retirar 4. SalirRespuesta del usuario: 3Monto a retirar (múltiplos de 100):Respuesta del usuario: 2250El cajero solo entrega billetes de 100. 1. Consultar saldo 2. Depositar 3. Retirar 4. SalirRespuesta del usuario: 3Monto a retirar (múltiplos de 100):Respuesta del usuario: 2000Retire su dinero. Nuevo saldo: $4500 1. Consultar saldo 2. Depositar 3. Retirar 4. SalirRespuesta del usuario: 1Saldo disponible: $4500 1. Consultar saldo 2. Depositar 3. Retirar 4. SalirRespuesta del usuario: 4Gracias por usar el cajero.
Desafío
Limita los retiros a un máximo de $3000 por operación.
Ver pista
Agrega otra condición en el caso 3, antes de revisar si hay fondos.
Ejemplos relacionados
Agenda de contactos
Agrega, lista y busca contactos en una agenda que crece.
AvanzadoOrdenamiento Shell
Una inserción entre elementos lejanos, con un salto que se achica en cada pasada.
AvanzadoOrdenamiento rápido (Quicksort)
Elige un pivote, separa los menores de los mayores y ordena cada lado con recursión.
Avanzado