zadach288.PAS

{* Задача 288 *}

Unit ZADACH288;
Interface
Implementation
Begin
 writeln('В записке слова зашифрованы — каждое из них записано наоборот. Расшифровать сообщение.');
End.

Program zadach288;

Uses zadach288.pas; {* Эту строку можно удалить *}
Uses crt; {* Подключение модулей *}
Const {* Постоянные значения *}
  pr = [' ''.'', ''?''!'':''('')'];
Var {* В работе нам потребуются переменные: *}
  s  : String;
  s1 : String;
  s2 : String;
  s3 : String;
  i  : integer;
  j  : integer;
Begin
  clrscr; {* Очистка экрана *}
  writeln('Введите строку символов: ');
  readln(s);
  s1 := '';
  For i := 1 To length(s) Do {* Цикл для i => [1 .. length(s)] *}
  Begin
    If Not(s[i] In pr) Then
      s1 := s1 + s[i];
    If (s[i] In pr) Or (i = length(s)) Then {
    Else }

    Begin
      s2 := s1;
      For j := 1 To length(s1) Do {* Увеличиваем j от 1 до length(s1) с шагом 1 *}
        s2[j] := s1[length(s1) - j + 1];
      s1 := '';
      If s[i] In pr Then
        s3 := s3 + s2 + s[i]
      Else s3 := s3 + s2;
        s2 := '';
    End;
    
  End;
  writeln('Расшифрованная строка имеет вид: ');
  writeln(s3);
  readln
End.