Condicionales
Clase 13 de 19 • Curso de Pensamiento Lógico
Resumen
El diseño de un cajero automático virtual es un excelente ejercicio para comprender estructuras de control en programación. A través de este proyecto, podemos explorar cómo funcionan las validaciones, estructuras condicionales anidadas y múltiples para simular interacciones que realizamos habitualmente. Más allá del ejemplo práctico, estas habilidades son fundamentales para cualquier profesional que busque desarrollarse en el ámbito de la programación bancaria o sistemas de transacciones.
¿Cómo desarrollar la autenticación en un sistema de cajero automático?
El primer paso para interactuar con un cajero automático es la autenticación del usuario. Este proceso es crítico para garantizar la seguridad de las operaciones bancarias. En nuestro ejemplo, simularemos este comportamiento solicitando un nombre de usuario (que actúa como la tarjeta) y una contraseña.
Para implementar esta funcionalidad, utilizamos una estructura condicional simple:
Escribir "Ingrese su nombre de usuario:"
Leer nombre_usuario
Escribir "Bienvenido ", nombre_usuario, " ingrese su clave:"
Leer clave_ingresada
Si clave_ingresada = clave_correcta Entonces
Escribir "Bienvenido. ¿Qué operación desea realizar?"
Sino
Escribir "Clave incorrecta"
FinSi
Este código verifica si la clave ingresada por el usuario coincide con la almacenada en el sistema. La validación de credenciales es el primer nivel de seguridad en cualquier sistema financiero y debe implementarse correctamente para prevenir accesos no autorizados.
¿Cómo implementar funcionalidades adicionales con estructuras condicionales anidadas?
Una vez autenticado el usuario, podemos ofrecer opciones adicionales como cambiar la contraseña. Para esto, necesitamos anidar estructuras condicionales, es decir, colocar un condicional dentro de otro.
Si clave_ingresada = clave_correcta Entonces
Escribir "Bienvenido. ¿Desea cambiar su clave?"
Escribir "Ingrese 1 para cambiar y 2 para continuar con la misma clave"
Leer auxiliar
Si auxiliar = 1 Entonces
Escribir "Ingrese su nueva clave"
Leer clave_correcta
FinSi
// Continuar con el menú principal
Sino
Escribir "Clave incorrecta"
FinSi
El anidamiento de condicionales nos permite crear flujos de decisión complejos basados en diferentes condiciones. Esta técnica es útil cuando necesitamos que ciertas opciones solo estén disponibles después de validar condiciones previas, como en este caso, donde el cambio de clave solo debe ser posible tras una autenticación exitosa.
¿Cuándo usar estructuras condicionales múltiples para mejorar la experiencia de usuario?
Cuando nuestro programa ofrece múltiples opciones, como en un cajero automático real, usar condicionales anidados se vuelve confuso y difícil de mantener. En estos casos, las estructuras condicionales múltiples como "Según" (también conocidas como "switch" o "case" en otros lenguajes) son más apropiadas.
Escribir "Menú de opciones:"
Escribir "1. Consultar saldo"
Escribir "2. Depositar dinero"
Escribir "3. Retirar dinero"
Escribir "4. Salir"
Leer menu
Según menu Hacer
1:
Escribir "Su saldo actual es 20000 pesos"
2:
Escribir "¿Cuánto dinero quiere depositar?"
3:
Escribir "¿Cuánto dinero quiere retirar?"
4:
Escribir "Hasta la próxima"
De Otro Modo:
Escribir "Hasta la próxima"
FinSegun
Esta estructura facilita la lectura del código y su mantenimiento, especialmente cuando tenemos múltiples caminos de ejecución basados en un único valor. Es ideal para implementar menús interactivos como el de nuestro cajero automático.
¿Por qué necesitamos estructuras iterativas en nuestro cajero automático?
Una limitación de nuestro código actual es que después de realizar una operación (como consultar saldo), el programa termina. En un cajero real, después de cada transacción, el sistema debería volver a mostrar el menú principal para permitir operaciones adicionales.
Para lograr este comportamiento cíclico, necesitamos implementar estructuras iterativas o bucles. Estos permiten ejecutar un bloque de código repetidamente mientras se cumpla una condición, creando una experiencia más fluida y realista.
Los bucles son fundamentales para mantener la interactividad en aplicaciones como cajeros automáticos, donde los usuarios suelen realizar múltiples operaciones en una misma sesión.
La siguiente etapa de mejora para nuestro cajero automático sería implementar estas estructuras iterativas para mantener el programa en ejecución hasta que el usuario decida salir explícitamente.
El desarrollo de un cajero automático virtual nos permite aplicar conceptos fundamentales de programación en un contexto práctico y familiar. A través de este ejercicio, hemos explorado estructuras condicionales simples, anidadas y múltiples que son pilares esenciales en el desarrollo de software interactivo. ¿Has implementado alguna vez un proyecto similar? Comparte tu experiencia en los comentarios.