10 задание. Поиск символов в текстовом редакторе
10 задание. Поиск символов в текстовом редакторе Ещё одно несложное задание. Это задание проверяет навыки информационного поиска в текстовых документах с помощью текстового редактора (с этого года используют LibreOffice Writer). Ученикам дается текстовый файл (например, роман или статья). Нужно найти количество вхождений определенного слова по заданным критериям. Главные условия: Учет регистра букв (строчные и заглавные), поиск только целых слов (а не частей внутри других слов). Для решения используется инструмент поиска (обычно комбинация клавиш Ctrl + F). При этом необходимо включить настройки «Только слово целиком» и «Учитывать регистр», если это требует условие. Итоговое число совпадений, показывает сама программа. В этом задании мы смотрим парочку задач, а дальше ученики сами его отрабатывают. 11 задание. Вычисление количества информации Ещё одно несложное задание. Похоже на 7 задание. Тоже определяется количество информации. Это задание проверяет умение вычислять информационный объем сообщений, а также определять размер памяти для хранения паролей, кодов или символов. Для решения этого задания как и в 7-м нужно использовать базовые формулы кодирования. Используются понятия: Мощность алфавита (N) — сколько разных знаков используют в тексте или коде. Вес одного символа (i) — сколько бит нужно на один знак, находится по формуле. Общий объем (I) — умножение количества символов (K) на вес одного символа (i). Перевод единиц — перевод из битов в байты (делим на 8) для хранения на компьютере. Вот и всё. Это задание тоже отрабатываем обычно быстро. 12 задание. Выполнение алгоритмов для исполнителей Это задание посвящено двум типам заданий: анализу алгоритмов работы исполнителя на ленте (машины Тьюринга) и преобразованию последовательностей символов. Задание с машиной Тьринга добавили в прошлом году. А в этом году это задание уже было в вариантах экзамена. В этом задании дан набор состояний и таблица команд для абстрактного исполнителя (машины Тьюринга). На бесконечной ленте записана строка из символов (например, нулей и единиц), ограниченная пустыми символами. Головка каретки стартует в определенной позиции. Требуется проанализировать изменение данных после выполнения программы и найти количество оставшихся символов или исходную длину последовательности. Это задание делается вручную. Задание с исполнителем «Редактор» проверяет умение анализировать алгоритмы обработки строк, состоящие из команд замены подстроки «нашлось» и «замени». Исполнитель получает на вход строку цифр. Редактор выполняет цикл: пока в строке есть нужная цепочка, он заменяет первое её вхождение на другую цепочку. Если подходящих цепочек больше нет, работа программы завершается, и нужно найти итоговую строку или длину строки. Делится на 3 типа: 1. Прямой расчет: даны конкретная строка и точный алгоритм, требуется узнать результат работы программы. 2. Поиск исходных данных: известен результат работы и правила замен, нужно найти минимальную или максимальную длину/содержимое начальной строки. 3. Анализ условий остановки: задачи на определение условий, при которых программа не зацикливается, а выдает строку с заданным числом определенных символов (например, суммы цифр). И два способа решения: 1. Ручной анализ: подходит для простых линейных замен или коротких строк с предсказуемым поведением. 2. Программирование на Python: использование метода replace внутри цикла while, чтобы точно смоделировать поведение Редактора. Программа составляется четко по алгоритму, который дается в задании. Поэтому составить её не сложно. И учитывая, что вручную не все типы заданий можно решить, удобнее сразу разбирать это задание через программу.