PROCEDURE add(a,b:bruch;VAR res:bruch); BEGIN res.zaehler:= a.zaehler*b.nenner + b.zaehler*a.nenner; res.nenner := a.nenner*b.nenner; kuerzen(res) END; PROCEDURE sub(a,b:bruch;VAR res:bruch); BEGIN res.zaehler:= a.zaehler*b.nenner - b.zaehler*a.nenner; res.nenner := a.nenner*b.nenner; kuerzen(res) END; PROCEDURE mal(a,b:bruch;VAR res:bruch); BEGIN res.zaehler:= a.zaehler*b.zaehler; res.nenner := a.nenner*b.nenner; kuerzen(res) END; PROCEDURE teil(a,b:bruch;VAR res:bruch); BEGIN res.zaehler:= a.zaehler*b.nenner; res.nenner := a.nenner*b.zaehler; kuerzen(res) END; PROCEDURE gemzahl(a:bruch;VAR c:longint; VAR d:bruch); BEGIN c:= a.zaehler DIV a.nenner; d.zaehler:= a.zaehler-a.nenner*(a.zaehler DIV a.nenner); d.nenner:= a.nenner END;