Использование в программе данных типа set дает ряд преимуществ: значительно упрощаются сложные операторы if , увеличивается степень наглядности программы и понимания алгоритма решения задачи, экономятся память, время компиляции и выполнения.
Имеются и отрицательные моменты, основной из них – отсутствие в языке Паскаль средств ввода-вывода элементов множества, поэтому программист сам должен писать соответствующие процедуры.
Пример. Операции над множествами.
uses crt;
type digits=set of 0..20;
var m1,m2,m0,l,f,t:digits;
i:integer;
ch1,ch2:byte;
{процедура формирования множества k,состоящих из элементов множества m, кратных ch}
procedure Form_Set(ch:byte;m:digits;var k:digits);
var i:integer;