Cajero automático.
Autor: Ignacio Molina.
Competencia: Desarrollo de Software
(Nivel 1), Ciencias de la ingeniería básicas.
Palabras Clave: Python, programación,
ciclos, variables y estructuras de control.
Descripción de la actividad: Se desarrolla una simulación de un cajero
automático, el cual tiene funciones principales tales como: Giros de dinero,
Transferencias de dinero entre cuentas asociadas, deposito de dinero y
consultas respecto a los fondos.
Solución: La solución del problema debió ser modelada de acuerdo a las
especificaciones, y paso a paso. A continuación, se enumerara uno a uno los
pasos seguidos:
- Funcionamiento continuo del
cajero: Para crear un modelo mas realista del cajero automático, se
ideo una forma de que estuviera en constante funcionamiento,
aun cuando la sesión fuera finalizada. Para ello
Implementamos un ciclo, en este caso infinito, que no tuviera un limite de
ejecuciones ("while (true)").
- Definición y uso de la
clave de acceso: En el modelo requerido, no era necesario poseer
varios usuarios y distintas claves, ya que estaba orientado solo
a un usuario. Por lo tanto, la clave fue definida al comienzo del
programa, dentro del ciclo while anteriormente descrito. El modo de
ingreso fue mediante un while (en caso de que hubiera errores en
la clave, se permitió ingresarla tres veces mas), y si era
cierta la clave ingresada, una estructura de control "if",
evaluaba si era verdadero y permitía el ingreso.
- Al momento de ingresar, el
programa evaluara si existe o no una deuda en una de las cuentas
del usuario, si esta deuda existe, mostrara una advertencia que tiene la
siguiente estructura: "print Usted debe <Monto> <Nombre
de la cuenta>.
- Luego del ingreso (solo si
la clave ingresada coincide con la original), Mostraremos
un menú con opciones de operaciones, en esta ocasión, como
era un modelo simple, solo usamos "print <N° de
la opción> <Descripción>" y alineamos de una manera
correcta con algunas funciones de python tales como "center".
- Ya seleccionada
la operación que se debe realizar, el
programa pedirá al usuario, que seleccione una de las tres
cuentas disponibles, esta parte se realiza de la misma manera que el
punto anterior.
- Luego de que se realicen los
pasos principales (anteriores), se inicia el verdadero uso del programa,
el cual esta dividido en cuatro puntos:
- Consulta de saldo: Si el usuario elige una consulta de saldo, un if evaluara la veracidad de la opción, y permitirá el ingreso a la consulta. Luego de ello, tres if colocados en secuencia evaluaran que cuenta se eligió, y mostrara el saldo de la cuenta respectiva.
- Giro de dinero: El giro de dinero funciona de una manera similar a la consulta de saldo. Primero el if evalúa la opción de trabajo que eligió el usuario, al hacer esto el programa muestra un menú con opciones de giro, las cuales desembocan en tres if, los cuales evalúan la cuenta elegida. Al entrar al if de la cuenta, una lista de if, evalúa la diferencia entre el monto actual de la cuenta, y el giro que se desea realizar, si la diferencia es mayor a 0 se permitirá el giro, al contrario un else nos mostrara que no existe el saldo apropiado para realizar la transacción.
- La operación de
deposita es muy similar a la consulta de saldo, con la diferencia
que, aquí al ingresar una cantidad de dinero por teclado, la
cuenta automáticamente sumara la cantidad ingresada
por teclado.
- La transferencia de dinero:
Comienza como todas las anteriores con un if evaluando
la opción de trabajo ingresada por el usuario, luego otro if
anidado evalúa cual es la cuenta desde la que
se transfiere el dinero. Al haber realizado esto, el programa
solicitara el monto a transferir y a que cuenta se desea
enviar, todo evaluado con if. Finalmente se evalúa si
la cuenta desde la que se desea sacar el dinero tiene el monto
suficiente, si es así, la cuenta anteriormente nombrada perderá el
monto a transferir y la cuenta a la que
se envía ganara el monto; si no es así, se
mostrara un mensaje de saldo insuficiente.
7. Luego de haber realizado la opción deseada, se consultara si
se desea otra operación. Si la respuesta es si se pedirá ingresar nuevamente
los datos previos (cuenta y opción a trabajar), si no, se cerrara la sesión y
se esperara que se inicie nuevamente.
Reflexión.
El aporte de esta actividad dentro del marco de las competencias que emplea, fue una mayor comprensión de los ciclos y variables de control dentro de un programa. Ademas el mayor conocimiento del lenguaje utilizado (Python).
La actividad que comprende carias lineas de código, nos demuestra que ellas no solo son símbolos y cosas extrañas que están dentro de la programación, si no que pueden conllevar a grandes cosas, que son utilizadas diariamente, y son indispensables, como el cajero automático.