domingo, 31 de agosto de 2014

Cajero Automatico

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:

  1. 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)").

  1. 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.

  1. 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>.

  1. 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".

  1. 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.

  1. Luego de que se realicen los pasos principales (anteriores), se inicia el verdadero uso del programa, el cual esta dividido en cuatro puntos:
    1. 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.

    1. 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. 



    1. 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.

    1. 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.