Listing: 1 MODULE ASieve; 2 VAR isP : ARRAY [2 .. 30] OF BOOLEAN; i, j, n, s : INTEGER; ExitCode : INTEGER; 3 BEGIN 4 FOR i := 2 TO 30 DO isP[i] := TRUE END; 5 FOR i := 2 TO 5 DO 6 IF isP[i] THEN 7 j := i * i; 8 WHILE j <= 30 DO 9 isP[j] := FALSE; 10 j := j + i 11 END 12 END 13 END; 14 s := 0; n := 0; 15 FOR i := 2 TO 30 DO 16 IF isP[i] THEN s := s + i; n := n + 1 END 17 END; 18 ExitCode := s 19 END ASieve. 0 errors