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
Publicar un comentario