zadach56.PAS

{* Задача 56 *}

Unit ZADACH56;
Interface
Implementation
Begin
 writeln('С клавиатуры вводится строка, содержащая фамилию имя и отчество.Все слова начинаются с маленькой буквы.Выполнить преобразования строки так, чтобы все слова начинались с большой буквы ');
End.

Program zadach56;

Uses zadach56.pas; {* Эту строку можно удалить *}
Var {* В работе нам потребуются переменные: *}
  sup   : String;
  sdown : String;
  s     : String;
  i     : char;
  ind   : byte;
Begin
  readln(s);
  sup := '                                '{32 пробела}
  sdown := '                                '{32 пробела}
  For i := 'А' To 'Я' Do {* Цикл для i => ['А' .. 'Я'] *}
  Begin
    ind := ind + 1;
    sup[ind] := i;
  End;
  ind := 0;
  For i := 'а' To 'п' Do {* Увеличиваем i от 'а' до 'п' с шагом 1 *}
  Begin
    ind := ind + 1;
    sdown[ind] := i;
  End;
  For i := 'р' To 'я' Do {* Цикл для i => ['р' .. 'я'] *}
  Begin
    ind := ind + 1;
    sdown[ind] := i;
  End;
  If pos(s[1], sdown)0 Then
    s[1] := sup[pos(s[1], sdown)]
  Else s[1] := upcase(s[1]);
    For ind := 2 To length(s) - 1 Do {* Увеличиваем ind от 2 до length(s) с шагом 1 *}
      If s[ind] = ' ' Then
        If pos(s[ind + 1], sdown)0 Then
          s[ind + 1] := sup[pos(s[ind + 1], sdown)]
        Else s[ind + 1] := upcase(s[ind + 1]);
          writeln(s);
End.