Юный техник 1986-03, страница 63строятся программы обработки текстов. Чтобы немного освоиться с новыми для нас возможностями, давайте напишем процедуру, результатом которой будет слово «ДА», если определенный образец встречается в цепочке литер, и слово «НЕТ» в противном случае. НАЙДЕМ ЛИ - процедура (ГДЕ ИЩЕМ, ЧТО ИЩЕМ) если позиция образца ЧТО ИЩЕМ в цепочке ГДЕ ИЩЕМ равна 0, то результат = «НЕТ» иначе результат = «ДА» конец условия конец описания процедуры НАЙДЕМ ЛИ Попробуем теперь воспользоваться написанной процедурой: напечатать НАЙДЕМ ЛИ (ГДЕ ИЩЕМ - Т1г ЧТО ИЩЕМ = «А») «Поиск» ответит: ДА А вот на вопрос напечатать НАЙДЕМ ЛИ (ГДЕ ИЩЕМ = Т1, ЧТО ИЩЕМ = «О») «Поиск» ответит отрицательно: НЕТ Действительно, буквы О в тексте «ЗДРАВСТВУЙТЕ, РЕБЯТА!» нет. Теперь давайте напишем процедуру, которая позволит нам заменять во всем тексте одно слово на другое. Подобные действия полезны, когда, уже написав сочинение, мы узнали, что систематически ошибались в определенных словах. ЗАМЕНА - процедура (ТЕКСТ, ЧТО МЕНЯТЬ, НА ЧТО МЕНЯТЬ) НОВЫЙ ТЕКСТ = ТЕКСТ выполнить МЕСТО ОБРАЗЦА = номер позиции образца ЧТО МЕНЯТЬ в цепочке НОВЫЙ ТЕКСТ если МЕСТО ОБРАЗЦА равно 0 то конец повторений иначе НОВЫЙ ТЕКСТ = НОВЫЙ ТЕКСТ (1:МЕСТО ОБРАЗЦА) С->НА ЧТО МЕНЯТЬ <->НОВЫЙ ТЕКСТ (МЕСТО ОБРАЗЦА) + длина (ЧТО МЕНЯТЬ): длина (НОВЫЙ ТЕКСТ) конец условия повторить результат = НОВЫЙ ТЕКСТ конец описания процедуры ЗАМЕНА Давайте разберемся, как работает процедура ЗАМЕНА. Она раз за разом заставляет «Поиск» рассматривать текст в поисках цепочки литер, которую надо заменить. Как только искомая цепочка найдена, она как бы вырезается из текста и вместо нее встает новая. Действительно, новый текст составляется из трех частей: из части текста от начала и до того места, где был найден образец, из новой цепочки и, наконец, из части текста от конца найденного образца до конца всего текста. После того как искомая 59 |