Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика-КТЛ.doc
Скачиваний:
48
Добавлен:
13.02.2015
Размер:
182.78 Кб
Скачать

§3. Замена

Помимо функции поиска в Microsoft Word имеется функция замены, при использовании которой найденные совпадения с шаблоном автоматически заменяются заданным замещающим текстом (англ. replacement text). На вкладке «Заменить» диалогового окна «Найти и заменить» присутствуют два поля: «Найти» и «Заменить на». В поле «Найти», как и прежде, следует вводить шаблон поиска, а в поле «Заменить на» — замещающий текст.

Для поиска первого совпадения с шаблоном следует нажать кнопку «Найти далее». Найденное совпадение будет выделено в тексте. Далее можно нажать кнопку «Заменить», чтобы заменить это совпадение замещающим текстом, или кнопку «Найти далее», чтобы оставить это совпадение без изменения и перейти к следующему совпадению в тексте. Кроме того, имеется кнопка «Заменить все», нажатие на которую приведёт к замене всех оставшихся совпадений.

Подстановочные знаки, рассмотренные в §2, можно использовать в поле «Найти», но не в поле «Заменить на».

Если в поле «Найти» введён шаблон с подстановочными знаками, может возникнуть необходимость некоторые части найденного совпадения сохранить при замене, то есть включить в замещающий текст. Для этого нужно часть шаблона поиска, соответствующую сохраняемой части совпадения, заключить в круглые скобки, а в поле «Заменить на» использовать специальную конструкцию \п, где п — номер пары круглых скобок из поля «Найти». Пары круглых скобок нумеруются слева направо, начиная с 1. На место данной специальной конструкции при замене будет вставлена сохраняемая часть найденного совпадения.

7

