Персональная страничка
Диканева Тараса
Викторовича

Главная \ Преподавательское \ Программирование для начинающих

15. Записи

Предыдущий раздел:

Следующий раздел:

15.1. Необходимость аггрегации данных

Реальные объекты определяются наборами взаимосвязанных характеристик. Скажем, вектор или точка задается набором своих координат. Хранение таких характеристик в отдельных переменных провоцирует ошибки. Можно, например, взять часть координат от одной точки, а часть от другой или подвергнуть преобразованию не все координаты и т.д. По этой причине следует стремиться соединять (аггрегировать) взаимосвязанные данные. Логическая связь между объектами решаемой задачи должна существовать не только в голове программиста, но и отражаться в используемых конструкциях языка программирования.

Простейшей конструкцией, позволяющей соединять однотипные данные, является массив. Для хранения координат точек (все координаты – имеют один и тот же тип, например real) массивов вполне достаточно. Если все координаты хранятся в одной переменной типа массив, то могут быть одновременно скопированы из одного места в другое, одновременно переданы какой-нибудь процедуре для обработки и т.п.

Однако, если задача не абстрактно-математическая, то координаты могут быть интересны не сами по себе, а в связи с дополнительной информацией: координатами кого или чего они являются. Скажем, если имеются в виду координаты населенных пунктов, может потребоваться хранить также названия этих пунктов, которые представляют собой текстовые строки. По названию населенного пункта может потребоваться найти его координаты или, введя координаты, вы захотите получить названия ближайших населенных пунктов. Массивы в такой ситуации не очень удобны. Придется создавать отдельно массив названий и массив координат.

Чтобы объединить в одну структуру (хранить в одной переменной) данные разных типов, в дополнение к массивам в Паскале предусмотрен еще один структурный тип – записи.

Следующий раздел:

Предыдущий раздел:

Добавить комментарий