Множества
Множество - это набор однотипных логически связанных друг с другом объектов. Порядок следования элементов в множестве безразличен. Количество элементов, входящих в множество, может в Паскале меняться в пределах от 0 (пустое множество) до 255. Паскаль позволяет программно менять состав множества, включая в него и исключая из него элементы. Именно непостоянством количества своих элементов множество отличается от массива. При включении во множество уже имеющегося там элемента, множество не изменяется (то есть, каждый элемент может входить во множество только один раз). У элементов множества нет индексов, поэтому выражение «пятый элемент множества» не имеет смысла.
Два множества считаются эквивалентными тогда и только тогда, когда все их элементы одинаковы. Если все элементы одного множества входят в другое, говорят о включении первого множества во второе. Пустое множество включается в любое другое.
Константное множество заключается в квадратные скобки. Например, множество [5,3,7]. В качестве элементов множества могут использоваться данные любого порядкового типа с количеством значений не более 256 (т.е., Word, Integer, Longint не могут быть базовыми типами для множества).
Переменная, содержащая множество объявляется в разделе VAR с помощью описателя Set Of, после которого указывается базовый тип. Например:
Над множествами можно выполнять такие действия:
1. Присваивать переменной-множеству константное множество: m:=[1,2,5];Если в правой части присваивания содержатся элементы, не входящие в базовый тип переменной (но удовлетворяющие требованиям к элементам множества), сообщения об ошибке не будет, они просто будут проигнорированы.
2. Включать в множество новый элемент: Include(m,15); Элемент, не входящий в базовый тип, включён в множество не будет.
3. Исключать из множества отдельный элемент: Exclude(m,15); Если исключаемого элемента в множестве и так нет, ошибки не будет.
4. Находить объединение двух множеств: m3:=m1+m2; (Множествоm3содержит все элементы множеств m1и m2)
5. Находить пересечение двух множеств: m3:=m1*m2; (Множествоm3содержит все элементы, входящие одновременно в множества m1и m2)
6. Разность множествm3:=m1-m2; (Результат содержит элементы из первого множества, которые не принадлежат второму)
7. Проверка эквивалентности; m1=m2 возвращает TRUE, если оба множества эквивалентны;
8. Проверка неэквивалентности; m1<>m2возвращает TRUE, если оба множества неэквивалентны;
9. Проверка вхождения; m1<=m2возвращает TRUE, если первое множество включено во второе;
10. Проверка вхождения; m1>=m2возвращает TRUE, если второе множество включено в первое;
11. Проверка принадлежности; a IN b В этой операции первый элемент - выражение, а второй - множество одного и того же типа. Проверка возвращает TRUE , если выражение a имеет значение, принадлежащее множествуb.
Дата добавления: 2014-12-18; просмотров: 1098;