CAJERO AUTOMÁTICO


Este código es un programa de simulación de un cajero automático en PSeInt, un entorno de pseudocódigo para aprender programación.

Primero, se define una función llamada `Banco(dibujo)` que imprime un dibujo de un banco en la ejecución. Luego, en el algoritmo `CajeroAutomatico`, se inicializan algunas variables como `saldo`, `pin`, `opcion`, `monto`, `nuevoPin`, `tarjeta` y se llama a la función `Banco(dibujo)`. Después, se pide al usuario que inserte su tarjeta (`tarjetaban`). Dependiendo del nombre ingresado, se entra en un bloque `Segun` que compara el valor de `tarjetaban` con diferentes casos de nombres (por ejemplo, "john", "kenny", "allison", etc.).

Para cada caso, se inicializan variables como `saldo`, `pin`, `intentos`, `accesoPermitido`, y se inicia un bucle `mientras` que permite al usuario intentar ingresar su PIN hasta que tenga éxito o se agoten los intentos.

Dentro de este bucle, se presentan opciones al usuario (consultar saldo, realizar retiro, realizar depósito, cambiar PIN o salir) y se realiza una acción dependiendo de la opción seleccionada. Por ejemplo, si elige consultar saldo, se muestra el saldo actual. Si elige realizar un retiro, se le pedirá ingresar el monto y se actualizará el saldo. Y así sucesivamente. Si el PIN es incorrecto, se disminuyen los intentos y se le informa al usuario cuántos intentos le quedan. Si se agotan los intentos, se bloquea la tarjeta y se pide al usuario que se acerque a la oficina del banco. Si ingresa una opción inválida, se le informa al usuario.

Finalmente, si se introduce una tarjeta que no coincide con ninguno de los casos especificados ("john", "kenny", ”allison”, ”leonel”, ”dariem”,”diego” y ”italo”.), se informa al usuario que la tarjeta no es válida.

En resumen, este código simula un cajero automático donde varios usuarios pueden acceder con sus tarjetas, ingresar su PIN y realizar diferentes operaciones bancarias. 

A continuación, el programa de simulación de un cajero automático en PSeInt:

Funcion  Banco(dibujo)

Escribir "     _______________________"

Escribir "    /                       \"

Escribir "   /    BANCO ´LIBRO AZUL´   \"

Escribir "  /___________________________\"

Escribir "  |                           |"

Escribir "  |      _______________      |"

Escribir "  |     |               |     |"

Escribir "  |     |    $$$$$$$    |     |"

Escribir "  |     |    $$$$$$$    |     |"

Escribir "  |     |    $$$$$$$    |     |"

Escribir "  |     |    $$$$$$$    |     |"

Escribir "  |     |               |     |"

Escribir "  |     |_______________|     |"

Escribir "  |                           |"

Escribir "  |___________________________|"

FinFuncion


Algoritmo CajeroAutomatico

    Definir saldo, pin, opcion, monto, nuevoPin como Entero

Definir tarje Como Caracter

Banco(dibujo)

    Escribir "**********************************"

    Escribir "*       CAJERO AUTOMÁTICO        *"

    Escribir "**********************************"

    Escribir "*      Inserte su tarjeta        *"

    Leer tarjetaban 

Segun tarjetaban Hacer

"john":

saldo <- 1050

pin <- 1234

intentos <- 5

accesoPermitido <- falso

mientras intentos > 0 y no accesoPermitido hacer

Escribir "*        Ingrese su PIN          *"

leer nuevoPin 

si nuevoPin = pin entonces

escribir "¡PIN correcto! Acceso permitido."

accesoPermitido <- verdadero

Repetir

Escribir "**********************************"

Escribir "* 1. Consultar Saldo             *"

Escribir "* 2. Realizar Retiro             *"

Escribir "* 3. Realizar Depósito           *"

Escribir "* 4. Cambiar PIN                 *"

Escribir "* 5. Salir                       *"

Escribir "**********************************"

Escribir "*        Elija una opción        *"

Leer opcion

Segun opcion Hacer

Caso 1:

Escribir "Su saldo actual es: ", saldo

Caso 2:

Escribir "Ingrese el monto a retirar:"

Leer monto

Si monto > saldo Entonces

Escribir "Saldo insuficiente"

Sino

saldo <- saldo - monto

