集合

集合型は set of 基底型 と書き,基底型の要素を持つ集合を表します。

次のプログラムは,集合型を用いたプログラムの例です。

program sample(output);
var
  a, b : set of 1..10;

begin
  a := [ 1, 3, 5..8 ];  { a の要素は 1, 3, 5, 6, 7, 8 }
  b := [ 1, 3, 6, 8 ];  { b の要素は 1, 3, 6, 8 }

  writeln(a = b);    { false }
  writeln(a > b);    { true }
  writeln(5 in a);   { true }
  writeln(5 in b);   { false }
end.

集合型のリテラルは,[ 2, 5, 5..8 ] のように角括弧で囲って書きます。

集合演算

集合型には次の演算子を用いることができます。

演算子説明
+和集合[1,2,3] + [4] → [1,2,3,4]
-差集合[1,2,3] - [2] → [1,3]
*積集合[1,2,3] * [2,3,4] → [2,3]
=等しい集合[1,2,3] = [1,2,3] → true
<>異なる集合[1,2,3] <> [1,2,3] → false
a < b, b > aa は b の真部分集合[1,2,3] < [1,2,3] → false
a <= b, b >= aa は b の部分集合[1,2,3] <= [1,2,3] → true
e in ae は a の要素1 in [1,2,3] → true