uses
crt;
function NOD(a,b:integer):integer;
begin
while (a<>0) and (b<>0) do
if a >= b then
a:=a mod b
else
b:=b mod a;
if a<>0 then NOD:=a
else NOD:=b;
end;
procedure myprocedure(a, b, c, d: integer);
var
e, f, z: integer;
begin
e := a * c;
f := b * d;
z:=NOD(e,f);
writeln('полученная дробь = ', e div z, '/', f div z);
end;
crt;
function NOD(a,b:integer):integer;
begin
while (a<>0) and (b<>0) do
if a >= b then
a:=a mod b
else
b:=b mod a;
if a<>0 then NOD:=a
else NOD:=b;
end;
procedure myprocedure(a, b, c, d: integer);
var
e, f, z: integer;
begin
e := a * c;
f := b * d;
z:=NOD(e,f);
writeln('полученная дробь = ', e div z, '/', f div z);
end;
begin
myprocedure(1, 2, 4, 8);
readln;
end.