В текущем задании ЕГЭ №12 по информатике бесспорно потребуются знания программирования, ведь здесь необходимо переписать алгоритм из задания, доработать его и получить необходимый ответ.
Вначале нужно познакомиться с некоторыми командами по работе со строками, ведь в самом алгоритме необходимо будет с ними работать. Работать опять же будем на примере языка программирования Python (но задание можно сделать на любом другом, удобном вам).
Существует множество методов при работе со строками, но в контексте данной статьи рассмотрим лишь три (их нам более чем хватит).
- count — подсчитывает количество указанных символов в строке;
- find — возвращает позицию указанных символов (подстроки) или возвращает -1 при неудаче;
- replace — заменяет подстроку в строке;
Чтобы было понятнее, стоит разобрать их на соответствующих примерах.
Теперь уже можно приступить к практике. Разобраться с методами работы со строками в Python.
Задание
Дана программа для Редактора:
НАЧАЛО
ПОКА нашлось (111)
заменить (111, 2)
заменить (222, 11)
КОНЕЦ ПОКА
КОНЕЦ
К исходной строке, содержащей более 60 единиц и не содержащей других символов, применили приведённую выше программу. В результате получилась строка 2211. Какое наименьшее количество единиц могло быть в исходной строке?
Первым делом стоит начать с того, что перепишем алгоритм с алгоритмического языка на язык программирования Python.
При использовании метода replace добавлен также третий аргумент. Он служит для количества замен. По умолчанию метод будет заменять все единицы на двойки, не только первые найденные. Добавим также строку, содержащую единицы.
Теперь стоит добавить условие, которое будет выводить количество единиц при получении строки “2211”. В условии также используется функция break для завершения работы цикла. Но программа работает только с тем числом единиц, что указано. А нам нужно, чтобы их было от 60. Добавим ещё один цикл для перебора строки, содержащей единицы.
Теперь получили полноценно работающую программу, которая легко и быстро найдёт требуемый ответ. Здесь есть цикл, который работает от 60 до 1000. Тем самым переберём количество единиц от 60 до 999.
После запуска программы получили ответ — 64. Именно такое минимальное количество единиц потребуется алгоритму для преобразования первоначальной строки в строку “2211”.
Понравилась статья? Хочешь разбираться в информатике, программировании и уметь работать в разных программах? Тогда ставь лайк, подпишись на канал и поделись статьей с друзьями! Остались или появились вопросы — спроси в комментариях!
Читайте также:
- Информатика ЕГЭ №11 — нахождение объёма информации в текстовом файле или в фрагменте текста
- Информатика ЕГЭ №10 — нахождение нужных слов в тексте, функция "найти и заменить" в текстовых препроцессорах Write/Word
- Информатика ЕГЭ №9 — функции округления, нахождения среднего значения и подсчёта количества чисел, удовлетворяющих условиям в Calc/Excel