TOCHKA.PAS

{* Вставка разделителя в слово №1 *}

Unit TOCHKA;
Interface
Implementation
Begin
 writeln('После каждого четвертого символа поставить точку и удалить последние "лишние" символы. ');
End.

{  Вставка разделителя в слово     Программа запрашивает ввод строки, а затем производит вставку  после каждого четвёртого символа точку и удаляет "лишние" символы.    Задание. После каждого четвертого символа поставить точку и удалить последние    "лишние" символы    кл слова    вход    Введите строку: best_program      выход    Результат: best._pro.gram.        }
Uses crt; {* Вызов внешних функций *}

Uses TOCHKA.pas; {* Эту строку можно удалить *}
{* Подключаем внешние файлы *}
{* Подключение модулей *}
{* Вызов внешних функций *}
{* Подключение модулей *}
Var {* Объявление переменных *}
  S    : String;
  s1   : String;
  s2   : String;
  i    : integer;
  Last : integer;
Begin
  clrscr; {* Очищаем экран *}
  Write('Введите строку : ');
  Readln(s);
  Last := 4;
  While Last < Length(S) Do
  Begin
    s1[0] := chr(Length(s) - Last); {s1[0] - длина строки}
    For i := Last + 1 To Length(S) Do {копируем в строку s1 элементы строки s}
      s1[i - Last] := S[i]; {с Last + 1 до последнего. Last - номер символа, после}
    s2[0] := chr(Last); {которого будет вставлена точка}
    For i := 1 To Last Do {строка s2 - символы строки s, стоящие после элемента}
      s2[i] := S[i]; {с номером last}
    If Length(s1) < 4 Then {если отстаток строки, т.е. правая часть меньше}
      s := s2 + '.'
    Else {4, то ставим точку и "выбрасываем" этот остаток}
      s := s2 + '.' + S1 + '.';
    Last := Last + 5; {Last - следующий элемент, после которго ставить точку}
  End;
  Writeln('Результат: ', s);
  readln; {* Ждем нажатия Enter *}
End.