s:=s+c;
if f then {слово началось }
if c in ['a'..'z','A'..'Z'] then k:=k+1
else begin if k>max then max:=k; f:=false end
else {f=false}
if c in ['a'..'z','A'..'Z'] then begin f:=true; k:=1 end
until c='.';
writeln(s,max);
for i:=1 to length(s) do
begin
cnew:=chr(ord(s[i])+max);
case s[i] of
'a'..'z':if cnew>'z' then write(chr(ord(cnew)-26))
else write(cnew);
'A'..'Z':if cnew>'Z' then write(chr(ord(cnew)-26))
else write(cnew);
else write(s[i])
end; end; readln; readln;
end.
Комментарий Программа читает входные данные, сразу подсчитывая максимальную длину встречающихся слов. За второй проход исходных данных производится замена букв латинского алфавита и печать расшифрованного сообщения.
Например, если зашифрованный текст был таким:
Zb Ra Ca,Dab Ra.
То результат расшифровки должен быть следующим:
Ce Ud Fd,Gde Ud.
РЕШЕНИЕ