Římské a Arabské číslice

program ArabRiman;
const
Limit = 3000;
var
n : integer;

function Prevod(n: integer) : string;
const
Tab : array [1..7] of record
cislo : integer;
znak : char;
end =
((cislo:1; znak:'I'),
(cislo:5; znak:'V'),
(cislo:10; znak:'X'),
(cislo:50; znak:'L'),
(cislo:100; znak:'C'),
(cislo:500; znak:'D'),
(cislo:1000; znak:'M'));
var
s : string;
i,j : byte;
begin
i:= 7; s:= '';
repeat
while n >= Tab[i].cislo do begin
s:= s+Tab[i].znak;
Dec(n,Tab[i].cislo);
end;
Dec(i);
until i = 0;
Prevod:= s;
end;

begin
writeln('ArabRiman -- prevadi arabska cisla na rimska.');
writeln('Prevod konci zadanim nulove nebo zaporne hodnoty.');
repeat
repeat
write('Zadej cislo (0 - ',Limit,'): '); readln(n);
if n > Limit then writeln('Spatne zadani!');
until n <= Limit;
if n > 0 then writeln(n:5,' = ',Prevod(n));
until n < 1
end.

 

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