Лучшие лотереи:

Факт наличия или отсутствия искомого слова в тексте

При решении задачи поиска нас будет интересовать только факт наличия или отсутствия искомого слова в тексте. Дополнительные действия, возникающие, ;кажем, при переводе слова с одного языка на другой, мы обсуждать не будем. Вначале предположим, что мы уже умеем сравнивать одну группу из трех символов с другой группой, также состоящей из трех символов, и делать вывод о том, совпадают они или нет. Введем в рассмотрение величину i, которую мы будем трактовать как номер первого из трех очередных символов текста. Закрепим за этой величиной значение единица и сравним заданное слово с начальными тремя буквами текста. Если они совпадают, то наша задача уже решена, и делается вывод о вхождении заданного слова в рассматриваемый текст. Если имеется несовпадение, то нужно сдвинуться по тексту на одну букву. Другими словами, нужно увеличить номер i на единицу (теперь его текущее значение равно двум) и сравнить с искомым словом вторую, третью и четвертую буквы текста. Если есть совпадение, то задача решена. Если нет, то вновь увеличим номер i на единицу (теперь его текущее значение равно трем) и сравним с искомым словом третью, четвертую и пятую буквы текста. И опять при совпадении заканчиваем решение, а при несовпадении продолжим сдвиг по тексту. Очевидно, этот процесс будет продолжаться до тех пор, пока мы не доберемся до конца текста (при условии, что где-нибудь ранее не найдем совпадения). Завершит в этом случае решение задачи последнее сравнение 998, 999 и 1000 символов текста с заданным словом. Другими словами, сравнение каждой очередной тройки символов текста продолжается до значения номера i, равного N-2 (в нашем случае это 998). При этом значении номера i сравнение осуществляется последний раз. Если и этот последний отрезок не совпадает, то делается вывод об отсутствии искомого слова в тексте.

 


Copyright (c) 2008-2019

Разработка, продвижение и раскрутка сайта

Все права защищены