t_be_full.LST 721 B

123456789101112131415161718192021222324252627
  1. Listing:
  2. 1 MODULE BeFull;
  3. 2 CONST Limit = 20;
  4. 3 TYPE
  5. 4 Range = [1 .. 10];
  6. 5 Point = RECORD x, y : INTEGER END;
  7. 6 Table = ARRAY Range OF INTEGER;
  8. 7 VAR p : Point; t : Table; k, n : INTEGER; ch : CHAR;
  9. 8 BEGIN
  10. 9 p.x := 3; p.y := 4;
  11. 10 FOR k := 1 TO 10 DO t[k] := k * k END;
  12. 11 n := t[p.x] + t[p.y];
  13. 12 CASE n OF
  14. 13 1, 2 : ch := 'a'
  15. 14 | 3 .. 30 : ch := 'b'
  16. 15 ELSE ch := 'z'
  17. 16 END;
  18. 17 REPEAT n := n + 1 UNTIL n >= Limit;
  19. 18 LOOP IF n > 100 THEN EXIT END; n := n + 1 END;
  20. 19 WITH p DO p.x := p.y END;
  21. 20 IF (NOT (n < 0)) AND (ch # 'q') OR (16 = 10H) THEN n := 0 END
  22. 21 END BeFull.
  23. 0 errors