Escribir "Retiro exitoso. Saldo actual: ", saldo

Fin Si

Caso 3:

Escribir "Ingrese el monto a depositar:"

Leer monto

saldo <- saldo + monto

Escribir "Depósito exitoso. Saldo actual: ", saldo

Caso 4:

Escribir "Ingrese su nuevo PIN:"

Leer nuevoPin

pin <- nuevoPin

Escribir "PIN cambiado exitosamente"

Caso 5:

Escribir "Gracias por peferirnos. Vuelva pronto <3"

De Otro Modo:

Escribir "Opción inválida"

Fin Segun

Hasta que opcion = 5

sino

escribir "PIN incorrecto. Intentos restantes: ", intentos - 1

intentos <- intentos - 1

fin si

fin mientras

si no accesoPermitido entonces

escribir "Su tarjera ha sido bloqueada"

escribir "Por favor, acerce a nuestras oficinas"

fin si

"kenny":

saldo <- 500

pin <- 2345

intentos <- 5

accesoPermitido <- falso

mientras intentos > 0 y no accesoPermitido hacer

Escribir "*        Ingrese su PIN          *"

leer nuevoPin 

si nuevoPin = pin entonces

escribir "¡PIN correcto! Acceso permitido."

accesoPermitido <- verdadero

Repetir

Escribir "**********************************"

Escribir "* 1. Consultar Saldo             *"

Escribir "* 2. Realizar Retiro             *"

Escribir "* 3. Realizar Depósito           *"

Escribir "* 4. Cambiar PIN                 *"

Escribir "* 5. Salir                       *"

Escribir "**********************************"

Escribir "*        Elija una opción        *"

Leer opcion

Segun opcion Hacer

Caso 1:

Escribir "Su saldo actual es: ", saldo

Caso 2:

Escribir "Ingrese el monto a retirar:"

Leer monto

Si monto > saldo Entonces

Escribir "Saldo insuficiente"

Sino

saldo <- saldo - monto

Escribir "Retiro exitoso. Saldo actual: ", saldo

Fin Si

Caso 3:

Escribir "Ingrese el monto a depositar:"

Leer monto

saldo <- saldo + monto

Escribir "Depósito exitoso. Saldo actual: ", saldo

Caso 4:

Escribir "Ingrese su nuevo PIN:"

Leer nuevoPin

pin <- nuevoPin

Escribir "PIN cambiado exitosamente"

Caso 5:

Escribir "Gracias por peferirnos. Vuelva pronto <3"

De Otro Modo:

Escribir "Opción inválida"

Fin Segun

Hasta que opcion = 5

sino

escribir "PIN incorrecto. Intentos restantes: ", intentos - 1

intentos <- intentos - 1

fin si

fin mientras

si no accesoPermitido entonces

escribir "Su tarjera ha sido bloqueada"

escribir "Por favor, acerce a nuestras oficinas"

fin si

"allison":

saldo <- 200

pin <- 3456

intentos <- 5

accesoPermitido <- falso

mientras intentos > 0 y no accesoPermitido hacer

Escribir "*        Ingrese su PIN          *"

leer nuevoPin 

si nuevoPin = pin entonces

escribir "¡PIN correcto! Acceso permitido."

accesoPermitido <- verdadero

Repetir

Escribir "**********************************"

Escribir "* 1. Consultar Saldo             *"

Escribir "* 2. Realizar Retiro             *"

Escribir "* 3. Realizar Depósito           *"

Escribir "* 4. Cambiar PIN                 *"

Escribir "* 5. Salir                       *"

Escribir "**********************************"

Escribir "*        Elija una opción        *"

Leer opcion

Segun opcion Hacer

Caso 1:

Escribir "Su saldo actual es: ", saldo

Caso 2:

Escribir "Ingrese el monto a retirar:"

Leer monto

Si monto > saldo Entonces

Escribir "Saldo insuficiente"

Sino

saldo <- saldo - monto

Escribir "Retiro exitoso. Saldo actual: ", saldo

Fin Si

Caso 3:

Escribir "Ingrese el monto a depositar:"

Leer monto

saldo <- saldo + monto

Escribir "Depósito exitoso. Saldo actual: ", saldo

Caso 4:

Escribir "Ingrese su nuevo PIN:"

Leer nuevoPin

