
- •Системное программное обеспечение
- •II. Трансляторы
- •1. Общие сведения о трансляторах
- •1.2. Синтаксис языка.
- •1.3. Семантика.
- •1.4. Лексический анализ.
- •1.5. Синтаксический анализ.
- •2. Общие особенности языков программирования и трансляторов
- •5. Различия формальных грамматик языков.
- •2.2. Общие характеристики и параметры языков программирования.
- •2.3. Особенности трансляторов.
- •III. Структуры, организация, хранение и поиск данных
- •1. Структуры данных
- •1.1. Статические структуры данных.
- •Массив как статическая структура данных
- •Линейный поиск в массивах данных
- •Способы сортировки в массивах данных
- •1. Пузырьковая сортировка (попарные перестановки).
- •2. Сортировка выбором.
- •3. Сортировка простыми вставками.
- •Некоторые рекомендации при работе с массивом
- •Запись как статическая структура данных
- •Статическая структура данных – множество
Статическая структура данных – множество
Множество – структурированный тип, подобно массивам и записям.
Множественный тип данных строится на основе некоторого базового типа, в качестве которого используется любой ограниченный тип, кроме неограниченного целого и вещественного типов.
Структура объявления множественного типа:
type
<имя_множественного_типа>=set of <базовый_тип>;
базовый_тип определяет конечное множество значений множественного типа; любые подмножества базового множества могут являться значениями переменных множественного типа.
Структура объявления переменной множественного типа:
var
<имя_множества>: set of <множественный_тип>;
Множества, как массивы, объединяют однотипные элементы, поэтому в описании множества обязательно должен быть указан тип его элементов.
Например:
type
City=(Moscow, Petersburg, Paris);
Mncity=set of City;
var
P1: Mncity;
P2: set of ‘A’..’F’;
P3: set of 0..9;
Переменная P1 множественного типа Mncity может принимать 23=8 различных значений:
[Moscow], [Petersburg], [Paris]
[Moscow, Paris], [Moscow, Petersburg], [Petersburg, Paris]
[Moscow, Petersburg, Paris]
[]
Переменной P2 присвоится одно и то же множественное значение в результате работы следующих операторов присвоения:
P2:=[‘A’,’B’,’C’,’D’,’E’,’F’];
P2:=[‘A’..’C’..’F’];
P2:=[‘A’,’B’,’C’..’F’];
В отличие от массивов и записей, во множествах отсутствует возможность индексирования отдельных элементов.
Тип множество соответствует математическому понятию множества в смысле операций, которые допускаются над структурами такого типа:
объединение множеств: +
пересечение множеств: *
разность множеств: -
операции отношения: =, <>, <=, >=, IN – проверка принадлежности (бинарная операция, где первый элемент – выражение, второй – множество того же типа; возвращает TRUE, если выражение имеет значение, принадлежащее множеству).