Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4-Общая часть.docx
Скачиваний:
10
Добавлен:
01.07.2025
Размер:
39 Кб
Скачать
☆

1.3.2.2 Агрегаты данных

Массивы. Массивом называется упорядоченная индексированная совокупность однотипных элементов, имеющих общее имя. Элементами массива могут быть данные различных типов, включая структурированные. Каждый элемент массива однозначно определяется именем массива и индексом (номером этого элемента в массиве) или индексами, если массив многомерный. Для обращения к отдельному элементу массива указывается имя этого массива и номер (номера) элемента, заключенные в квадратные скобки.

Различают массивы статические и динамические.

Статический массив представляет собой массив, границы индексов и соответственно, размеры которого задаются при объявлении, т. е. Они известны еще до компиляции программы.

Формат описания типа статического массива:

Array [тип индексов] of <тип элементов>;

Динамический массив представляет собой массив, для которого при объявлении указывается только тип его элементов, а размер массива определяется при выполнении программы. В Delphi использование динамических массивов стало возможным, начиная с версии четыре.

Формат описания типа динамического массива:

Array of < тип элементов>;

После задания размера динамического массива для определения его длины, а также минимального и максимального номеров элементов используется функции Length(), Low(), и High(), соответственно. Нумерация элементов динамического массива начинается с нуля, по этому функция Low() для него возвращает значение нуль.

Для описания типа многомерного динамического массива, например двумерного используется конструкция

Array of Array of <тип элементов>;

Множества. Множество представляет собой совокупность элементов, выбранных из заранее определенного набора значений. Все элементы множества принадлежат одному порядковому типу, число элементов в множестве не может превышать 256 символов.

Формат описания множественного типа:

Set of <Тип элементов>;

Переменная множественного типа может содержать любое количество элементов своего множества – от нуля до максимального. Значение множественного типа заключается в квадратные скобки. Пустое множество обозначается как [].

Операции над множествами:

  • + - объединение;

  • - - разность;

  • - пересечение;

  • = - эквивалентность;

  • - неэквивалентность;

  • <= - проверка вхождения;

  • >= - проверка включения.

Кроме того, имеется операция In(проверка членства), которая определяет принадлежность выражения порядкового типа (первого операнда) множеству (второму операнду). Результат операции имеет тип Boolean и значение True в случае, если значение принадлежит множеству.

В Delphi множественные типы используются, например, для описания типа кнопок в заголовке окна TborderIcons или типа параметров фильтра TfilterOptionc:

Type TborderIcons = (bi SistemMenu, biMinimize, biMaxsimize, biHelp);

TborderIcons = set of TborderIcon;

Type TfilterOptionc = (foCaseInsensitive, foNoPartialCompare);

TfilterOptionc = set of TfilterOption;

Приведенные описания типов содержатся в исходных модулях Forms и Db, соответсвенно.

Записи. Запись – это совокупность логически связанных компонент различного типа.

Формат описания:

<имя записи>= Record

<имя компонента1>: <тип>;

………………………………

<имя компонента2>:<тип>;

End;

Каждая компонента называется полем. Никаких ограничений на тип полей записи нет. Для получения доступа к компоненте записи используется составное имя. Формат составного имени: <имя записи>.<имя поля>;

Разрешены все операции над множеством. Записи с идентичной структурой можно присваивать друг к другу.