Множества.ppt
- Количество слайдов: 14
Множества
В качестве базовых типов могут использоваться: ¢ тип-перечисление; ¢ символьный; ¢ byte; ¢ тип-диапазон
I. Описать множество Type <имя_типа>= set of <базовый_тип> Пример Type symbol= set of char; Var letter, digits, sign: symbol; Const digits: set of char= [‘ 0’. . ‘ 9’];
II. Задать множество Имя_множества : =[перечисление элементов множества через запятую ] digits: = [‘ 0’. . ‘ 9’]; letter: = [‘a’. . ‘z’]; c: = [];
III. Операции над множествами + - объединение множеств; ¢ * - пересечение множеств; ¢ - - Разность множеств; ¢ =, <> - проверка множеств на равенство, неравенство; ¢ <, > - проверка множеств на включение; ¢ in - проверка на принадлежность элемента множеству ( c in a). ¢
Объединение множеств Результатом операции (S 1 + S 2) является множество, которое состоит из всех элементов множества S 1 и всех элементов множества S 2, при этом каждый элемент входит только один раз. S 1: =[1, 2]; S 2: =[2, 3, 4]; S 3 : = S 1+S 2; {Теперь S 3=[1, 2, 3, 4]}
Пересечение множеств Результатом операции (S 1 * S 2) является множество, состоящее из тех элементов, которые входят и в множество S 1, и в множество S 2. S 1: =[1, 2]; S 2: =[2, 3, 4]; S 3: =S 1*S 2; {теперь S 3=[2]}
Разность множеств Результатом операции (S 1 - S 2) является множество, которое состоит из тех элементов, которые входят в множество S 1, но не входят в множество S 2. S 1: =[1, 2]; S 2: =[2, 3, 4]; S 3: =S 1 -S 2; {теперь S 3=[1]} S 3: =S 2 -S 1; {теперь S 3=[3, 4]}
Проверка на равенство (оператор =) Результат будет равен TRUE, если множества состоят из одинаковых элементов, и равен FALSE в противном случае. S 1: =['a', 'b', 'c', 'd']; S 2: =['c', 'd', 'b']; S 3: =['a', 'b', 'd', 'b', 'c', 'a']; if S 1=S 2 then. . . {результат FALSE, оператор не выполнится} if S 1=S 3 then. . . {результат TRUE, оператор выполнится}
Проверка на неравенство (оператор <>) Результат будет равен TRUE, если в множествах не совпадает хотя бы один элемент. Для предыдущего примера if S 1<>S 2 then. . . {результат TRUE, оператор выполнится} if S 1<>S 3 then. . . {результат FALSE, оператор не выполнится}
Проверка на подмножество ¢ Для (S 1<S 2) результат будет равен TRUE, если все элементы S 1 содержатся в S 2. ¢ Для (S 1>S 2) результат будет равен TRUE, если все элементы S 2 присутствуют в S 1.
Проверка, входит ли элемент в множество Для выражения E in S результат будет равен TRUE, если значение Е включено в S. S: =['h', 'e', 'l', 'o']; ch 1: ='e'; ch 2: ='x'; i: =0; if ch 1 in S then. . . {результат TRUE} if ch 2 in S then. . . {результат FALSE} if i in S then. . . {ошибка! тип i не совпадает с базовым типом множества}
IV. Ввод множества Type symbol= set of char; Var letter : symbol; c: char; … for i: =1 to n do begin readln(c); letter : = letter +[c]; end;
V. Вывод множества for i: =‘A’ to ‘Z’ do if i in letter then write(i);
Множества.ppt