![]() Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
VI.1. Операции над текстами. Простые формы обменаСтр 1 из 3Следующая ⇒
VI. ОБРАБОТКА СИМВОЛЬНОЙ ИНФОРМАЦИИ В этом разделе термин текст означает произвольную последовательность символов (литер). В том случае, когда длина текста заранее не фиксирована, признаком окончания текста служит символ ″ ¤ ″ (солнышко). Входной текст − это текст, подлежащий вводу (чтению) с внешнего носителя информации; выходной текст − это текст, который следует напечатать. Подразумевается, что для хранения текстов используются массивы и последовательные файлы с компонентами символьного типа. VI.1. Операции над текстами. Простые формы обмена 1. (Палиндромы.) Текст, читаемый одинаково туда и обратно, называется палиндромом. Установить, является ли заданный текст палиндромом. (Развитие темы этой задачи см. в задачах 10 и 74.) 2. (Контекстно-свободные исключения.) а) Исключить из текста пробелы и знаки препинания. Знаки препинания:
Пробел обозначают символом ″ ⊔ ″. б) Часть текста, начинающаяся символом ″ {″ и оканчивающаяся символом ″ }″, называется комментарием. Исключить из текста комментарии. Другой вариант задания: комментарий − это часть текста, заключенная между парами символов ″ ∕ ∗ ″ и ″ ∗ ∕ ″ (или между словом ″ comment ″ и ″; ″). в) Символ ″ -″ используется в тексте только как корректурный знак удаления предшествующего символа. Повторное вхождение символа ″ -″ означает удаление последнего (из предшествующих) ещё не удаленного символа. Переписать текст выполняя все удаления, предписанные вхождениями символа ″ -″ (″ -″ тоже удалить). Поясняющий пример: текст ″ -она-⊔ была–⊔ не--⊔ права⊔ ⊔ ---. ″ должен быть преобразован в текст ″ он⊔ был⊔ ⊔ прав. ″. Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок. — Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта. — Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы). — SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание. SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение г) Слово - это любая последовательность символов, не содержащая символа пробела. Исключить из текста слова, в которых встречается буква ″ Ь″. Ограничения на текст: слова в тексте разделены в точности одним пробелом; после очередного пробела следует либо очередное слово, либо символ окончания текста ″ ¤″. 3. (Контекстные исключения.) а) Исключить из текста повторные пробелы (т.е. только те, которым непосредственно предшествуют пробелы). б) Исключить из текста пробелы, сохранив их, однако, в комментариях (см. задачу 2 б). в) Исключить из текста слова, начинающиеся буквой ″ Ь″. Ограничения на текст те же, что и в задаче 2 г. г) Исключить из текста слова. оканчивающиеся буквой ″ Ь″. Ограничения на текст те же. что и в задаче 2 г. д) Исключить из текста пробелы, расположенные между словами и следующими за ними знаками препинания. е) Текст представляет собой форматированный список почтовых адресов. Каждый адрес содержит в точности 80 символов, благодаря добавленным в его конец форматирующим пробелам. Символ ″ ¤ ″ окончания текста расположен непосредственно после заключительной 80-символьной порции текста. Исключить из текста только форматирующие пробелы. 4. (Вставки, замены и перемещения.) а) Вставить в текст пробел (если он отсутствует) после каждого знака препинания. б) Заменить в тексте все вхождения слов ″ if ″, ″ then ″, ″ else ″ соответственно на слова ″ если ″, ″ то ″, ″ иначе ″. Ограничения на текст те же, что и в задаче 2 г. в) Текст представляет собой (неформатированный) список почтовых адресов. Каждый адрес содержит не более 80 символов и оканчивается символом-разделителем ″ ∕ ″. Форматировать текст, вставляя в ″ хвосты″ почтовых адресов пробелы так, чтобы каждый адрес содержал в точности 80 символов. г) Символ ″ ∗ ″ используется в основном тексте только как корректурный знак вставки. Вставляемые фрагменты берутся последовательно из вспомогательного текста, причем каждый фрагмент в нём оканчивается символом-разделителем ″ ∕ ″. Осуществить коррекцию основного текста. д) Буква ″ Ь ″, кроме обычного употребления, используется в основном тексте как корректурный знак: слова, начинающиеся с этой буквы, заменяются на слова, которые берутся последовательно из вспомогательного текста. Осуществить коррекцию основного текста. Ограничения на тексты: как в основном, так и во вспомогательных текстах, слова разделены в точности одним пробелом. Сервис онлайн-записи на собственном Telegram-боте
Попробуйте сервис онлайн-записи VisitTime на основе вашего собственного Telegram-бота:— Разгрузит мастера, специалиста или компанию; — Позволит гибко управлять расписанием и загрузкой; — Разошлет оповещения о новых услугах или акциях; — Позволит принять оплату на карту/кошелек/счет; — Позволит записываться на групповые и персональные посещения; — Поможет получить от клиента отзывы о визите к вам; — Включает в себя сервис чаевых. Для новых пользователей первый месяц бесплатно. Зарегистрироваться в сервисе е) Для разделения слов в тексте используются одиночные символы ″ ⊔ ″, ″ ↑ ″, ″ ↓ ″. Символы ″ ↑ ″ и ″ ↓ ″ используются в тексте только как корректурные знаки перестановки слов: каждое слово, после которого расположен символ ″ ↑ ″, необходимо переместить на место первого позже встречающегося в тексте вхождения символа ″ ↓ ″; при этом перемещаемое слово обрамляется с обеих сторон пробелами. Осуществить коррекцию текста. Ограничение на текст: считать, что символы ″ ↑ ″ и ″ ↓ ″ встречаются только в следующем порядке: ″ ↑ ″, ″ ↓ ″, ″ ↑ ″, ″ ↓ ″,...; кроме символов ″ ⊔ ″, ″ ↑ ″, ″ ↓ ″, в тексте используются только латинские (русские) буквы. 5. (Лексикографический порядок.) Сравнить два заданных слова в латинском (русском) алфавите и установить какое из них в словаре должно предшествовать другому. Поясняющий пример: в русского словаре ″ арка″ < ″ аркан″ < ″ книга″ < ″ том″ < ″ тополь″ < ″ топот″, где Замечание. В алфавите данных широко распространённых языков программирования порядок букв латинского алфавита согласован с естественным, однако порядок букв русского алфавита не согласован. Поэтому ″ А″ < ″ В″ < ″ С″..., но обычно ″ Ж″ не меньше ″ Ф″. Некоторые неудобства может доставить тот факт, что ″ Z″ < ″ ⊔ ″. 6. (Упаковка повторений.) В упакованном представлении буквенного текста вхождение символа – цифры ″ а) Преобразовать исходный текст, не содержащий символов-цифр, в упакованное представление. б) Выполнить обратное преобразование, считая, что в упакованном тексте символы-цифры рядом не встречаются. 7. (Сопоставление.) а) Эталон для сравнения, кроме обычных символов, может содержать специально интерпретируемые символы ″ ∗ ″ и ″ & ″. Вхождение ″ ∗ ″ в эталон заменяет произвольный символ на своём месте, вхождение ″ & ″ − произвольную строку. Сопоставить исходный текст, не содержащий символов ″ ∗ ″ и ″ & ″, с текстом − эталоном. Поясняющий пример: с эталоном ″ s∗ n& (&) ″ отождествляются тексты ″ syn(x) ″, ″ sine(a+b) ″, но не отождествляются текcты ″ sin(x)+″, ″ arcsin(x) ″. Замечание. Возможны два варианта уточнения задачи 7 а. В первом варианте предполагается, что строка, сопоставляемая символу ″ & ″, не должна содержать символа, который на эталоне следует за ″ & ″. Во втором варианте это ограничение отсутствует. Например, текст ″ sin(x)+(y) ″ отождествляется с эталоном ″ s∗ n& (&) ″ во втором варианте, Второй вариант задачи существенно легче первого. б) Эталон для сопоставления может содержать только следующие символы: ″ х ″, ″ а ″, ″ 9 ″, ″. ″, ″ с ″. Интерпретация символов дана в следующей таблице:
Сопоставить исходный текст с текстом -эталоном. 8. (Поиск вхождения.) а) Текст-образец б) Решить задачу, аналогичную предыдущей но при сопоставлении текста – образца с частью исходного текста использовать правила отождествления из задачи 7 а. Дополнительно вычислить номер позиции, в которой заканчивается найденное вхождение. в) Текст -образец 9. (Редактировать строки текста.) а) Преобразовать заданный текст
Просмотр продолжается с б) Решить задачу а), считая последовательность 10. (Задача Мальвины.) Пусть Пример ″ А⊔ РОЗА⊔ УПАЛА⊔ НА⊔ ЛАПУ⊔ АЗОРА ″. 11. (Количество гласных в словах. Использование множества гласных букв.) Для заданного текста подсчитать отдельно количество слов с одной, двумя, тремя и четырьмя гласными. Ограничения на текст те же, что и в задаче 2 г. 12. (Частота букв в тексте. Использование множества букв.) Вычислить частоты букв во входном тексте. Пояснение. Для каждой из букв 13. (Распределение слов в тексте по их длине.) Для заданного текста подсчитать количество слов, состоящих из одной буквы, из двух букв и т. д. 14. (Частота буквенных пар.) Вычислить частоты буквенных пар в словах заданного текста. Пояснение. Здесь требуется построить таблицу ( 15. (Частотный словарь текста.) Для заданного текста напечатать все пары ( Указание. Реализовать следующий алгоритм. Найдём в тексте следующее слово 16. (Одна из задач Э. Дейкстры.) Входной текст образуется из слов, разделённых одним или несколькими пробелами. Число букв в слове 1) ″ лишние″ пробелы из текста удаляются; 2) второе, четвертое, шестое и т.д. слова печатаются в обратном порядке. Поясняющий пример: входной текст ″ этот⊔ ⊔ шалаш⊔ ⊔ ⊔ ⊔ построил⊔ лесник⊔ ⊔. ″ должен быть напечатан в виде: ″ этот⊔ шалаш⊔ построил Модификация задания: в обратном порядке печатать также слова, состоящие из чётного числа букв. 17. (Слова Фиббоначи.) слова Фиббоначи а) Построить первые 11 слов Фиббоначи. б) Построить текст 18. (Подстановка.) Перестановка 19. (Транспозиция.) Преобразовать входной текст Пояснение. Перестановку Длина текста 20. (Двоичное преобразование.) а) Преобразовать входной текст, записанный исключительно русскими буквами (но без буквы ″ Ё″) в выходную двоичную последовательность, заменяя букву ″ А″ на комбинацию цифр ″ 00000″, ″ Б″ – на ″ 00001″, ″ В″ – на ″ 00010″,..., ″ Я″ – на ″ 11111″. (Почему буква ″ Ё″ удалена из алфавита?) б) Выполнить обратное преобразование. 21. (Троичное преобразование.) а) Преобразовать входной текст, записанный латинскими буквами с использованием символа пробела, в выходной текст в трехсимвольном алфавите, заменяя каждый символ (букву или пробел) на соответствующую комбинацию цифр б) Выполнить обратное преобразование. 22. (Азбука Морзе.) В радиотелеграфии используют следующую последовательность точек, тире и пробелов:
а) Преобразовать входной текст, записанный латинскими буквами с использованием символа пробела, в выходной текст из точек, тире и пробелов. б) Выполнить обратное действие. 23. (Перемешивание текста.) Напечатать текст, получаемый в результате следующего перемешивания входного текста. Пусть 24. (Квадрат-решётка.) Хорошо известен (см., в частности, [1], с.136, задача 62) следующий способ перемешивания текста. Возьмем квадрат размером а) Для заданного квадрата-решётки перемешать входной текст описанным выше способом. б) Выполнить обратное преобразование. Замечание. Каждый квадрат-решетка должен обладать свойством: из любых четырех клеток (
|