Cajero automático
¿Serás capaz de...?
Realizar un programa que simule un cajero automático. Un mensaje informará de que hay que hacer clic sobre un botón para sacar dinero. Al hacer clic sobre dicho botón nos preguntará cuánto dinero queremos sacar. Como sólo tiene billetes de 50, 20 y de 10 €, si le introducimos una cifra que no sea múltiplo de 10 nos dirá que no puede expender dicha cantidad y nos volverá a preguntar. Una vez que le metamos un número válido, el programa debe calcular cuantos billetes de cada tipo nos tiene que dar y nos lo mostrará en pantalla. Tras esto podremos cancelar la operación pulsando sobre un botón Cancelar. Para validar la operación, nos pedirá que pulsemos un botón Validar y, tras ello, volverá a informar de lo que hay que hacer para sacar dinero. Notas:
a) Tendremos en cuenta que dará preferentemente billetes lo más grandes posibles. Es decir, para darnos 50 € nos lo dará en un único billete de 50 en vez de dos de 20 y uno de 10.
b) Los botones serán objetos sacados de la biblioteca de objetos de Scratch.
c) Conviene informar de las cantidades (dinero pedido, nº de billetes que hay que dar, etc) mostrando las variables en pantalla, mejor que con comentarios de ningún objeto.
¿Serás capaz de...?
Perfeccionar el programa anterior de forma que tenga en cuenta además de las anteriores las siguientes condiciones:
- El cajero inicialmente tendrá un número de billetes de cada tipo en su interior (por ejemplo 10 de cada tipo), de forma que cada vez que entregue billetes los restará de su depósito.
- El cajero seguirá ofreciendo sacar dinero, como en el ejercicio anterior, hasta que no le queden billetes. En este caso, al hacer clic sobre el botón de sacar dinero informará a los usuarios de que no le queda dinero y está fuera de servicio.
- El cajero dispondrá de unas listas con datos del nombre de los clientes, su usuario, sus contraseñas y los saldos que cada uno tiene en sus cuentas (para simplificar podemos hacerlo para 10 clientes, por ejemplo). Cuando se pulsa para sacar dinero pedirá el usuario y, a continuación la contraseña. Si son correctas, saludará con el nombre del cliente y preguntará cuánto dinero desea sacar.
- Si el usuario pide una cantidad de dinero superior a lo que tiene en su cuenta, el cajero le informará de ello, le dirá su saldo y volverá a preguntarle cuánto desea sacar.
- Si el usuario pide una cantidad superior al dinero que le queda al cajero, dirá lo máximo que puede darle y volverá a preguntarle.Si el cajero calcula que con los tipos de billetes disponibles no puede conseguir la cantidad deseada, informará de ello y solicitará una nueva cantidad.
- Una vez que la operación sea válida (está verificado el cliente, tiene saldo suficiente, el cajero tiene dinero suficiente, etc,) la operación podrá cancelarse haciendo clic sobre un botón Cancelar (de esta forma no restará el dinero del saldo del cliente ni del cajero) o validarse haciendo clic sobre un botón Validar (el dinero sacado por el cliente se restará de su saldo y al dinero disponible en el cajero y a los tipos de billetes que hayan salido).