Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПІК / Перевод / перевод / УСОВЕРШЕНСТВ_ПИ.doc
Скачиваний:
25
Добавлен:
05.06.2015
Размер:
1.77 Mб
Скачать

5.4.1. Роздільники в шаблоні пошуку

Іншим великим недоліком пошуку з роздільниками є те, що роздільник, використовуваний для позначення кінця шаблона, не може бути відображений. У багатьох випадках і інших роздільниках теж не можуть відображатися. Я переглянув чотири популярних текстових процесори. В одному з них використання Return узагалі не допускалося. В другому текстовому процесорі для того, щоб уставити Return у шаблон пошуку, користувач повинний набрати ?r. У третьому текстовому процесорі в цих цілях використовувалася послідовність \\. У четвертому - Return можна було вставити в шаблон пошуку за допомогою спеціального діалогового вікна з выпадающим меню, що містить різні роздільники (мал. 5.4). Однак було б легше просто використовувати клавішу <Return>. Зрештою , саме в такий спосіб ви вставляєте цей роздільник у текст. Чому ж при створенні шаблона пошуку повинний використовуватися інший метод? Основний принцип полягає в наступному: та сама послідовність символів повинна набиратися однаковим образом. Користувач не повинний в одному випадку застосовувати один метод, а в іншому - іншій. Іншими словами, у відношенні спеціальних символів не повинне застосовуватися нічого спеціального35.

Рис. 5.4. Відкрите вікно пошуку в Word. Показано список символів, що можуть бути використані. У поліпшеному варіанті користувач міг би поміщати, наприклад, символ табуляції за допомогою натискання клавіші <Tab>. Зверніть увагу на два позначення символу табуляції, що вставлені в поле пошуку (Fіnd what)

Хоча покроковий пошук краще, ніж пошук з роздільниками, варіант покрокового пошуку, що використовується в EMACS, може бути все-таки поліпшений. Наприклад, курсор повинний виникати не на останньому символі об'єкта пошуку, а на першому. Загалом , ви навряд чи можете керувати тим, яким буде останній символ у шаблоні пошуку, оскільки ви вводите тільки ті символи, яких досить для пошуку потрібного об'єкта. Тому ви не знаєте точно, де виявиться курсор після того, як пошук буде зроблений. Якщо ж курсор завжди буде встановлюватися на першому символі шаблона, ви можете знати, як відобразиться об'єкт пошуку. Крім того, це може бути корисним для швидкого переміщення курсору усередині тексту, оскільки в локусі вашої уваги знаходиться символ, на який ви хочете перемістити курсор. Придумати шаблон, у якому цей символ є останнім, набагато сутужніше, ніж просто ввести необхідний символ і наступні за ним інші символи.

У звичайних користувальницьких графічних інтерфейсах як покроковий пошук, так і пошук з роздільниками запускається модально, за допомогою діалогового вікна, тоді як використання клавіші <LEAP> є безмодальним. Ідею використання для пошуку квазирежима можна доповнити застосуванням спеціальної кнопки на мікрофоні (чи ГУВ), утримуваної для включення квазирежима, у якому слова, що вводяться, чи малюнки рукописний текст можуть включатися в шаблон пошуку. Інші методи введення мають аналогічні засоби для створення квазирежима пошуку (Raskіn і Wіnter, 1991).

Швидкість покрокового пошуку може бути збільшена за допомогою деяких прийомів. Наприклад, при введенні першого символу шуканого рядка комп'ютер відразу приступає до пошуку першого екземпляра цього символу в тексті, після чого знайдений екземпляр подсвечивается і переноситься разом зі своїм контекстом у вікно екрана. Звичайно цей процес проходить швидко, оскільки в тексті мається багато потенційних екземплярів і якийсь з них, з великою імовірністю, виявляється поблизу. Поки користувач уводить наступний символ, пошук може продовжитися у відношенні другого екземпляра першого символу і наступного можливого символу в порядку зменшення частоти використання. Програма може зберігати посилання на кожний з виявлених екземплярів. Як результат, при введенні другого символу комп'ютер може бути готів відобразити виявлений об'єкт, створюючи ефект миттєвого пошуку.

Пошук рядків також може бути прискорений і такими методами, як алгоритм Бойера-Муура (Moore і Boyer, 1977), у якому час пошуку зменшується в міру збільшення довжини послідовності. Якщо користувач повертається в шаблоні пошуку на одну позицію назад, збереження посилання на останнє виявлене місце (причому для кожного символу послідовності) зробить повернення надзвичайне швидким. Індексування всіх запам'ятовуючих пристроїв може скоротити час пошуку в локальних системах і мережах до миллисекунд. Швидкість взаємодії через глобальні чи мережі Інтернет також залежить від застосовуваних методів індексування. Покроковий пошук у різних варіантах використовувався в таких комерційних продуктах, як ІDE компанії Borland, факсовая програма компанії Global Vіllage, комп'ютери Canon Cat і SwyftWare.

Соседние файлы в папке перевод