Делалось с использованием http://itteach.ru/pascal/pascal-mnozhestvo-set-of

Множество (SET OF)

В Паскале Множество - совокупность неупорядоченных данных указанного (базового) типа. Базовый тип:

  1. должен быть упорядоченным (порядковым);
  2. должен иметь не более 256 возможных значений;
  3. *порядковые значения* (значения, возвращаемые функцией ord) базового типа не должны выходить из диапазона от 0 до 255.

Поэтому, базовым типом множества не может быть ни Real (не порядковый тип), ни типы ShorInt, Integer, LongInt или Word (несовпадение диапазонов).

Переменная типа множество может принимать как все значения множества, так и ни одного.

Любой множественный тип может принимать значение [], которое называется пустым множеством.

Множество можно описать тремя способами:

 1. В разделе описания переменных:
    var <имя множества>:set of <базовый тип>;
 2. В разделе описания типов:
    type <имя типа>=set of <базовый тип>;
    >var <имя множества>:<имя типа>;
 3. В разделе описания констант:
 

Примеры описания массивов

      type 
        up =set of ‘A’..’Z’;
        low=set of ‘a’..’z’;
 
      const
        upcase:up=[’A’..’Z’] ;
        voc:low[’a’,’e’,’i’,’o’,’u’,’y’] ;
        delimeter: set of char=[’ ‘../,:..’?’];
 

Значения переменных и константы множества задаются в разделе операторов с помощью конструктора. Конструктор-список элементов базового типа, заключенных в квадратные скобки.

Над множествами возможны операции:

Операция объединения: С:=А+В

Операция пересечения: С:=А*В

Операция разности: С:=А-В

Операция равенства(совпадения) множеств: С=В

Операция неравенства: C <> B

Операция проверки на вхождение множества в множество: A ⇐ B - включено ли А в В;

Операция проверки на вхождение элемента в множество (in): С in B - входит ли элемент С в множество В

CC Attribution-Noncommercial 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0