Os bancos atualizam diariamente as contas de seus clientes. Essa atualização envolve a análise dos depósitos e retiradas de cada conta. Numa conta de saldo mínimo, uma taxa de serviço é deduzida se a conta cai abaixo de uma certa quantia especificada. Suponha que uma conta particular comece o dia com um saldo de
60,00
30,00 e se o saldo de fím de dia for menor do que isso, uma taxa é deduzida da conta. A fim de que essa atualização fosse feita utilizando computador, é fornecido, para cada conta, o seguinte conjunto de dados:
- A primeira linha contém o número da conta, o valor do saldo atual e do saldo mínimo diário, quantidade de transações e taxa de serviço;
- As linhas seguintes contêm o valor e o código da transação (depósito ou retirada).
Escrever um algoritmo que:
- Calcule o saldo (saldo/débito) da conta ao fim do dia (se o saldo for negativo, isso significa insuficiência de fundos na conta);
- Escreva, para cada conta, o seu número e o saldo calculado. Se não houver fundos, imprima o número da conta e a mensagem ‘NÃO HÁ FUNDOS’;
- Utilize como flag o número da conta igual a zero.
Passo 1
O programa deve processar repetidamente os dados de cada conta bancária até encontrar o número de conta zero (flag de término). Para cada conta, temos como entrada:
- número da conta
; - saldo atual
; - saldo mínimo diário
; - quantidade de transações
; - valor da taxa de serviço
;
— e em seguida, para cada transação, o valore o código (‘D’ para depósito ou ‘R’ para retirada).
O objetivo é atualizar o saldo somando depósitos e subtraindo retiradas, cobrar a taxa se o saldo ficar abaixo do mínimo e, por fim, imprimir o resultado ou indicar “NÃO HÁ FUNDOS” se o saldo final for negativo.
Passo 2
Definimos as variáveis necessárias e a estrutura de repetição principal:
– : inteiro lido como flag de controle;
– dentro do laço, lemos ,
,
e
;
– inicializamos .
–
– dentro do laço, lemos
– inicializamos
Passo 3
Para processar as transações usamos um laço de
até
. Em cada iteração, lemos
e
.
Se , fazemos
Se
senão (retirada)
Passo 4
Após processar todas as transações, verificamos se o saldo ficou abaixo do mínimo:
se , então
se
Passo 5
Por fim, com o saldo atualizado, checamos se houve insuficiência de fundos:
– se , imprimimos o número da conta e a mensagem NÃO HÁ FUNDOS;
– caso contrário, imprimimos o número da conta e o valor de .
Depois, lemos o próximo e repetimos até que ele seja zero.
– se
– caso contrário, imprimimos o número da conta e o valor de
Depois, lemos o próximo
Resposta
Pseudocódigo do algoritmo:
Ler
Enquanto faça
Ler ,
,
,
saldo ←
Para i ← 1 até faça
Ler valor,
Se = ‘D’ então
saldo ← saldo + valor
Senao
saldo ← saldo − valor
FimSe
Para
Se saldo < então
saldo ← saldo −
FimSe
Se saldo < 0 então
Imprimir , “NÃO HÁ FUNDOS”
Senao
Imprimir , saldo
FimSe
Ler
FimEnquanto
Enquanto
Ler
saldo ←
Para i ← 1 até
Ler valor,
Se
saldo ← saldo + valor
Senao
saldo ← saldo − valor
FimSe
Para
Se saldo <
saldo ← saldo −
FimSe
Se saldo < 0 então
Imprimir
Senao
Imprimir
FimSe
Ler
FimEnquanto