s_range.LST 556 B

12345678910111213141516171819
  1. Listing:
  2. 1 MODULE SRange;
  3. 2 VAR a, b, c : SET OF [0 .. 15]; ExitCode : INTEGER;
  4. 3 BEGIN
  5. 4 a := {1 .. 5};
  6. 5 b := {4 .. 8};
  7. 6 c := a + b;
  8. 7 ExitCode := 0;
  9. 8 IF (1 IN c) AND (8 IN c) AND ~(0 IN c) THEN ExitCode := 3 ELSE ExitCode := 0 END;
  10. 9 c := a * b;
  11. 10 IF (4 IN c) AND (5 IN c) AND ~(1 IN c) THEN ExitCode := ExitCode + 7 ELSE ExitCode := 0 END;
  12. 11 c := a - b;
  13. 12 IF (1 IN c) AND ~(4 IN c) THEN ExitCode := ExitCode + 11 ELSE ExitCode := 0 END
  14. 13 END SRange.
  15. 0 errors