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

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;

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

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