APOA1 – TADS – Atividade de programação – Software de Caixa Eletrônico
APO A1 – 1° Semestre de 2019
Atividade no 2° Bimestre (A06-02d)
O objetivo desta atividade em laboratório é propiciar a prática da programação de algoritmos, considerando as estruturas de controle básicas da Programação Estruturada (sequências, decisões e repetições). A Modularização é recomendada.
Até a aula do dia 03 de Junho de 2019 implemente um programa para uma espécie de Caixa Automático.
Como sabemos, um caixa automático possibilita saques apenas em notas de papel e como temos notas de R$ 2,00, R$ 5,00, R$ 10,00, R$ 20,00, R$ 50,00 e R$ 100,00, só é possível sacar a soma de múltiplos destes valores.
O programa inicia e permanece mostrando o seguinte menu, até que um usuário realize uma operação. Se for digitado Zero (0), para a opção, o programa deve ser encerrado.
=============== MEU BANCO ================
1 – Saque
2 – Reposição
Selecione a opção ( 0-Finaliza) : ____
O usuário deve escolher 1 para sacar dinheiro do caixa (opção usada pelos clientes do banco) ou 2 para repor dinheiro no caixa (opção usada pelo pessoal da transportadora de valores). Qualquer opção diferente de 1 e 2 não é válida e o usuário deve ser avisado disso.
Ao selecionar a opção 2 (Reposição)
o programa deverá solicitar uma senha única (654321) para reposição. Se for digitado 0 (zero) a operação é cancelada e volta-se ao menu principal. Se a senha for informada corretamente, a tela de reposição de notas é completada mostrando quantas unidades de cada tipo de nota possui e qual é o saldo atual do caixa automático. Em seguida, são solicitadas as quantidades de cada tipo de nota e à medida que o usuário informa, o valor da reposição vai sendo construído. Por fim, o usuário é questionado pelo sistema se ele confirma a reposição. Se confirma, a reposição é realizada e o novo saldo do caixa é apresentado. As seguintes telas são exemplos da operação explicada anteriormente. Os valores do tipo 999999 representam que são valores calculados a medida que se digita a quantidade de cada tipo de nota.
=============== MEU BANCO ================
>>>>>> REPOSIÇÃO <<<<<<
Senha de reposição (0-Retorna): 654321
Saldo do caixa:
R$ 2 x 10 = 20 20
R$ 5 x 5 = 25 45
R$ 10 x 20 = 200 245
R$ 20 x 0 = 0 245
R$ 50 x 4 = 200 445
R$100 x 10 = 1000 1445
R$ 2.00 x ___ = 9999 999999
R$ 5.00 x ___ = 9999 999999
R$ 10.00 x ___ = 9999 999999
R$ 20.00 x ___ = 9999 999999
R$ 50.00 x ___ = 9999 999999
R$100.00 x ___ = 9999 999999
Confirma reposição (S/N)?:__
A mensagem “Pressione ENTER para continuar…..” representa uma espécie de pausa no programa e que o usuário decide quando o programa pode continuar a execução. Esta “pausa” pode ser implementada por meio de uma variável definida pra isso e que você não usa o valor dela para nenhuma outra finalidade. Assim você escreve a mensagem (escreva) e solicita a leitura de um valor (leia). Exemplo:
…
continuar:caractere
…
escreva(“Pressione ENTER para continuar…”)
leia(continuar)
…
Ao selecionar 1 (Saque)
O programa verificará se tem saldo no caixa. Caso não tenha, uma mensagem deverá ser exibida informando que o caixa não está disponível para saque. Desta forma, a primeira opção possível de ser usada é a de Reposição (2), pelo pessoal da empresa de transporte de valores.
Caso tenha saldo, o programa deverá solicitar apenas o valor em R$ a ser sacado e uma senha única (123456).
O valor informado sendo maior que zero, a senha informada sendo correta, havendo saldo suficiente para o saque e o valor solicitado sendo válido, o mesmo será permitido. Caso contrário, uma mensagem deve ser apresentada ao usuário explicando o motivo pelo qual o saque não é possível. Um exemplo de valor válido pode ser R$ 125,00, pois pode-se pagar este valor com uma nota de 100, uma nota de 20 e uma nota 5. Um valor inválido pode ser, por exemplo, R$ 28,00, pois teria-se que usar uma nota de 20, uma nota de 5, uma nota de 2 e uma nota de 1, mas não existe nota de 1 real.
O saque sendo permitido o sistema o efetuará mostrando quantas notas de cada tipo deve ser entregue ao cliente, totalizando o valor que ele quer sacar. Algo semelhante à maneira que é mostrado o saldo atual do caixa no momento da reposição. A tela a seguir ilustra essa operação.
=============== MEU BANCO ================
>>>>>> SAQUE <<<<<<
Informe o valor desejado (0-Cancela Operação) R$: 125
Senha para saque (0-Cancela Operação): 123456
Composição do saque:
R$100.00 x 1 = 100 100
R$ 20.00 x 1 = 20 120
R$ 5.00 x 1 = 5 125
Pressione ENTER para continuar…
Caso a quantidade de notas de determinados tipos se esgote, o caixa automático deve tentar outros arranjos possíveis, com os tipos de notas que ele possui. Por exemplo: imagine que as notas de R$ 100,00 acabaram, mas ainda há notas de R$ 50,00 suficientes paa somar R$ 100,00. A tela a seguir ilustra como poderia ser o saque anterior, neste caso.
=============== MEU BANCO ================
>>>>>> SAQUE <<<<<<
Informe o valor desejado (0-Cancela Operação) R$: 125
Senha para saque (0-Cancela Operação): 123456
Composição do saque:
R$ 50.00 x 2 = 100 100
R$ 20.00 x 1 = 20 120
R$ 5.00 x 1 = 5 125
Pressione ENTER para continuar…
Após pressionar ENTER para continuar, o programa voltará a exibir o menu principal do Caixa Automático.
“SE VOCÊ ACREDITA ESTAR DIANTE DE UM GRANDE PROBLEMA, NÃO DÊ ATENÇÃO A ESTA CARACTERÍSTICA, ENCARE-O DE FRENTE E COM A CONFIANÇA DE QUE SE VOCÊ FOR RESOLVENDO ELE POR PARTES, LOGO TERÁ RESOLVIDO ELE AO TODO! LEMBREM-SE DE TÉCNICAS COMO A DECOMPOSIÇÃO (TOP-DOWN) E A TÉCNICA DE CONSTRUÇÃO DE ALGORITMOS. NÃO PERCA O SEU TEMPO PENSANDO O QUANTO UM GRANDE PROBLEMA PODE SER DIFÍCIL DE SER RESOLVIDO. ENCARE-O, IDENTIFIQUE OS PROBLEMAS MENORES QUE O CONSTITUEM E SIGA RESOLVENDO ESTES PROBLEMAS MENORES MONTANDO A SOLUÇÃO”.
Esta atividade certamente terá grande influência na nota dos trabalhos do segundo bimestre. Portanto, dedique-se.
Bom trabalho a todos!!!