Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften, SAI

WS 97/98 || Entwicklung objekt-orientierter Bibliotheken || Übungen || Lösung 1

DEFINITION Rational


(*
 *	Entwicklung objekt-orientierter Bibliotheken, Aufgabe 3
 *
 *	Operationen mit rationalen Zahlen, Schnittstelle.
 *)
DEFINITION Rational;

   TYPE
      Number =
	 RECORD
	    num: LONGINT;		(* numerator *)
	    den: LONGINT;		(* denominator, > 0 *)
	 END;

   PROCEDURE Add(op1, op2: Number; VAR result: Number): BOOLEAN;

   PROCEDURE Sub(op1, op2: Number; VAR result: Number): BOOLEAN;

   PROCEDURE Mul(op1, op2: Number; VAR result: Number): BOOLEAN;

   PROCEDURE Div(op1, op2: Number; VAR result: Number): BOOLEAN;

   PROCEDURE Cmp(op1, op2: Number): INTEGER;
   (* return -1, 0, 1, if op1 is less than, equal, or greater than op2 *)

END Rational.

WS 97/98 || Entwicklung objekt-orientierter Bibliotheken || Übungen || Lösung 1

Andreas Borchert, 26. November 1997