Výčetka platidel

program Vycetka;
var
m1,m2,m5 : integer; { mince }
b10,b20,b50,b100,b500,b1000 : integer; { bankovky }
plat : integer; { vstupni hodnota }

procedure Platidlo(Hodnota : integer;
var NovyPlat,NovyVycet : integer);
{
tento podprogram vyresi jedno platidlo. Parametry:
Hodnota ... hodnota mince nebo bankovky
NovyPlat ... nova hodnota platu
NovyVycet ... nova hodnota vyctu daneho platidla
}
begin
while NovyPlat >= Hodnota do begin
NovyPlat:= NovyPlat-Hodnota;
NovyVycet:= NovyVycet+1;
end;
end;

begin
m1:= 0; m2:= 0; m5:= 0;
b10:= 0; b20:= 0; b50:= 0; b100:= 0; b500:= 0; b1000:= 0;
writeln('Vycetka -- vytvori vycetku platidel pro banku.');
writeln('Zadavej platy jednotlivych zamestnancu,');
writeln('posledni hodnotou bude -1.');
repeat
write('Zadej plat zamestnance: '); readln(plat);
if plat > 0 then begin
Platidlo(1000,plat,b1000); { tisicikoruny }
Platidlo(500,plat,b500); { petisetkoruny }
Platidlo(100,plat,b100); { stokoruny }
Platidlo(50,plat,b50); { padesatikoruny }
Platidlo(20,plat,b20); { dvacetikoruny }
Platidlo(10,plat,b10); { desetikoruny }
Platidlo(5,plat,m5); { petikoruny }
Platidlo(2,plat,m2); { dvoukoruny }
Platidlo(1,plat,m1); { koruny }
end;
until plat < 0;
writeln('-------------------------------------');
writeln('V bance je treba vyzvednout:');
writeln(b1000:6,'tisicikorun':16,' = ',b1000*1000:7,',-');
writeln(b500:6,'petisetkorun':16,' = ',b500*500:7,',-');
writeln(b100:6,'stokorun':16,' = ',b100*100:7,',-');
writeln(b50:6,'padesatikorun':16,' = ',b50*50:7,',-');
writeln(b20:6,'dvacetikorun':16,' = ',b20*20:7,',-');
writeln(b10:6,'desetikorun':16,' = ',b10*10:7,',-');
writeln(m5:6,'petikorun':16,' = ',m5*5:7,',-');
writeln(m2:6,'dvoukorun':16,' = ',m2*2:7,',-');
writeln(m1:6,'korun':16,' = ',m1:7,',-');
writeln;
writeln('Celkem:':22,' = ',b1000*1000+b500*500+b100*100+
b50*50+b20*20+b10*10+
m5*5+m2*2+m1:7,',-');
end.

 

Maturita.cz - referát (verze pro snadný tisk)
http://www.maturita.cz/referaty/referat.asp?id=1291