| 123456789101112131415161718192021222324252627 |
- MODULE Showcase4;
- // Scalar-complete tour (steps 1.9-2): WHILE sum, int->real,
- // real arith/comparisons, FOR, CASE with range, BOOLEAN gate.
- // Expected ExitCode: 44 (hand-computed).
- CONST Pi = 3.14;
- CONST Half = 0.5;
- VAR ExitCode, i, n : INTEGER;
- VAR r, s : REAL;
- VAR b : BOOLEAN;
- BEGIN
- (* 1+..+7 = 28 *)
- n := 0; i := 1;
- WHILE i <= 7 DO n := n + i; i := i + 1 END;
- r := n;
- (* 28/4 + 0.5 = 7.5 *)
- s := r / 4.0 + Half;
- b := (s > 7.0) AND (Pi > 3.0);
- (* 28 + 1 + 2 + 3 = 34 *)
- FOR i := 1 TO 3 DO n := n + i END;
- (* 34 MOD 4 = 2 -> +10 = 44 *)
- CASE n MOD 4 OF
- 0 : n := n + 100
- | 1..2 : n := n + 10
- ELSE n := n + 1
- END;
- IF b THEN ExitCode := n ELSE ExitCode := 0 END
- END Showcase4.
|