Кортеж как последовательность и транспорт¶
Кортеж — многозначный термин, обозначающий, с одной стороны, упорядоченный набор элементов в математике и информатике, а с другой — группу транспортных средств, следующих совместно, обычно в сопровождении охраны или почётного эскорта. Оба значения объединяет идея строго заданной последовательности: элементы кортежа упорядочены и пронумерованы, а машины в кортеже движутся в установленном порядке. Термин используется в математике, теории баз данных, языках программирования, а также в дипломатической, военной и государственной практике.
¶Кортеж в математике
В математике кортеж — это конечная упорядоченная последовательность элементов, называемых компонентами или координатами. В отличие от множества, где порядок не важен и повторов быть не может, в кортеже порядок существенен, а элементы могут повторяться. Кортеж из n элементов обозначают круглыми скобками: (a₁, a₂, …, aₙ).
Ключевое свойство: два кортежа равны тогда и только тогда, когда совпадают их длина и все соответствующие компоненты. Так, пары (1, 2) и (2, 1) различны, тогда как множества {1, 2} и {2, 1} совпадают.
Частные случаи:
- Упорядоченная пара — кортеж из двух элементов, лежащий в основе определения декартова произведения и отношений.
- Вектор — кортеж чисел фиксированной длины, трактуемый как точка или направление в пространстве.
- n-ка — общее название кортежа длины n.
Формально кортеж можно определить через понятие упорядоченной пары, применяя её последовательно: (a, b, c) = ((a, b), c). Это позволяет свести теорию кортежей к теории множеств.
¶Кортеж в информатике и программировании
В программировании кортеж (англ. tuple) — составной тип данных, объединяющий несколько значений, возможно разных типов, в одну неизменяемую структуру. В отличие от списка или массива, кортеж обычно нельзя изменить после создания: нельзя добавить, удалить или заменить элемент.
Особенности:
- Неизменяемость — после создания кортеж фиксирован, что делает его безопасным для использования в качестве ключа словаря или элемента множества.
- Разнотипность — элементы могут принадлежать разным типам (число, строка, другой кортеж).
- Индексация — доступ к элементам по порядковому номеру, начиная с нуля в большинстве языков.
Кортежи поддерживаются во многих языках: Python, где записываются как (1, "текст", 3.5); Haskell, Scala, F#; в C++ аналогом служит std::tuple; в Swift и Rust — встроенные типы. В реляционных базах данных кортежем называют одну строку (запись) отношения, то есть набор значений по атрибутам таблицы.
¶Кортеж как группа транспортных средств
В практическом значении кортеж — организованная колонна автомобилей, движущихся по одному маршруту. Различают несколько видов:
| Вид | Назначение |
|---|---|
| Дипломатический | Проезд официальных делегаций, послов |
| Свадебный | Перемещение участников торжества |
| Траурный | Следование к месту погребения |
| Военный | Передвижение техники и охраны |
| Почётный эскорт | Сопровождение высоких гостей |
Дипломатические и государственные кортежи сопровождаются сотрудниками специальных служб, полицией и машинами прикрытия. В России порядок сопровождения регулируется правилами дорожного движения: транспорт с включённым проблесковым маячком синего цвета и специальным звуковым сигналом получает приоритет. Организация кортежей возлагается на подразделения ГИБДД и Федеральной службы охраны.
¶История и этимология
Слово происходит от французского cortege — «свита, сопровождающие лица», которое, в свою очередь, восходит к итальянскому corteggio, связанному с corte — «двор». Изначально кортеж означал торжественную процессию при дворе: свиту монарха, участников церемоний, въезд высокопоставленных особ в город.
В русский язык слово вошло в XVIII веке в значении «торжественное шествие, поезд». Позднее значение расширилось: кортежем стали называть любую организованную колонну, а в XX веке термин закрепился и в точных науках как перевод английского tuple.
¶Применение и значение
В математике кортежи лежат в основе теории отношений, линейной алгебры, математического анализа. В информатике они обеспечивают компактное представление связанных данных, возврат нескольких значений из функции, обмен значениями между переменными. В базах данных понятие кортежа — базовое для реляционной модели, предложенной Эдгаром Коддом.
В транспортной сфере кортежи обеспечивают безопасность официальных лиц, организацию массовых мероприятий и координацию движения. Требования к их формированию, скорости и маршруту определяются регламентами и зависят от статуса участников.
¶Интересные факты
- В языке Python кортеж из одного элемента требует запятой:
(1,), иначе выражение будет просто числом в скобках. - Название «tuple» ввёл в употребление в середине XX века как обобщение слов single, double, triple, quadruple и так далее.
- Дипломатические кортежи в ряде стран пользуются правом беспрепятственного проезда, закреплённым Венской конвенцией о дипломатических сношениях 1961 года.
- В реляционных базах данных число кортежей в отношении называется кардинальным числом, а число атрибутов — арностью.
Источники: учебники по дискретной математике и теории множеств; документация языков программирования Python, C++, Haskell; материалы по реляционным базам данных Э. Кодда; правила дорожного движения РФ; Венская конвенция о дипломатических сношениях 1961 года; толковые словари русского языка.