5.4. Поиск строк и механизмы поиска
5.4. Поиск строк и механизмы поиска
Маленький шаг большого человечества.
Нейл Армстронг (1969)
Прежде чем продолжить рассмотрение функции LEAP, имеет смысл рассмотреть несколько более подробно вопрос использования интерфейсов для поиска. Строкой (string) называется последовательность[33] символов. Обычные английские слова и предложения являются примерами строк. При поиске по строке (string search) происходит просмотр (обычно длинной) последовательности, называемой текстом, с целью обнаружения (обычно короткой) последовательности, указанной пользователем и называемой шаблоном (pattern). Каждый случай совпадения между подстрокой текста и заданной комбинацией называется объектом поиска (target). Например, при попытке найти в большом письме место, где вы писали о кошке по кличке «маленькая Татсу», наиболее подходящим объектом поиска будет маленькая Татсу, а еще более короткая строка Татсу будет хорошим шаблоном. Совпадение может быть полным, может зависеть от регистра символов или от других параметров (например, соответствие может быть по рифме). Наиболее распространенный критерий поиска, по которому легко искать, заключается в том, что строчные буквы в задаваемой комбинации соответствуют как строчным, так и прописным буквам в тексте, тогда как прописные буквы в задаваемой комбинации соответствуют только прописным буквам в тексте. Обычно поиск начинается от текущей позиции курсора и осуществляется вперед. В большинстве систем с помощью модальных пользовательских установок можно произвести поиск в обратном направлении (рис. 5.3).
Рис. 5.3. Модальное диалоговое окно с модальными настройками типа и направления поиска
Интерфейсы к средствам поиска обычно строятся на основе двух подходов. Наиболее распространенным является поиск с разделителями (delimited search), который встречается в большинстве текстовых процессоров. В типичном поиске с разделителями пользователь включает режим, в котором любой введенный текст рассматривается как шаблон для поиска. Обычно для этого используется диалоговое окно, снабженное полем для ввода символов. После вызова диалогового окна пользователь вводит комбинацию символов и разделитель, в качестве которого обычно используется некий символ, запрещенный к отображению в шаблоне (например, Return). В большинстве диалоговых окон пользователь также может ограничить шаблон нажатием на кнопку OK, Search, Find или Find Next с помощью ГУВ. Когда объект поиска обнаружен, он выбирается, а курсор располагается сразу в конце выборки.
Этот традиционный метод является довольно злосчастным для пользователя, хотя большинство компьютерщиков настолько привыкли к этому, что уже не замечают никакого неудобства. Например, пользователь может ввести последовательность для поиска с опечаткой, но заметить ее слишком поздно, т. к. он уже нажал по привычке клавишу «Return». Поэтому ему придется сидеть и ждать, пока закончится поиск, который, как уже заранее известно, не даст результата. Большинство систем поиска являются непрерываемыми, и это является серьезной ошибкой разработчиков. Из-за того, что компьютер ждет, пока пользователь закончит ввод шаблона, по которому начнется поиск, поиск с разделителями часто вынуждает пользователя ждать без необходимости.
Менее распространенным методом является пошаговый поиск (incremental search), известный пример которого можно увидеть в текстовом редакторе EMACS, работающем под операционной системой UNIX (Stallman, 1993). В большинстве случаев использования пошагового поиска, так же как и при поиске с разделителями, пользователь должен сначала вызвать диалоговое окно, в котором имеется поле для ввода шаблона поиска. Когда пользователь вводит первый символ шаблона, система использует этот символ как полный шаблон и сразу же начинает поиск первого экземпляра этого символа в выбранном направлении. Если экземпляр этого первого символа обнаруживается до того, как введен следующий символ шаблона, то он выбирается, а курсор помещается сразу в конце выборки. Если же следующий символ шаблона вводится до того, как экземпляр обнаруживается, то этот символ добавляется к шаблону и поиск продолжается теперь уже в отношении экземпляра расширенного шаблона. Процесс повторяется по мере добавления символов к шаблону поиска.
При использовании клавиши «Backspace» или «Delete» для удаления символов из шаблона пошагового поиска поиск возвращается к предыдущему экземпляру, найденному по тому шаблону, который был до добавления к нему следующего символа. Пользователь может затем добавить символы к шаблону, чтобы продолжить поиск без сброса результатов уже выполненного поиска по неполному шаблону. Многие системы поиска не имеют этой полезной характеристики.
Пошаговый поиск имеет ряд других преимуществ в сравнении с поиском с разделителями. Пошаговый поиск требует меньше времени. Поиск начинается, как только первый символ шаблона введен. Система не ожидает того момента, когда шаблон будет введен полностью. При использовании поиска с разделителями компьютер ждет, пока пользователь полностью введет шаблон и обозначит его разделителем, после чего уже пользователь ждет, пока компьютер производит поиск. При использовании поиска с разделителями пользователь должен сначала предположить, по какому шаблону компьютер сможет отличить нужный объект от других подобных объектов, тогда как при использовании пошагового поиска пользователь сразу же может определить, что шаблон оказался достаточным, чтобы выявить нужный объект, потому что он уже появился на экране. Таким образом, как только пользователь видит, что нужная точка найдена, он может прекратить введение шаблона. Если же он введет слишком много символов, т. е. скорость ввода будет больше, чем скорость поиска, шаблон все равно будет введен, и курсор установится приблизительно в том месте, которое предполагается. Если пользователь ошибается при вводе шаблона в систему поиска с разделителями, для исправления ошибки он должен ждать до тех пор, пока поиск по неверному шаблону не завершится, – в лучшем случае пользователь может воспользоваться механизмом для остановки поиска, если такой предусмотрен. В большом тексте поиск может занимать значительный период времени. В хорошо разработанном пошаговом поиске пользователь может удалить неверно введенный символ в любое время и возвратиться к последнему найденному экземпляру. Поскольку использование клавиши Backspace для исправления ошибки может быть привычным, процесс исправления проходит довольно быстро, и поиск останавливается сразу же. Чтобы возобновить поиск, пользователь может ввести правильный символ.
Еще одним преимуществом пошагового поиска является то, что в нем имеется постоянная обратная связь во время введения символов шаблона, т. е. результаты поиска видны сразу. При использовании поиска с разделителями пользователь не знает, насколько введенный им шаблон является подходящим или даже насколько правильно он был набран, до тех пор пока ввод не закончен и попытка поиска не начата. С точки зрения построения интерфейса, пошаговый поиск имеет так много преимуществ, а поиск с разделителями – так мало, что, на мой взгляд, использование поиска с разделителями редко когда может быть предпочтительным.[34] Несмотря на то что почти все разработчики и пользователи признают, что пошаговый поиск более предпочтителен, почти все инструменты по разработке интерфейсов позволяют создавать средства поиска с разделителями и затрудняют или даже делают невозможным создание средства пошагового поиска. Примерами таких инструментов являются JavaScript и Visual Basic.
Пошаговый ввод шаблона поиска делает возможным изменять шаблон интерактивно прямо во время процесса поиска, а значит, позволяет пользователю оптимизировать поиск по получаемой обратной связи. Даже построение булевой модели поиска делается более эффективным, если результаты поиска отображаются по мере того, как пользователь уточняет шаблон. Найденный экземпляр должен появляться посередине экрана, а не наверху или внизу, так, чтобы материал до и после экземпляра был виден, таким образом, найденный экземпляр всегда отображается в своем контексте. Найденный экземпляр также должен всегда отображаться в одном и том же месте относительно экрана или окна, чтобы пользователь быстро выучил, где искать результаты. В компьютере Canon Cat найденный экземпляр всегда появлялся по вертикальному центру экрана. Он не должен отображаться на каком-то из краев экрана; таким образом, материал вокруг экземпляра всегда был виден.
Если в тексте не содержится экземпляра шаблона, поиск оказывается неудачным. Во многих системах в этом случае поиск прекращается и не может использоваться до тех пор, пока не нажата специальная клавиша (обычно «Enter» или «Return») или кнопка на экране. На экране появляется модальное сообщение, в котором говорится, что вы должны сделать необходимый поклон, прежде чем вам будет позволено продолжить пользование компьютером. В многоэкранных системах или в случаях, когда экран визуально перегружен, такое сообщение может совсем не попасть в локус вашего внимания, и вы можете совсем его не заметить. В результате вам может показаться, что компьютер не отвечает на нажатие клавиш, как будто бы он завис. При использовании же пошагового поиска вы без всякой специальной подсказки сможете заметить, что поиск не удался, потому что курсор в этом случае сразу же возвращается в начальную позицию, и дополнительные нажатия не дают никакого результата. Здесь же может быть полезным короткий звуковой сигнал или мигание на экране, особенно если поиск длился дольше периода действия кратковременной памяти (скажем, дольше 10 секунд), и поэтому пользователь забыл, как выглядел дисплей до начала поиска. Звуковой сигнал еще полезен для пользователей с ухудшенной зрительной способностью.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Электрические грузоподъемные механизмы
Электрические грузоподъемные механизмы Вопрос. Каким кабелем должен выполняться токоподвод подъемных механизмов (кранов, талей и т. п.) в пожароопасных зонах классов П-I и П-II?Ответ. Должен выполняться переносным гибким кабелем с медными жилами, с резиновой изоляцией, в
МЕТОДЫ АКТИВИЗАЦИИ ПОИСКА
МЕТОДЫ АКТИВИЗАЦИИ ПОИСКА Чем труднее изобретательская задача, тем больше вариантов приходится перебрать, чтобы найти решение. А раз так, то прежде всего надо повысить количество вариантов, выдвигаемых в единицу времени. Понятно также, что для обнаружения сильного
ОСНОВНЫЕ МЕХАНИЗМЫ УСТРАНЕНИЯ ПРОТИВОРЕЧИЙ
ОСНОВНЫЕ МЕХАНИЗМЫ УСТРАНЕНИЯ ПРОТИВОРЕЧИЙ В АРИЗ используются четыре механизма устранения технических противоречий:1) переход от данной в модели задачи технической системы к идеальной системе путем формулирования идеального конечного результата (ИКР); 2) переход от ТП
5.4.1. Разделители в шаблоне поиска
5.4.1. Разделители в шаблоне поиска Другим большим недостатком поиска с разделителями является то, что разделитель, используемый для обозначения конца шаблона, не может быть отображен. Во многих случаях и другие разделители тоже не могут отображаться. Я просмотрел четыре
Поиск продолжается
Поиск продолжается Юрий Иванович Люндовский — коренной житель Златоуста. На плане дома, который в 1837 году перестраивал его дед, мастеровой казенных заводов Григорий Люндовский, стоит подпись самого «управителя Златоустовскими заводами П. Аносова». Подпись скреплена
Глава 9: Спусковые механизмы
Глава 9: Спусковые механизмы Спусковые механизмы Kelbly’s и Jewell.Доминирующим спусковым механизмом в современном бенчресте является Jewell. Kelbly’s представили новый спусковой механизм для бенчреста, и его все чаще можно видеть на соревнованиях. Бенчрест стрелки обычно
О ПУТЯХ ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ ГИДРОАКУСТИЧЕСКОГО ПОИСКА ПРОТИВОЛОДОЧНЫХ КОРАБЛЕЙ
О ПУТЯХ ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ ГИДРОАКУСТИЧЕСКОГО ПОИСКА ПРОТИВОЛОДОЧНЫХ КОРАБЛЕЙ …Шло учение по поиску подводных лодок. Один из кораблей получил невысокую оценку: дальность, на которой корабль обнаружил «противника», была далека от расчетной. В тех же условиях
Глава 14 Методы поиска и устранения сбоев и неполадок
Глава 14 Методы поиска и устранения сбоев и неполадок Пытаясь самостоятельно отремонтировать компьютер, в первую очередь необходимо решить для себя, насколько глубоко вы готовы вникнуть в данную проблему. Если ваш компьютер находится на гарантии, скорее всего, следует
Механизмы соблюдения норм
Механизмы соблюдения норм Чтобы рассчитать, каких штрафа или скидки заслуживает новое здание, кто-то должен оценить, насколько оно эффективно. Однако это не намного отличается сегодня от введения стандартов. В Калифорнии созданы прекрасные механизмы, позволяющие легко
Глава 3. Односпусковые механизмы тульских ружей
Глава 3. Односпусковые механизмы тульских ружей Спортивный бокфлинт ТОЗ-57-1С Двуствольное спортивное ружьё с вертикальным расположением стволов имеет непереключаемый односпусковой механизм, смонтированный на нижней личине ружья (система «Блиц»). В основу положена
4.3. Исполнительные механизмы СКУД
4.3. Исполнительные механизмы СКУД Замки. Если задача СКУД состоит в ограничении прохода через обычные двери, то исполнительным устройством будет электрически управляемый замок или защелка. Здесь можно применить считыватели дистанционного типа с большим расстоянием
2.6. Основные неисправности, методы их поиска и устранения
2.6. Основные неисправности, методы их поиска и устранения В этом разделе читателю предлагается анализ возможных неисправностей импульсных источников питания ATX конструктива на примере схемы, приведенной на рис. 2.2. Источник питания является преобразователем сетевого
3.6. Основные неисправности, методы их поиска и устранения
3.6. Основные неисправности, методы их поиска и устранения Проведение ремонтных работ любого электронного устройства в большинстве случаев имеет комплексный характер. Поиск неисправности, ее локализация и устранение проводятся, как правило, с помощью
2.5. Метод поиска неисправностей в СВЧ-печи
2.5. Метод поиска неисправностей в СВЧ-печи 2.5.1. Микросхемы Интегральные микросхемы очень широко используются в бытовых СВЧ-печах, снабженных цифровым блоком управления и индикаторным табло. Микросхемы, в том числе программируемые микропроцессоры, представляют собой
Логические схемы быстрого поиска и устранения неисправностей
Логические схемы быстрого поиска и устранения неисправностей Ниже представлены логические схемы быстрого поиска и устранения неисправностей, выхода из неожиданных ситуаций, возможных при эксплуатации автомобиля.Условные