Как сделать чтоб программа не воспринимала Заглавные буквы - Turbo Pascal

Формулировка задачи:

Помогите пожалуйста , есть прога для проверки слов перевертышей. Когда вводишь все маленькие либо большие буквы, то все нормально. А когда первая заглавная, а последняя маленькая, то пишет что слово не перевертыш. Как исправить? Код программы:
program p3;
var
    s: string; {объявление переменных}
    i,l: byte;
begin
    readln(s); {считывание строки}
    l := length(s); {вычисление длины строки}
    if l < 2 then exit;
 
    i := 1; {удаление пробелов}
    while i <= l do begin
        if s[i] = ' ' then begin
            delete(s,i,1);
            l := l - 1;
        end
        else
            i := i + 1;
    end; 
{вывод строки после удаления пробелов}
    writeln(s);
    if l < 2 then exit;
 {нахождение слова-перевертыша}
    for i:=1 to l div 2 do 
        if s[i] <> s[l-i+1] then begin
            writeln('Ne perevertysh');
            exit;
        end;
    writeln('Perevertysh');    
end.


textual

Код к задаче: «Как сделать чтоб программа не воспринимала Заглавные буквы - Turbo Pascal»

const NY: array [Boolean] of String[3] = ('','НЕ ');
function UpCase(c: Char): Char;
begin
  case c of
    'a'..'z', 'а'..'п': Dec(c,32);
    'р'..'я': Dec(c,80);
    'ё': Dec(c);
  end;
  UpCase:=c;
end;
var
  s: String;
  i, j: Integer;
begin
  Write('Введите строку: '); ReadLn(s);
  for i:=Length(s) downto 1 do begin
    s[i]:=UpCase(s[i]);
    if not (s[i] in ['0'..'9','A'..'Z','А'..'Я','Ё']) then Delete(s,i,1);
  end;
  i:=1; j:=Length(s);
  while (i<j) and (s[i]=s[j]) do begin
    Inc(i); Dec(j);
  end;
  WriteLn('Фраза -- ',NY[i<j],'палиндром');
end.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

7   голосов, оценка 3.857 из 5

Источник