Открыть сервисСервис

Слова задом наперёд

Слова задом наперёд — последовательность букв слова, записанная в обратном порядке (от последней буквы к первой). Такая трансформация является элементарной операцией над строками в лингвистике, информатике и математике, а также распространённым приёмом в играх, криптографии и культуре.

Математическое определение

Пусть слово представляется строкой символов $w = a_1a_2\ldots a_n$. Его обращение (реверс) — строка $w^R = a_n a_{n-1}\ldots a_1$. Операция обращения встречается в комбинаторике при подсчёте палиндромов и в теории формальных языков. Длина слова при обращении не меняется.

Примеры:

Исходное словоЗадом наперёд
МосквааквоСМ
книгаагинк
доммод
шалашшалаш

Некоторые слова, обращённые на себя (шалаш, аргентина манит грана, ротор), называются палиндромами.

В информатике

Обращение строки — одна из базовых задач программирования, типичное упражнение на начальных курсах. Наиболее известный «русский» пример — программа «Морской бой», опубликованная в журнале «Наука и жизнь» (1985, № 10), где слово «ротатор» использовалось как пример палиндрома. Классический алгоритм обращения строки за $O(n)$:

`` function reverse(s): result = "" for i = len(s)-1 down to 0: result += s[i] return result ``

В языках программирования с неизменяемыми строками (Java, Python) обращение выполняется срезом s[::-1] (Python) или через StringBuilder.reverse(). В функциональных языках обращение выражается рекурсивно:

`` reverse([]) = [] reverse(x::xs) = reverse(xs) ++ [x] ``

Палиндромы

Палиндромы — слова, фразы и последовательности, одинаковые при чтении в обоих направлениях. Известные русские примеры: «А роза упала на лапу Азора», «Аргентина манит грана», «Кенгуру», «Шалаш». Палиндромы изучаются в рамках recreational mathematics и используются в генетике для описания структур ДНК.

Применение

Криптография

Обращение строки применяется в элементарных шифрах (шифр Атбаш, обратная запись) и как преобразование в более сложных конструкциях. В современной криптографии обращение выступает как перестановка битов или байтов, например в алгоритмах семейства AES при операциях над состоянием.

Естественный язык

В некоторых языках слово, прочитанное задом наперёд, даёт другое слово. В русском языке таких пар немного: «кот» — «ток», «нота» — «атон», «кабан» — «набак». В японском языке существует понятие «сатори» (悟り), которое при обращении даёт «ириасу» (いりあす) — «мочь», что считается одним из самых известных лингвистических палиндромов.

Логопедия и развитие речи

Упражнения на обращение слогов и слов используются в логопедической практике для развития фонематического слуха и артикуляции. Ребёнку предлагается произнести «ка-ша» как «ша-ка», что тренирует контроль над речевым аппаратом.

Компьютерные игры

В играх-квестах и текстовых приключениях обращённые слова и фразы служат шифрами для прохождения головоломок. В настольных ролевых играх и квест-комнатах обращённые надписи — распространённый элемент декораций.

Интересные факты

  • Самое длинное русское слово-палиндром — «приветривип», однако в словарях оно отсутствует; из словарных слов выделяют «деловитость» (не палиндром) и «оптимист» (нет). Действительно длинных словарных палиндромов в русском языке немного: «шалаш», «репер», «комок», «якорь» (нет) — большинство известных примеров это фразы.
  • В математике число палиндромов длины $n$ над алфавитом из $k$ символов равно $k^{\lceil n/2 \rceil}$.
  • Обращение слова «Бог» на латинице (DEOG) не даёт осмысленного результата, но в иврите обращение даёт «гев» (גב) — «спина».

См. также

  • Палиндром
  • Шифр Атбаш
  • Реверс строки

Источники

  • Кнут Д. «Основы программирования»
  • Гарднер М. «Математические головоломки и развлечения»
  • Журнал «Наука и жизнь», 1985, № 10
  • Википедия: статьи «Палиндром», «Реверс строки»
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru