profile
Опубликовано - 1 месяц назад | По предмету Информатика | автор Аноним

Создайте программу на языке Паскаль, которая будет определять: является ли данная строка, введенная пользователем, палиндромом.

  1. Ответ
    Ответ дан Горбачёва Маша
    varn ac: array of char;n s: string;nlen: integer;n i: integer;n fl: boolean;nbeginnn write('Введите строку =');n readln(s);n SetLength( length(s) );n for i:= 1 to length(s) do ac[i]:= s[i];nn f:= true;n len:= length(ac);n for i := 1 to ( len div 2 ) don beginn if ac[i] <> ac[len -i +1] then begin f:= false; break; end;n end;nn if f then writeln('палиндромом')n else writeln('обычная строка');nnend.nnПалиндромом это строка, которая читается одинаково с обоих сторон.nnВначале вводится строка "s", и проще было бы сразу проверить строку. Но т.к. в условии сказано, что тип должен быть "char", то строка посимвольно копируется в массив "ас[]". Размерность массива "ас" устанавливается процедурой "SetLength", равной количеству введенных с клавиатуры символов.nnЛогическая переменная "f" используется как флаг, если "f" равное "true", то строка палиндромом, иначе это обычная строка.nВ цикле каждый элемент массива "ac" сравнивается с симметричным ему элементом с обратного конца массива.nЕсли находится хоть один такой элемент, "f" присваивается "false" и цикл прекращается.nnПо окончании цикла, в зависимости от значения переменной "f" выводится результат.
    0