pin <- nuevoPin

Escribir "PIN cambiado exitosamente"

Caso 5:

Escribir "Gracias por peferirnos. Vuelva pronto <3"

De Otro Modo:

Escribir "Opción inválida"

Fin Segun

Hasta que opcion = 5

sino

escribir "PIN incorrecto. Intentos restantes: ", intentos - 1

intentos <- intentos - 1

fin si

fin mientras

si no accesoPermitido entonces

escribir "Su tarjera ha sido bloqueada"

escribir "Por favor, acerce a nuestras oficinas"

fin si

"leonel":

saldo <- 220

pin <- 4567

intentos <- 5

accesoPermitido <- falso

mientras intentos > 0 y no accesoPermitido hacer

Escribir "*        Ingrese su PIN          *"

leer nuevoPin 

si nuevoPin = pin entonces

escribir "¡PIN correcto! Acceso permitido."

accesoPermitido <- verdadero

Repetir

Escribir "**********************************"

Escribir "* 1. Consultar Saldo             *"

Escribir "* 2. Realizar Retiro             *"

Escribir "* 3. Realizar Depósito           *"

Escribir "* 4. Cambiar PIN                 *"

Escribir "* 5. Salir                       *"

Escribir "**********************************"

Escribir "*        Elija una opción        *"

Leer opcion

Segun opcion Hacer

Caso 1:

Escribir "Su saldo actual es: ", saldo

Caso 2:

Escribir "Ingrese el monto a retirar:"

Leer monto

Si monto > saldo Entonces

Escribir "Saldo insuficiente"

Sino

saldo <- saldo - monto

Escribir "Retiro exitoso. Saldo actual: ", saldo

Fin Si

Caso 3:

Escribir "Ingrese el monto a depositar:"

Leer monto

saldo <- saldo + monto

Escribir "Depósito exitoso. Saldo actual: ", saldo

Caso 4:

Escribir "Ingrese su nuevo PIN:"

Leer nuevoPin

pin <- nuevoPin

Escribir "PIN cambiado exitosamente"

Caso 5:

Escribir "Gracias por peferirnos. Vuelva pronto <3"

De Otro Modo:

Escribir "Opción inválida"

Fin Segun

Hasta que opcion = 5

sino

escribir "PIN incorrecto. Intentos restantes: ", intentos - 1

intentos <- intentos - 1

fin si

fin mientras

si no accesoPermitido entonces

escribir "Su tarjera ha sido bloqueada"

escribir "Por favor, acerce a nuestras oficinas"

fin si

"dariem":

saldo <- 900

pin <- 5678

intentos <- 5

accesoPermitido <- falso

mientras intentos > 0 y no accesoPermitido hacer

Escribir "*        Ingrese su PIN          *"

leer nuevoPin 

si nuevoPin = pin entonces

escribir "¡PIN correcto! Acceso permitido."

accesoPermitido <- verdadero

Repetir

Escribir "**********************************"

Escribir "* 1. Consultar Saldo             *"

Escribir "* 2. Realizar Retiro             *"

Escribir "* 3. Realizar Depósito           *"

Escribir "* 4. Cambiar PIN                 *"

Escribir "* 5. Salir                       *"

Escribir "**********************************"

Escribir "*        Elija una opción        *"

Leer opcion

Segun opcion Hacer

Caso 1:

Escribir "Su saldo actual es: ", saldo

Caso 2:

Escribir "Ingrese el monto a retirar:"

Leer monto

Si monto > saldo Entonces

Escribir "Saldo insuficiente"

Sino

saldo <- saldo - monto

Escribir "Retiro exitoso. Saldo actual: ", saldo

Fin Si

Caso 3:

Escribir "Ingrese el monto a depositar:"

Leer monto

saldo <- saldo + monto

Escribir "Depósito exitoso. Saldo actual: ", saldo

Caso 4:

Escribir "Ingrese su nuevo PIN:"

Leer nuevoPin

pin <- nuevoPin

Escribir "PIN cambiado exitosamente"

Caso 5:

Escribir "Gracias por peferirnos. Vuelva pronto <3"

De Otro Modo:

Escribir "Opción inválida"

Fin Segun

Hasta que opcion = 5

sino

escribir "PIN incorrecto. Intentos restantes: ", intentos - 1

intentos <- intentos - 1

fin si

