//Faça um algoritmo para ler o valor do saque realizado pelo cliente de um banco e escrever quantas
//notas de cada valor serão necessárias para atender ao saque com a menor quantidade de notas
//possível. Serão utilizadas notas de 100, 50, 20, 5 e 1 reais.
program ssaque;
uses crt;
const
um=1;
cinco=5;
vinte=20;
cinquenta=50;
cem=100;
var
saque,minima,auxSaque,maiorNota:integer;
begin
repeat
writeln(' informe o valor do saque');
readln(saque);
until saque>0;
auxSaque:=saque;
repeat
minima:=minima + 1;
if(auxSaque=um) or (auxSaque=cinco)or(auxSaque=vinte)or(auxSaque=cinquenta)or(auxSaque=cem)then
begin
auxSaque:=0;
end else begin
// maior nota menor que auxSaque
if (um < auxSaque ) and (cinco >auxSaque) then
begin
maiorNota:=um;
end else begin
if (cinco < auxSaque ) and (vinte >auxSaque) then
begin
maiorNota:=cinco;
end else begin
if (vinte < auxSaque ) and (cinquenta > auxSaque) then
begin
maiorNota:=vinte;
end else begin
if (cinquenta < auxSaque ) and (cem > auxSaque) then
begin
maiorNota:=cinquenta;
end else begin
// auxSaque > cem
maiorNota:=cem;
end;
end;
end;
end;
// aqui sei quem é a maior nota
auxSaque:= auxSaque - maiorNota;
if auxSaque < 0 then
begin
auxSaque:= 0 - auxSaque;
end;
end;
until (auxSaque=0);
writeln('a quantidade minima de notas = ',minima);
readkey;
end.
Nenhum comentário:
Postar um comentário