Какое решение самое удачное? Конечно такое, в котором тебе не пришлось считать в уме, на бумаге. Правильно написанный код никогда не ошибётся в расчетах! Осталось только научиться писать код правильно 🙂
Задания типа «Исполнитель редактор» сводятся к переписыванию алгоритма с алгоритмического языка на язык Python. Рассмотрим несколько примеров.
Пример 1
Дана программа для редактора:
ПОКА нашлось (1111) ИЛИ нашлось (88888)
ЕСЛИ нашлось (1111)
ТО заменить (1111, 888)
ИНАЧЕ заменить (88888, 888)
Какая строка получится в результате применения приведённой выше программы к строке, состоящей из 81 идущей подряд цифры 1? В ответе запишите полученную строку.
Решение
Думаю, код интуитивно понятен. Поясню, как работает функция replace.
REPLACE(‘что заменить’, ‘на что заменить’, сколько раз)
Таким образом, если мы не укажем третий аргумент функции (сколько раз), то функция заменит все символы в строке на новые.
14 Задание ЕГЭ по Информатике Исполнитель Редактор
Пример 2
Какая строка получится в результате применения приведённой ниже программы к строке длины 101, в которой первый и последний символ – это цифры 2, а остальные символы – цифры 8?
В ответе запишите полученную строку.
НАЧАЛО
ПОКА нашлось (81) ИЛИ нашлось (882) ИЛИ нашлось (8883)
ЕСЛИ нашлось (81)
ТО заменить (81, 2)
ИНАЧЕ ЕСЛИ нашлось (882)
ТО заменить (882, 3)
ИНАЧЕ заменить (8883, 1)
КОНЕЦ ЕСЛИ
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Решение
Этот пример показывает как «склеить» строку из различных символов (строка 1), а также удобство использования ELIF вместо ухода «вглубь», как в примере на алгоритмическом языке.
Надеюсь, статья помогла тебе. Если возникнут какие-нибудь вопросы, пиши комментарий. Пока!
Источник: dzen.ru
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Cancel Create
Inf_EGE_templates / docs / ex12.md
- Go to file T
- Go to line L
- Copy path
- Copy permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Cannot retrieve contributors at this time
67 lines (50 sloc) 3.47 KB
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents Copy raw contents
Copy raw contents
В задании 12 есть много разных типов задач, но самый распространённый из них — Исполнитель «Редактор» можно без особых проблем решить с помощью компьютера.
Задание 12 Исполнитель «Редактор»
«Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
14 Задание ЕГЭ Информатика 2019 Исполнитель Редактор
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
заменить (111, 27)
преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка
исполнителя при этом не изменяется. Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из N идущих подряд цифр X? В ответе запишите полученную строку.»
n = N * «X» #создаем строку из N штук цифр X #переписываем всю программу на Python #при этом заменяем нашлось() на «» in n и заменить( , ) на n=n.replace( , , 1) print(n) #если нужна в ответе полученная строка
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 68 идущих подряд цифр 8? В ответе запишите полученную строку.
НАЧАЛО ПОКА нашлось (222) ИЛИ нашлось (888) ЕСЛИ нашлось (222) ТО заменить (222, 8) ИНАЧЕ заменить (888, 2) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ
n= 68 * «8» while «222» in n or «888» in n: if «222» in n: n=n.replace(«222», «8», 1) else: n=n.replace(«888», «2», 1) print(n)
Программа выдаст 228288, это и есть ответ.
- Пока нет
Источник: github.com
Какая строка получится в результате применения приведенной ниже программы
Крылов СС, Чуркина ТЕ. ЕГЭ 2022. Информатика и ИКТ. Типовые экзаменационные варианты. 20 вариантов. — Издательство: Национальное образование, 2022 г.
Сборник ЕГЭ-2022 04 апреля 2022 Просмотров: 2198
Задание 12. Выполнение алгоритмов для исполнителей
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w). Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v). Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл выполняется, пока условие истинно.
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
В конструкции ЕСЛИ выполняется команда 1 (если условие истинно) или команда 2 (если условие ложно).
ЕСЛИ условие
ТО команда 1
ИНАЧЕ команда 2
КОНЕЦ ЕСЛИ
ВАРИАНТ 1
Решение и ответ
s=»1″*2022
while «11111» in s or «555» in s:
if «11111» in s:
s=s.replace(«11111″,»555»,1)
else:
s=s.replace(«555″,»5»,1)
print(s)
Ответ: 5511
ВАРИАНТ 2
Решение и ответ
s=»1″*2022
while «11» in s or «555» in s:
if «11» in s:
s=s.replace(«11″,»555»,1)
else:
s=s.replace(«555″,»5»,1)
print(s)
Ответ: 5
ВАРИАНТ 3
Решение и ответ
s=»1″*50
while «11111» in s or «15» in s:
if «11111» in s:
s=s.replace(«11111″,»15»,1)
else:
s=s.replace(«15″,»1»,1)
print(s)
Ответ: 11
ВАРИАНТ 4
Решение и ответ
s=»1″*65
while «11111» in s or «15» in s:
if «11111» in s:
s=s.replace(«11111″,»15»,1)
else:
s=s.replace(«15″,»1»,1)
print(s)
Ответ: 1
ВАРИАНТ 5
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 70 идущих подряд цифр 1? В ответе запишите полученную строку.
НАЧАЛО
ПОКА нашлось (1111) ИЛИ нашлось (2222)
ЕСЛИ нашлось (1111)
ТО заменить (1111, 22)
ИНАЧЕ заменить (2222, 11)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Решение и ответ
s=»1″*70
while «1111» in s or «2222» in s:
if «1111» in s:
s=s.replace(«1111″,»22»,1)
else:
s=s.replace(«2222″,»11»,1)
print(s)
Ответ: 22
ВАРИАНТ 6
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 71 идущей подряд цифры 2? В ответе запишите полученную строку.
НАЧАЛО
ПОКА нашлось (1111) ИЛИ нашлось (2222)
ЕСЛИ нашлось (1111)
ТО заменить (1111, 22)
ИНАЧЕ заменить (2222, 11)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Решение и ответ
s=»2″*71
while «1111» in s or «2222» in s:
if «1111» in s:
s=s.replace(«1111″,»22»,1)
else:
s=s.replace(«2222″,»11»,1)
print(s)
Ответ: 112
ВАРИАНТ 7
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 91 идущих подряд цифр 1? В ответе запишите полученную строку.
НАЧАЛО
ПОКА нашлось (2222) ИЛИ нашлось (1111)
ЕСЛИ нашлось (2222)
ТО заменить (2222, 11)
ИНАЧЕ заменить (1111, 22)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Решение и ответ
s=»1″*91
while «2222» in s or «1111» in s:
if «2222» in s:
s=s.replace(«2222″,»11»,1)
else:
s=s.replace(«1111″,»22»,1)
print(s)
Ответ: 22111
Источник: klub-kod.ru