Каждый из объектов множества имеет какую то взаимосвязь. Выражения указываются в квадратные скобки, например ['a'..'z'] [1,3,4,5]. Множество на Pascal объявляется так set of - множество из.
var s: Set of 0..9; // Множество может принимать значение от 0 до 9 m: Set of 'a'..'z'; // множество принимает символы от a до z t: Set of Char; // может принимать любое символьное значениеОперации над множествами.
Операция in для проверки вхождения в множество, проверяет входит ли значение в множество.
Var a: Set of 1..5; b: integer; begin a := [1..5]; WriteLn('Vvedite znashenie b ='); ReadLn(b); if b in a then WriteLn('True - vhodit') else WriteLn('False - ne vxodit'); end.Операция '='. Если значение равно то результат принимает True если не равно False.
Var s,b: Set of 'a'..'z'; j: Boolean; // Результат begin s := ['a','g','c']; b := ['a','c','g']; j := s = b; // Сравниваем значения s и b. WriteLn(j); end.
Пересечение множеств (*). Если значения двух множеств пересекаются, то результатом будет их пересечения.
Var s,b,j: Set of 1..100; begin s := [1,4,5,2,5]; b := [1..100]; j := s * b; end.Операция (-). Разность множеств. Допустим что у нас [1,5,7,3] - [4,1,7,3,5] то результат будет то что не входит, то есть это 4.
var s,b,rezult: Set of Byte; begin s := [1,2,3,4,5]; b := [5,4,3,2]; rezult := s - b; // Результат '1'. end.
Var s,b,j: Set of 1..9; begin s := [1,2,3,4,5]; b := [6,7,8,9]; j := s + b; // Результат 1,2,3,4,5,6,7,8,9 end.
<> - не равно. ['a','f','g'] <> ['a','f','j'] = True
<= - меньше или равно. ['b','g'] <= ['b','c','v'] = True
>= - больше или равно ['s','b'] >= ['f'] даст False
Операции '<' и '>' не допустимы!
Еще есть две процедуры для множеств:
Include(s,i) - Включает новый элемент I в множество S
Exclude(s,i) - Исключает элемент I из множества S
спс
ОтветитьУдалить