| 12345678910111213141516171819202122232425262728 |
- MODULE Showcase6;
- // Step 3.1 tour: 1-D + nested arrays, whole copies (incl. nested),
- // strings, bounds-checked indexing. Expected ExitCode: 34.
- TYPE Vec = ARRAY [0..5] OF INTEGER;
- TYPE Mat = ARRAY [0..1, 0..2] OF INTEGER;
- VAR ExitCode, i, sum : INTEGER;
- VAR v, v2 : Vec;
- VAR m, m2 : Mat;
- VAR s : ARRAY [0..3] OF CHAR;
- BEGIN
- (* 0+1+..+5 = 15 *)
- sum := 0;
- FOR i := 0 TO 5 DO v[i] := i; sum := sum + v[i] END;
- m[0, 0] := 1; m[0, 1] := 2; m[0, 2] := 3;
- m[1, 0] := 4; m[1, 1] := 5; m[1, 2] := 6;
- (* 15 + 3 + 4 = 22 *)
- sum := sum + m[0, 2] + m[1, 0];
- s := "abcd";
- (* +2 = 24 *)
- IF s[3] = 'd' THEN sum := sum + 2 END;
- v2 := v;
- (* +5 = 29 *)
- sum := sum + v2[5];
- m2 := m;
- (* +5 = 34 *)
- sum := sum + m2[1, 1];
- ExitCode := sum
- END Showcase6.
|