Реферат: Создание библиотек подпрограмм в Turbo Pascal
Function NodEvklid(A, B : Natur) : Natur;
Begin
While A <> B Do
If A > B Then
If A Mod B <> 0 Then A := A Mod B Else A := B
Else
If B Mod A <> 0 Then B := B Mod A Else B := A;
NodEvklid := A
End;
Procedure Sokr; {Сокращение дроби}
Var M, N : Natur;
Begin
If A.P <> 0 Then
Begin
If A.P < 0 Then M := Abs(A.P)
Else M := A.P; {Совмещение типов, т.к. A.P - LongInt}
N := NodEvklid(M, A.Q); A.P := A.P Div N; A.Q := A.Q Div N
End
End;
Procedure Summa; {Сумма дробей}
Begin
{Знаменатель дроби} C.Q := (A.Q * B.Q) Div NodEvklid(A.Q, B.Q);
{Числитель дроби} C.P := A.P * C.Q Div A.Q + B.P * C.Q Div B.Q;
Sokr(C)
End;
Procedure Raznost; {Разность дробей}
Begin
{Знаменатель дроби} C.Q := (A.Q * B.Q) Div NodEvklid(A.Q, B.Q);
{Числитель дроби} C.P := A.P * C.Q Div A.Q - B.P * C.Q Div B.Q;