Какое минимальное число букв необходимо заменить в слове Х, с тем, чтобы оно стало перевертышем? - Pascal
Формулировка задачи:
Доброго времени суток!
Крайне необходима помощь экспертов в Pascal
Вот задания:
4. Какое минимальное число букв необходимо заменить в слове Х, с тем, чтобы оно стало перевертышем?
Во всех нужно написать свои ф-ции...
Если возможно написать коды как можно более простым языком - буду весьма признателен!
Заранее благодарю за любую помощь!
Решение задачи: «Какое минимальное число букв необходимо заменить в слове Х, с тем, чтобы оно стало перевертышем?»
textual
Листинг программы
function pal(t: string): integer;
var i, x: integer;
begin
x := 0;
for i := 1 to length(t) div 2 do
if t[i] <> t[length(t) - i + 1]
then inc(x);
pal := x
end;
var s: string;
k: integer;
begin
write('Введите строку: ');
readln(s);
k := pal(s);
if k = 0
then writeln('Это палиндром.')
else writeln('Количество букв, которые нужно заменить, чтобы получился палиндром: ', k);
readln
end.
Объяснение кода листинга программы
- Объявляется функция
palс параметромtтипа строка. - Объявляются переменные
iиxтипа целое число. - Инициализируется переменная
xзначением0. - Начинается цикл от
i=1доlength(t) div 2. - Проверяется, если
t[i]не равноt[length(t) - i + 1], то увеличивается значение переменнойxна 1 с помощьюinc(x). - Функция
palвозвращает значение переменнойx. - Объявляются переменные
sиkтипа строка и целое число соответственно. - Выводится сообщение
Введите строку:. - Считывается введенная строка в переменную
sс помощьюreadln(s). - Переменной
kприсваивается значение функцииpal(s). - Если
kравно 0, то выводится сообщениеЭто палиндром.. - В противном случае выводится сообщение
Количество букв, которые нужно заменить, чтобы получился палиндром:и значение переменнойk. - Программа ожидает ввода значения с помощью
readln.