Андрей Андреевич Марков создал данный алгоритм в 1940-х годах
Нормальный алгоритм Маркова — один из стандартных способов формального определения понятия алгоритма. Нормальные алгоритмы вербальны, то есть предназначены для применения к словам в различных алфавитах. Определение всякого нормального алгоритма состоит из двух частей: определения алфавита алгоритма и определения его схемы. Схемой нормального алгоритма называется конечный упорядоченный набор так называемых формул подстановки. То есть алгоритм выполняет пошаговое сравнение символов и их перестановку (если она необходима).
Так как в данной программе необходимо разработать программу, проверяющую слова (являются палиндромами или нет), то необходимости менять символы нет.
Палиндром - это слово, число, фраза или другая последовательность символов, которая читается одинаково справа на лево и наоборот. Например, слово МАДАМ. Существуют цифровые палиндромы, в том числе и даты. У палиндрома может быть разделяющий символ – символ относительно которого слово симметрично. Например, abcYcba, в данном случае Y – разделяющий символ.
Для того, чтобы можно было верифицировать результаты, необходимо «взять» пример визуализации алгоритма с сайта english2017.ru URL - http://english2017.ru/english-palindrome
В качестве примера берется слово RepapeR.
1.В слове 7 символов, разделяющий символ – «а» находится на 4 позиции.
2.Символ «p» на 3 позиции и символ «p» на 5 позиции равны.
3.Символ «е» на 2 позиции и символ «е» на 6 позиции равны.
4.Символ «R» на 1 позиции и символ «r» на 7 позиции равны.
5.Обе стороны равны, слово – палиндром, после аннулирования остаток «а».
Результат работы программы представлен на рисунке ниже.
В случае, если на какой-то позиции символы, не равны, программа выведет результат, как показано на следующем рисунке
Файл с алгоритмом называется Algorithm.exe