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;
|