All pastes #399959 Raw Edit

Someone

public text v1 · immutable
·published 2007-03-18 11:32 UTC
rendered paste body
program ulamki;
uses Crt;
var l1, m1, l2, m2, lr, mr, lil, mil, li, mi, l,m : integer;

procedure dane (var l1, m1:integer; nr:byte);
begin
     write('Podaj licznik ',nr,' ulamka: ');
     readln(l1);
     write('Podaj mianownik ',nr,' ulamka: ');
     readln(m1);
end;

function nwd(l1,m1:byte):byte;
var  r:integer;
begin
        if l1<>m1 then
        begin
             if l1>m1 then
             begin
              repeat
                    r:=l1 mod m1;
                    l1:=m1;
                    m1:=r;
                    nwd:=l1;
                    until m1=0;
             end else
              begin
             repeat
                r:=m1 mod l1;
                m1:=l1;
                l1:=r;
                nwd:=m1;
              until l1=0;
               end;
        end else nwd:=l1;
end;

procedure suma (l1, m1, l2, m2 : integer; var l, m :integer);
var n:integer;
begin
     l:=l1*m2+l2*m1;
     m:=m1*m2;
     n:=nwd(l,m);
     l:=l div n;
     m:=m div n;
end;

procedure roznica (l1, m1, l2, m2 : integer; var lr, mr :integer);
var n:integer;
begin
     lr:=l1*m2-l2*m1;
     mr:=m1*m2;
     n:=nwd(lr,mr);
     lr:=lr div n;
     mr:=mr div n;
end;

procedure iloczyn (l1, m1, l2, m2 : integer; var li, mi :integer);
var n:integer;
begin
     li:=l1*l2;
     mi:=m1*m2;
     n:=nwd(li,mi);
     li:=li div n;
     mi:=mi div n;
end;

procedure iloraz (l1, m1, l2, m2 : integer; var lil, mil :integer);
var n:integer;
begin


     lil:=l1*m2;
     mil:=l2*m1;
     n:=nwd(lil,mil);
     lil:=lil div n;
     mil:=mil div n;
end;

procedure wypisz (l, m, lr, mr, li, mi, lil, mil :integer);
begin
     writeln('Suma wynosi ',l,'/',m);
     writeln('Roznica wynosi ',lr,'/',mr);
     writeln('Iloczyn wynosi ',li,'/',mi);
     writeln('Iloraz wynosi ',lil,'/',mil);
end;


begin
     ClrScr;
     dane(l1,m1,1);
     dane(l2,m2,2);
     suma(l1,m1,l2,m2,l,m);
     roznica(l1,m1,l2,m2,lr,mr);
     iloczyn(l1,m1,l2,m2,li,mi);
     iloraz(l1,m1,l2,m2,lil,mil);
     wypisz(l,m,lr,mr,li,mi,lil,mil);
     readkey;
end.