fin mientras

si no accesoPermitido entonces

escribir "Su tarjera ha sido bloqueada"

escribir "Por favor, acerce a nuestras oficinas"

fin si

"diego":

saldo <- 450

pin <- 6789

intentos <- 5

accesoPermitido <- falso

mientras intentos > 0 y no accesoPermitido hacer

Escribir "*        Ingrese su PIN          *"

leer nuevoPin 

si nuevoPin = pin entonces

escribir "¡PIN correcto! Acceso permitido."

accesoPermitido <- verdadero

Repetir

Escribir "**********************************"

Escribir "* 1. Consultar Saldo             *"

Escribir "* 2. Realizar Retiro             *"

Escribir "* 3. Realizar Depósito           *"

Escribir "* 4. Cambiar PIN                 *"

Escribir "* 5. Salir                       *"

Escribir "**********************************"

Escribir "*        Elija una opción        *"

Leer opcion

Segun opcion Hacer

Caso 1:

Escribir "Su saldo actual es: ", saldo

Caso 2:

Escribir "Ingrese el monto a retirar:"

Leer monto

Si monto > saldo Entonces

Escribir "Saldo insuficiente"

Sino

saldo <- saldo - monto

Escribir "Retiro exitoso. Saldo actual: ", saldo

Fin Si

Caso 3:

Escribir "Ingrese el monto a depositar:"

Leer monto

saldo <- saldo + monto

Escribir "Depósito exitoso. Saldo actual: ", saldo

Caso 4:

Escribir "Ingrese su nuevo PIN:"

Leer nuevoPin

pin <- nuevoPin

Escribir "PIN cambiado exitosamente"

Caso 5:

Escribir "Gracias por peferirnos. Vuelva pronto <3"

De Otro Modo:

Escribir "Opción inválida"

Fin Segun

Hasta que opcion = 5

sino

escribir "PIN incorrecto. Intentos restantes: ", intentos - 1

intentos <- intentos - 1

fin si

fin mientras

si no accesoPermitido entonces

escribir "Su tarjera ha sido bloqueada"

escribir "Por favor, acerce a nuestras oficinas"

fin si

"italo":

saldo <- 790

pin <- 7890

intentos <- 5

accesoPermitido <- falso

mientras intentos > 0 y no accesoPermitido hacer

Escribir "*        Ingrese su PIN          *"

leer nuevoPin 

si nuevoPin = pin entonces

escribir "¡PIN correcto! Acceso permitido."

accesoPermitido <- verdadero

Repetir

Escribir "**********************************"

Escribir "* 1. Consultar Saldo             *"

Escribir "* 2. Realizar Retiro             *"

Escribir "* 3. Realizar Depósito           *"

Escribir "* 4. Cambiar PIN                 *"

Escribir "* 5. Salir                       *"

Escribir "**********************************"

Escribir "*        Elija una opción        *"

Leer opcion

Segun opcion Hacer

Caso 1:

Escribir "Su saldo actual es: ", saldo

Caso 2:

Escribir "Ingrese el monto a retirar:"

Leer monto

Si monto > saldo Entonces

Escribir "Saldo insuficiente"

Sino

saldo <- saldo - monto

Escribir "Retiro exitoso. Saldo actual: ", saldo

Fin Si

Caso 3:

Escribir "Ingrese el monto a depositar:"

Leer monto

saldo <- saldo + monto

Escribir "Depósito exitoso. Saldo actual: ", saldo

Caso 4:

Escribir "Ingrese su nuevo PIN:"

Leer nuevoPin

pin <- nuevoPin

Escribir "PIN cambiado exitosamente"

Caso 5:

Escribir "Gracias por peferirnos. Vuelva pronto <3"

De Otro Modo:

Escribir "Opción inválida"

Fin Segun

Hasta que opcion = 5

sino

escribir "PIN incorrecto. Intentos restantes: ", intentos - 1

intentos <- intentos - 1

fin si

fin mientras

si no accesoPermitido entonces

escribir "Su tarjera ha sido bloqueada"

escribir "Por favor, acerce a nuestras oficinas"

fin si

De Otro Modo:

Escribir "La tarjeta o la cuenta utilizada no es válida"

Fin Segun

FinAlgoritmo


Elaborado por: SILVA TRIVIÑO JOHN

Comentarios