вторник, 8 февраля 2011 г.

Pascal. Множества


Каждый из объектов множества имеет  какую то взаимосвязь. Выражения указываются в квадратные скобки, например ['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

1 комментарий:

Сделай автору приятно - оставь комментарий!