Например, поисковый шаблон <([а-я/@)-([а-я]@)> и замещающий текст \2-\l приведут к замене слова генерал-лейтенант словом лейтенант-генерал.

Поисковый шаблон: <([а-я/@) - ([а-я]@)>

Номера круглых скобок: 1 2

Совпадение: генерал лейтенант

Замещающий текст: 2 1

Итоговый замещающий текст: лейтенант генерал

Задачи

Текст: names.doc

  1. Изменить фамилию всем женщинам на «Иванова».

  2. Привести список к виду «И. О. Фамилия».

8

Решения задач (для самопроверки)

§1

Задача 1. Встречается ли в тексте слово enormous"! Если да, то в каких контекстах оно употребляется?

Решение. Для решения задачи необходимо воспользоваться функцией поиска, встроенной в Microsoft Word. В меню «Правка» выберите пункт «Найти», в появившемся диалоговом окне введите enormous в поле «Найти» и нажмите «Найти далее». Чтобы к следующему употреблению слова enormous в тексте, снова нажмите «Найти I Таким образом можно просмотреть все контексты, в которых употребляется в контексте данное слово.

Ответ. Слово enormous встречается в трёх контекстах:

  • I regret to state that I was not afraid of telling the enormous lie comprehended in the answer "No.”

  • Perhaps I might have told Joe about the pale young gentleman, if I had not previously been betrayed into those enormous inventions to which I had confessed.

  • - By degrees it became an enormous injury to me that he stood before the fire.

Задача 2. Встречается ли в тексте словоформа risk?

Решение. Если ввести в поле «Найти» слово risk и нажать «Найти далее», то Microsoft Word найдёт не совсем то, что было задумано: All this time Mrs. Joe and Joe were briskly clearing the table for the pie and pudding.

Для того, чтобы находить только целые слова, но не фрагменты слов, необходимо жать кнопку «Больше» и установить галочку «Только слово целиком».

Ответ. Да, словоформа risk встречается в тексте 1 раз.

Задача 3. Сколько всего раз встречается в тексте слово beautiful?

Решение. Слово beautiful встречается в тексте достаточно много раз. Чтобы не считать количество употреблений вручную, можно установить галочку «Выделить все элементы, найденные в:» и нажать «Найти все». Все случаи употребления искомого слова будут выделены в тексте одновременно, а в окне «Найти и заменить» будет отображено их общее количество (после слов «Найдено элементов:»).

Ответ. Слово beautiful встречается в тексте 26 раз.

9

Задача 4. Определить, сколько раз встречаютсея в тексте названия цветов.

Решение. Решение задачи аналогично предыдущему. Необходимо для каждого цвета определить, сколько раз в тексте встречается соответствующее прилагательное.

Ответ. См. заполненную таблицу.

п/п

Название цвета

Частота

п/п

Название цвета

Чн( кии

1

black

82

6

magenta

0

2

blue

35

7

orange

5

3

brown

11

8

purple

2

4

pink

1

9

red

33

5

green

32

10

white

36

Задача 5. В какой орфографии (британской или американской) представлен текст Great Expectations в файле?

Решение. Можно воспользоваться любым из отличительных признаков британской или американской орфографии. Например, в британском варианте английского языка употребляется написание colour, а в американском — color. Решение задачи сводится к поиску обоих слов в тексте.

Ответ. Текст представлен в американской орфографии.

§2

Задача 1. Найти в тексте слова, состоящие из трёх букв.

Решение. Сначала нужно включить режим поиска с подстановочными знаками. В меню «Правка» следует выбрать пункт «Найти», в появившемся диалоговом окне нажать кнопку «Больше» и установить галочку «Подстановочные знаки».

Для решения задачи в поле «Найти» следует ввести шаблон <???> и нажать кнопку «Найти далее». Первым найденным трёхбуквенным словом будет and: My father's family name being Pirrip, and my Christian name Philip... Для поиска следующих трёхбуквенных слов, как и прежде, можно нажимать кнопку «Найти далее».

Разберём, что означает шаблон <???>. Выше было сказано, что когда установлена галочка «Подстановочные знаки», определённые символы в шаблоне приобретают специальное значение. Так, символ < обозначает начало слова, символ > — конец слова, а вместо символа ? при поиске может быть подставлен любой символ из текста (отсюда название — подстановочные знаки). Таким образом, шаблон <???> в целом означает, что в тексте необходимо найти следующее: начало слова, за которым символа, за которыми идёт конец слова.

10

Ответ. Первые пять трёхбуквенных слов: and, Pip, Pip, and, Pip. Все эти слова находятся в первом абзаце текста.

Задача 2. Найти в тексте трёхбуквенные слова, начинающиеся на букву r и заканчивающиеся на букву t.

Решение. Задача аналогична предыдущей. В тексте нужно найти начало слова, за которым идёт буква r, за которой идет одна любая буква, за которой идёт буква t, за которой идёт конец слова. Этому соответствуют следующий шаблон: <r?t>.

Ответ. В тексте встречаются слова rat и rot.

Задача 3. Найти в тексте первые пять трёхбуквенных слов, начинающихся на согласную букву.

Решение. Существенное отличие этой задачи от двух предыдущих состоит в том, что первая буква слова — и не любая, как в задаче 1 (следовательно, подстановочный знак ? не подходит), и не конкретно заданная, как в задаче 2 (следовательно, её нельзя просто вписать как есть в шаблоне поиска).

Для того, чтобы задать поиск любого символа из некоторого перечня, нужно этот перечень взять в квадратные скобки. В данном случае, нужно перечислить в квадратных скобках все согласные буквы английского алфавита. Таким образом, весь шаблон поиска будет иметь вид: <(bcafghjklmnpqrstvwxzBCDFGHJKLMNPQRSTVWXZ]??>. Этот шаблон читается следующим образом: необходимо найти начало слова, за которым следует один перечисленных в квадратных скобках, за которым идут два любых символа, за которыми идёт конец слова. Обратите внимание, что символы в квадратных скобках перечисляются подряд, бет пробелов, запятых или каких-либо иных разделителей.

Первое в тексте трехбуквенное слово, начинающееся на согласную, — the: I give Pirrip as my father's family name, on the authority of his tombstone and my sister...

Шаблон, использованный для решения этой задачи, можно сократить. Вместо того, чтобы перечислять в квадратных скобках буквы, с одной из которых должно начинаться слово, можно перечислить те буквы, с которых слово не должно начинаться (то есть гласные), а перед списком поставить признак отрицания !: <[!aeiouyAEIOUY]??>. Полученная конструкция читается следующим образом: найти начало слова, после которого идёт любой символ, кроме перечисленных в скобках, за которым идут два любых символа, за которыми идет конец слова.

Ответ. Первые пять трехбуквенных слов на согласную: Pip, Pip, Pip, the, his.

11

Задача 4. Сколько в тексте трёхбуквенных слов следующей структуры: VCC, где V—любая гласная буква, С—любая согласная буква?

Решение. Аналогично задаче 3. Шаблон поиска: <[aeiouyAEIOUY][!аeiouy] [!aeiouy]>.

Ответ. 9057. '

Задача 5. Найти в тексте слова, состоящие из пятнадцати букв.

Решение. По аналогии с задачей 1, казалось бы, можно выполнить поиск по тексту со следующим шаблоном в поле «Найти»: <???????????????>. Однако с таким шаблоном будут совпадать не только слова, но и словосочетания: GREAT EXPECTATIONS by Charles Dickens..., My father's family name being Pirrip... и т. д.

Это не то, что требовалось, однако никакой ошибки нет. Дело в том, что подстановочный знак ? означает любой символ — не только букву, но и цифру, и знак препинания, и даже пробел или знак абзаца («красную строку»). Таким образом, конструкция <???????????????> читается: начало слова, за которым следует пятнадцать любых символов (необязательно букв), за которыми следует конец слова (необязательно того же самого слова). Легко видеть, что найденные сочетания слов действительно состоят из пятнадцати символов, начинаются в начале одного слова и заканчиваются в конце другого.

Как исправить конструкцию, ясно из решения задачи 3 — можно перечислить все буквы латинского алфавита в квадратных скобках [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ] и повторить эти скобки 15 раз.

Разумеется, вводить такую длинную строку в поле «Найти» очень неудобно. Её можно существенно сократить, воспользовавшись двумя приёмами. Во-первых, подряд идущие в алфавите буквы внутри квадратных скобок можно заменять первой и последней буквой диапазона, записанными через дефис: [a-zA-Z]. Во-вторых, вместо многократного повторения некоторого символа (обычного или подстановочного) можно написать его один раз, и следом за ним указать в фигурных скобках количество повторений: [a-zA-Z]{15}.

Таким образом, шаблон поиска примет вид: <[a-zA-Z]{15}>.

13

Ответ. broadshouldered, characteristics, compassionating, congratulations (3 раза), disappointments (2 раза), distinguishable, extraordinarily, impossibilities (2 раза), improbabilities,inaccessibility(2 раза), incompatibility,notwithstanding (5 раз), plenipotentiary, procrastinating, representations, retrospectively, sympathetically (2 раза),

12

transformations, unacceptabobble, unceremoniously (2 раза), unconsciousness (2 раза), unintentionally.

Задача 6. Найти в тексте все слова с префиксом ип- и суффиксом -ness (существительные, образованные от прилагательных с семой отрицания).

Решение. Если бы длина искомых слов была известна, то задачу можно было бы решить по аналогии с предыдущими. Пусть, например, длина слова 10 букв. Префикс ип- состоит из двух букв, суффикс -ness — из четырёх, соответственно, на долю корневой морфемы остаётся 10 - (2 + 4) = 4 буквы, и в поле «Найти» следует ввести шаблон поиска <un[a-z){4}ness>. Это действительно работает: первое найденное слово — uneasiness: ...in my first uneasiness and discontent I had turned to her for help, as a matter of course...

Но длина искомого слова (а следовательно, и корневой морфемы) нам неизвестна, поэтому какое число записать в фигурных скобках — непонятно. В такой ситуации следует вместо фигурных скобок использовать знак @: <un[a-z]@ness>. Вся конструкция читается так: искать начало слова, после которого идут буквы и и n, после которых идёт одна или несколько строчных английских букв, после которых идут буквы п, е, s и s, после которых идёт конец слова.

Остаётся учесть тот факт, что слово может начинаться не только со строчной буквы но и с заглавной буквы U. Таким образом, итоговый шаблон поиска будет выглядеть следующим образом: <luU]n[a-z]@ness>.

Ответ. unconsciousness (2 раза), uneasiness (5 раз), unfitness, unhappiness (2 раза), unkindness, untruthfulness, unworthiness.

Задача 7. Сколько в тексте слов с префиксами in-, ir-, im-, ип- и суффиксом -1у (отрицательных наречий)?

Решение. Задача отличается от предыдущей тем, что искомое слово может начинаться с одного из нескольких отрицательных префиксов: in-, ir-, im- или ип-. Перечислить их в квадратных скобках (типа [inirimun]) нельзя, потому что в тексте на месте квадратных скобок должен быть только один из перечисленных в скобках символов [конструкция [inirimun] эквивалентна, например, такой: [imrun] — ни повтор символов, ни порядок их следования внутри квадратных скобок роли не играют).

Выходом может быть шаблон следующего вида: <[iulU][mnr][a-z]@ly>. Разумеется, в этом случае будут найдены также слова с «префиксами» иr- и um-, если гаковые окажутся в тексте. Кроме того, будут найдены слова типа imply и unexpectedly, но

формально они удовлетворяют заданным критериям поиска, поэтому с ними ничего поделать нельзя.

Ответ. 157, включая «лишние» слова, формально похожие на отрицательные наречия.

Задача 8. Есть ли в тексте слова с кластером из пяти согласных букв?

Решение. Задача сводится к поиску пяти идущих подряд согласных букв. В условии не сказано, что кластер должен быть строго в начале, в середине или в конце слова, поэтому «привязку» к границам слова (с использованием подстановочных знаков < и >) делать не нужно.

Итоговый шаблон поиска будет иметь следующий вид: [bcdfghjklmnpqrstvwxzBCpFGHJKLMNPQRSTVWXZ]{5}.

Ответ. Да, такое слово есть: hearthstone.

Задача 9. Сколько раз встречаются в тексте наречия в сравнительной степени, образованные аналитическим способом?

Решение.

  1. Лингвистический анализ. Аналитический способ образования степеней сравнения наречий заключается в использовании служебных слов more (для сравнительной степени) и most (для превосходной степени). Пример образования степеней сравнения: beautifully ~ more beautifully ~ most beautifully. Формальным признаком английского наречия является суффикс -1у.

  2. Составление шаблона. Решение задачи сводится к составлению шаблона для поиска слова more, вслед за которым через пробел идёт слово, оканчивающееся на -1у. Это может быть шаблон вида: <[Mm]ore [a-z]@ly>.

Ответ. 33.

Задача 10. Найти в тексте все сентенциональные наречия на -ly в инициальной позиции (в начале предложения) и оформить их списком в отдельном файле.

Решение.

1. Лингвистический анализ. В английской грамматике сентенциональные наречия (англ. sentence adverbs) — это наречия, относящиеся ко всему предложению в целом. Например: Luckily, it did not rain 'К счастью, дождь не пошёл'. На русский язык сентенциональные наречия переводятся вводными словами, описательными оборотами и

14

проч. Сентенциональные наречия, как правило, находятся в начале предложения и всегда обособляются запятой. Формальным признаком английского наречия является суффикс -1у.

2. Составление шаблона. Для решения задачи нужно найти слова, находящиеся в начале предложения, оканчивающиеся на -1у, после которых идёт запятая. Начало предложения характеризуется двумя особенностями. Во-первых, первое слово в предложении начинается с заглавной 6уквы. Во-вторых, перед этим словом (через пробел или знак абзаца) находится один из знаков препинания, завершающих предыдущее предложение: точка, восклицательный знак или вопросительный знак.

Шаблон для поиска будет иметь следующий вид: [.\?\!][^13[A-Z][a-z]@ly>.

Задача 11. В файле представлен список сотрудников организации. Необходимо сохранить в отдельном файле список всех женщин, работающих в данной организации.

Решение.

1. Лингвистический анализ. Сначала нужно выбрать формальный признак, на основании которого можно определить пол человека по его полному имени, состоящему из фамилии, собственно имени и отчества. Рассмотрим возможные варианты.

а) Фамилия. Известно, что большинство русских мужских фамилий заканчивается на -ин-ын или -ов/-ев, а женских — на -ина/-ына или oea/-ева. Однако этот признак не универсален: так, многие несклоняемые фамилии, не относящиеся к исконно русским, олинаковы как для мужчин, так и для женщин (ср. Мацканюк, Дудник).

б) Имя. Большинство русских мужских имён заканчивается на согласный, а женских – на гласный. Этот признак также не универсален (ср. Илья, Любовь).

в) Отчество. Отчества в русском языке образуются по регулярному правилу, а именно путем присоединения к имени отца суффиксов -ич/ -вич для мужчин и -на/-вна для женщин. Таким образом, мужское отчество всегда будет заканчиваться на -ч, а женское — на -а. Этот формальный признак наиболее надежен для разграничения мужских полных имён.

2. Составление шаблона. Шаблон должен совпадать с тремя словами, последнее из которых заканчивается на -а. Следует учесть, что фамилия может быть двойной (то есть содержать дефисы и заглавные буквы в середине слова).

Итоговый шаблон поиска может иметь вид: <[А-ЯЁа-яё-]@> <[А-ЯЁа-яё]@> <[А-ЯЁа-яё]@а>.

15