sábado, 27 de setembro de 2014

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.





//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

Pascal - Lazarus