t_minmax.mod 473 B

123456789101112131415
  1. MODULE tminmax;
  2. // MIN/MAX type bounds, enum array indices, and index-type arrays.
  3. TYPE Colour = (Blue, Red, Green, White);
  4. Sq = [0..15];
  5. VAR home : ARRAY [MIN(Colour)..MAX(Colour)] OF INTEGER;
  6. VAR g : ARRAY Sq OF INTEGER;
  7. VAR x : INTEGER;
  8. VAR ExitCode : INTEGER;
  9. BEGIN
  10. home[Green] := 5;
  11. g[15] := 7;
  12. x := MAX(Colour) - MIN(Colour) + MIN(Sq) + MAX(Sq);
  13. IF (home[Green] = 5) AND (g[15] = 7) AND (x = 18) THEN ExitCode := 42
  14. ELSE ExitCode := 1 END
  15. END tminmax.