Saltar al contenido
EjemplosEnglishEspacio →

Cajero automático

Verifica el PIN y permite consultar, depositar y retirar dinero.

Nivel
Avanzado
Conceptos:
Entrada y salida
Repetir
Segun
Si
Lógicos
Abrir en Codoritmo

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

atm.psc · 60 líneas
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    FinSiFinAlgoritmo

Diagrama de flujo

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

Algoritmo CajeroAutomaticoSíNoSíNoNoSíNoSíNoSíNo1234De Otro ModoNoSíNoSíSíAlgoritmo CajeroAutomaticoAlgoritmo CajeroAutomaticoDefinir saldo Como RealDefinir saldo Como RealDefinir opcion, intentos, monto Como EnteroDefinir opcion, intentos,monto Como EnteroDefinir pin Como CaracterDefinir pin Como CaracterDefinir acceso Como LogicoDefinir acceso Como Logicosaldo <- 5000saldo <- 5000intentos <- 0intentos <- 0acceso <- Falsoacceso <- FalsoEscribir "Ingrese su PIN:"Escribir "Ingrese su PIN:"Leer pinLeer pinintentos <- intentos + 1intentos <- intentos + 1Si pin = "1234" Entoncespin = "1234"acceso <- Verdaderoacceso <- VerdaderoSi intentos < 3 Entoncesintentos < 3Escribir "PIN incorrecto. Le quedan ", 3 - intentos, " intentos."Escribir "PIN incorrecto. Lequedan ", 3 - intentos, "intentos."Hasta Que acceso O intentos = 3acceso O intentos =3Si NO acceso EntoncesNO accesoEscribir "Tarjeta bloqueada. Comuníquese con su banco."Escribir "Tarjeta bloqueada.Comuníquese con su banco."Escribir ""Escribir ""Escribir "1. Consultar saldo 2. Depositar 3. Retirar 4. Salir"Escribir "1. Consultar saldo 2. Depositar 3. Retirar 4.Salir"Leer opcionLeer opcionSegun opcion HaceropcionEscribir "Saldo disponible: $", saldoEscribir "Saldo disponible:$", saldoEscribir "Monto a depositar:"Escribir "Monto a depositar:"Leer montoLeer montoSi monto > 0 Entoncesmonto > 0saldo <- saldo + montosaldo <- saldo + montoEscribir "Depósito realizado. Nuevo saldo: $", saldoEscribir "Depósito realizado.Nuevo saldo: $", saldoEscribir "El monto debe ser positivo."Escribir "El monto debe serpositivo."Escribir "Monto a retirar (múltiplos de 100):"Escribir "Monto a retirar(múltiplos de 100):"Leer montoLeer montoSi monto MOD 100 <> 0 Entoncesmonto MOD 100 <> 0Escribir "El cajero solo entrega billetes de 100."Escribir "El cajero soloentrega billetes de 100."Si monto > saldo Entoncesmonto > saldoEscribir "Fondos insuficientes."Escribir "Fondosinsuficientes."saldo <- saldo - montosaldo <- saldo - montoEscribir "Retire su dinero. Nuevo saldo: $", saldoEscribir "Retire su dinero.Nuevo saldo: $", saldoEscribir "Gracias por usar el cajero."Escribir "Gracias por usar elcajero."Escribir "Opción no válida."Escribir "Opción no válida."Hasta Que opcion = 4opcion = 4FinAlgoritmoFinAlgoritmo

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.

Abrir en Codoritmo