Ein Test-Kandidat II

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

Triangles.om
PROCEDURE IsTriangle(len1, len2, len3: INTEGER) : BOOLEAN;
BEGIN
   RETURN (len1 + len2 > len3) &
          (len1 + len3 > len2) &
          (len2 + len3 > len1)
END IsTriangle;

PROCEDURE IsEquilateral(len1, len2, len3: INTEGER) : BOOLEAN;
BEGIN
   RETURN (len1 > 0) & (len1 = len2) & (len2 = len3)
END IsEquilateral;

PROCEDURE IsIsosceles(len1, len2, len3: INTEGER) : BOOLEAN;
BEGIN
   RETURN IsTriangle(len1, len2, len3) &
          ((len1 = len2) OR (len1 = len3) OR (len2 = len3))
END IsIsosceles;

PROCEDURE ReadIntegers(VAR len1, len2,
                       len3: INTEGER) : BOOLEAN;

   PROCEDURE ReadInteger(VAR intval: INTEGER) : BOOLEAN;
   BEGIN
      Read.Int(intval);
      RETURN Streams.stdin.count > 0
   END ReadInteger;

BEGIN (* ReadIntegers *)
   RETURN ReadInteger(len1) & ReadInteger(len2) &
          ReadInteger(len3)
END ReadIntegers;

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 2004, 2005 Andreas Borchert, in HTML konvertiert am 18.02.2005