program ee;varstroka, slovo: string;i,j, k, n, m, l: integer;beginwriteln(\'Введите строку: \');readln(stroka);writeln(\'Введите слово:\');readln(slovo);n:=length(stroka); {Определяем длину строки}writeln(n);m:=length(slovo); {Определяем длину слова}writeln(m);for i:=1 to n-m+1 do {Запускаем цикл с числом повторений равным длине строке за вычетом длины слова}begin if stroka[i]=slovo[1] then for j:=2 to m do if stroka[i+j-1]=slovo[j] then k:=k+1; if k=m-1 then begin writeln(\'Слово присутствует в строке!\'); l:=1; k:=0; end else k:=0;end;if l<>1 then writeln(\'Такого слова в строке нет!\');readln;end.Если какой-то символ строки совпал с первым символом слова, то запускаем новый цикл с числом повторений равным длине искомого слова, и начиная в 2. Внутри этого цикла проверяем совпадение следующих символов строки с со всеми подряд символами слова. Каждый раз, когда получаем совпадение, увеличиваем значение счетчика k на 1. Если все символы совпали, то k будет равно значению длины слова минус 1. Если это условие выполняется для k, то можем считать, что искомое слово мы нашли и выводим на экран сообщение об этом. Далее сразу обнуляем k, чтобы не было повторений. Здесь же вводим параметр l=1, который впоследствии будет критерием того, что слово мы нашли. Счетчик k мы также обнуляем в случае, если совпадений было меньше чем длина слова минус 1.Ну и после завершения этих встроенных друг в друга циклов, проверяем значение l, если оно не совпадает с 1, то выводим сообщение о том, что искомое слово не найдено.