P
pro·school.ru
Каталог школ

Переворот строки и проверка на палиндром

💻 Информатика · 8 класс

Перевернуть строку

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

У каждого символа в строке есть свой номер — индекс. Зная индексы, можно обращаться к любому символу и собирать из них новые строки. Длину строки, то есть число символов в ней, обычно тоже можно узнать специальной операцией.

Как развернуть строку

Чтобы получить перевёрнутую строку, проходят исходную с конца к началу и приписывают символы к новой, изначально пустой строке. Можно поступить и иначе: идти с начала, но каждый очередной символ добавлять в начало результата. Оба способа дают одинаковый ответ.

исходная = "шалаш"
результат = ""
для i от длины до 1 (шаг -1):
результат = результат + символ(i)
вывод: результат (получится "шалаш")

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

Что такое палиндром

Палиндром — это слово или фраза, которые читаются одинаково слева направо и справа налево. Чтобы проверить, является ли строка палиндромом, сравнивают исходную строку с её перевёрнутой версией: если они полностью совпали, строка является палиндромом, иначе — нет.

СтрокаПеревёрнутаяПалиндром?
шалашшалашда
топоттопотда
зебраарбезнет

Существует и более экономный способ проверки, не требующий полного переворота строки. Символы сравнивают попарно, двигаясь от краёв к середине: первый символ сравнивают с последним, второй — с предпоследним и так далее. Как только встретилась хотя бы одна несовпадающая пара, можно сразу сказать, что это не палиндром, и дальше не проверять. Этот способ работает быстрее, потому что не нужно строить новую строку и хватает прохода до середины.

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

При проверке фраз обычно заранее убирают пробелы и не различают заглавные и строчные буквы, иначе фраза вроде «А роза упала на лапу Азора» не будет распознана. Но в простых учебных задачах работают с одним словом без пробелов, и тогда достаточно прямого сравнения символов.

Правило: при проверке на палиндром удобно сравнивать символы попарно с краёв к центру. Если все пары совпали — строка палиндром. Достаточно одного несовпадения, чтобы прекратить проверку и дать отрицательный ответ.

Кратко о главном

  • Переворот строки меняет порядок символов на обратный.
  • К каждому символу обращаются по его индексу.
  • Палиндром читается одинаково в обе стороны.
  • Палиндром проверяют сравнением строки с её переворотом или попарно с краёв.