Search.PAS

{* Поиск символьной последовательности *}

Unit SEARCH;
Interface
Implementation
Begin
 writeln('Программа ищет сколько раз символьная последовательность встречается в слове.');
End.

Program Search;

Uses Search.pas; {* Эту строку можно удалить *}
Uses Crt; {* Подключаем внешние файлы *}
Var {* В работе нам потребуются переменные: *}
  st  : String;
  st1 : String;
  n   : byte;
  n1  : byte;
  i   : byte;
  s   : byte;
Begin
  ClrScr; {* Очистка экрана *}
  Write('Введи слово:>');
  Readln(st);
  Write('Введи последовательность букв, которые надо найти в слове:>');
  Readln(st1);
  n := length(st); {находим размер строки в которой ведётся поиск}
  n1 := length(st1); {находим размер строки, которую надо найти в слове}
  s := 0;
  For i := 1 To n - n1 + 1 Do {* Цикл для i => [1 .. n] *}
    If st1 = copy(st, i, n1) Then
      inc(s); {* Прибавим к s единицу *}
  Writeln('Строка "', st1, '" встречается в слове "', st, '" ', s, ' раз(а)');
  ReadKey; {ожидание нажатия на клавишу}
End.