12.02 Исполнитель «Редактор» – строка с произвольным порядком цифр
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды,
в обеих командах и
обозначают цепочки цифр.
А) заменить ,
.
Эта команда заменяет в строке первое слева вхождение цепочки на цепочку
. Например, выполнение команды
заменить(334, 27) преобразует строку 12113341121 в строку 1211271121.
Если в строке нет вхождений цепочки , то выполнение команды заменить
,
не меняет эту
строку.
Б) нашлось .
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции ЕСЛИ условие
ТО команда1
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно).
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Дана программа для Редактора: НАЧАЛО
ПОКА нашлось (>) ИЛИ нашлось (>
) ИЛИ нашлось(>
)
ЕСЛИ нашлось (>)
ТО заменить (>,
>)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось(>)
ТО заменить (>,
>)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (>)
ТО заменить (>,
>)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
На вход приведённой ниже программе поступает строка, начинающаяся с символа «>», а затем содержащая
цифр
,
цифр
и
цифр
, расположенных в произвольном порядке.
Определите сумму числовых значений цифр строки, получившейся в результате выполнения программы. Так,
например, если результат работы программы представлял бы собой строку, состоящую из цифр
, то верным
ответом было бы число
.
Решение руками:
Можно заметить, что программа меняет каждую цифру последовательности на что-то другое, при этом каждая цифра меняется только один раз, так как после замены «курсор» передвигается к следующей цифре.
Таким образом, все единицы изначальной строки будут заменены на 41, все двойки на 5, а все тройки на 44. Так как единиц было 15, то и комбинаций «41» будет 15. Двоек было 20, значит и «5» будет 20. Троек было 8, значит и комбинаций «44» будет 8.
Отсюда получаем, что в итоговой строке 15 единиц, 20 пятерок и четверка. Итоговая сумма данной
строки равна:
.
Решение программой:
s = ’>’ + ’1’ * 15 + ’2’ * 20 + ’3’ * 8 while (’>1’ in s) or (’>2’ in s) or (’>3’ in s): if ’>1’ in s: s = s.replace(’>1’, ’41>’, 1) if ’>2’ in s: s = s.replace(’>2’, ’5>’, 1) if ’>3’ in s: s = s.replace(’>3’, ’44>’, 1) print(s.count(’1’) + 2 * s.count(’2’) + 3 * s.count(’3’) + 4 * s.count(’4’) + 5 * s.count(’5’))
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!