Отправляет email-рассылки с помощью сервиса Sendsay

Дистанционное обучение

  Все выпуски  

Уроки и методика преподавания информатики для учителей очередная задача www.thl.narod.ru


очередной выпуск моей рассылки иочередная задача:
Для заданной строки символов проверить, является ли она симметричной или нет. (Симметричной считается строка, которая одинаково читается слева направо и справа налево).
вот ее решение:
Проще всего в этой задаче определить длину строки n, организовать цикл по номеру символа в строке и сравнивать попарно первый символ с последним, второй - с предпоследним и т.д. Если хотя бы одна пара различна, то строка не симметричная. Так как просматривается сразу пара символов, то в цикле будет m = n div 2 повторений. Для запоминания результата просмотра введем переменную k (k будет равна 0, если строка симметрична и 1 иначе).
Программа, решающая эту задачу, будет иметь вид:
var s:string;
i,k,n,m:integer;
begin
readln(s);
n:=length(s);
k:=0;
m:=n div 2;
for i:=1 to m do
if s[i]<>s[n-i+1] then k:=1;
if k=0 then writeln('Строка симметрична')
else writeln('Строка несимметрична');
end.

В избранное