Математика ЕГЭ
Русский язык ЕГЭ
Математика 5-7
Математика ОГЭ
Информатика
Физика
Обществознание
Кликните, чтобы открыть меню

12. Сложные исполнители и алгоритмы

1. Вспоминай формулы по каждой теме
2. Решай новые задачи каждый день
3. Вдумчиво разбирай решения

Исполнитель "Редактор"

Задание 1 #15108

Исполнитель Панцирь получает на вход строку цифр и преобразовывает её. Панцирь может выполнять две команды, в обеих командах v и w обозначают цепочки символов.

1. заменить (v, w)

2. нашлось (v)

Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Панцирь. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь».

Дана программа для исполнителя Панцирь:

НАЧАЛО

ПОКА нашлось\((11)\) ИЛИ нашлось\((2)\)

ПОКА нашлось\((12)\)

ТО заменить\((12, 11)\)

КОНЕЦ ПОКА

ЕСЛИ нашлось\((11)\)

ТО заменить\((11, 2)\)

ИНАЧЕ ЕСЛИ нашлось\((2)\)

ТО заменить\((2, 0)\)

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Сколько нулей содержится в строке, полученной в результате применения приведённой выше программы к строке: \(\underbrace{11\dots11}_{39}\underbrace{22\dots22}_{14}.\)

Для удобства будем использвовать следующие обозначения для количества одинаковых цифр, идущих подряд: \(A_{(B)},\) где A - цифра, которая находится в строке, а B - количество этих цифр.

Изначально была строка \(1_{(39)} 2_{(14)}.\) Цикл ПОКА внутри основного цикла ПОКА будет работать до момента исчезновения всех двоек, таким образом после выполнения этого цикла строка будет состоять из 87 единиц.

Далее все единицы кроме последней исчезнут, а на их месте появятся двойки.

\(1_{(53)} \rightarrow 2_{(26)} 1_{(1)}\)

После этого все двойки заменятся нулями и программа завершит свою работу. В полученной строке 26 нулей.

Ответ: 26

Задание 2 #15109

Исполнитель Панцирь получает на вход строку цифр и преобразовывает её. Панцирь может выполнять две команды, в обеих командах v и w обозначают цепочки символов.

1. заменить (v, w)

2. нашлось (v)

Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Панцирь. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь».

Дана программа для исполнителя Панцирь:

НАЧАЛО

ПОКА нашлось\((11)\) ИЛИ нашлось\((2)\)

ПОКА нашлось\((12)\)

ТО заменить\((12, 11)\)

КОНЕЦ ПОКА

ЕСЛИ нашлось\((11)\)

ТО заменить\((11, 2)\)

ИНАЧЕ ЕСЛИ нашлось\((2)\)

ТО заменить\((2, 0)\)

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Найдите произведение количества тех цифр, которых больше всего, и значения тех цифр, которых меньше всего в строке, полученной в результате применения приведённой выше программы к строке: \(\underbrace{11\dots11}_{231}\underbrace{22\dots22}_{70}.\) Так, если программа вывела бы 60 пятерок и 10 четверок, то ответом было число \(60 \cdot 4 = 240.\)

Для удобства будем использвовать следующие обозначения для количества одинаковых цифр, идущих подряд: \(A_{(B)},\) где A - цифра, которая находится в строке, а B - количество этих цифр.

Изначально была строка \(1_{(231)} 2_{(70)}.\) Цикл ПОКА внутри основного цикла ПОКА будет работать до момента исчезновения всех двоек, таким образом после выполнения этого цикла строка будет состоять из 301 единицы.

Далее все кроме последней единицы исчезнут, а на их месте появятся двойки.

\(1_{(301)} \rightarrow 2_{(150)} 1_{(1)}\)

После этого все двойки заменятся нулями и программа завершит свою работу. В полученной строке 150 нулей и 1 единица. Больше всего нулей, меньше – единиц, ответ \(150 \cdot 1 = 150\)

Ответ: 150

Задание 3 #15110

Исполнитель Панцирь получает на вход строку цифр и преобразовывает её. Панцирь может выполнять две команды, в обеих командах v и w обозначают цепочки символов.

1. заменить (v, w)

2. нашлось (v)

Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Панцирь. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь».

Дана программа для исполнителя Панцирь:

НАЧАЛО

ПОКА нашлось\((11)\) ИЛИ нашлось\((2)\)

ПОКА нашлось\((12)\)

ТО заменить\((12, 11)\)

КОНЕЦ ПОКА

ЕСЛИ нашлось\((11)\)

ТО заменить\((11, 2)\)

ИНАЧЕ ЕСЛИ нашлось\((2)\)

ТО заменить\((2, 0)\)

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Найдите количество цифр в строке, полученной в результате применения приведённой выше программы к строке: \(\underbrace{11\dots11}_{83}\underbrace{22\dots22}_{17}.\) Ответ запишите в двоичной системе счисления.

Для удобства будем использвовать следующие обозначения для количества одинаковых цифр, идущих подряд: \(A_{(B)},\) где A - цифра, которая находится в строке, а B - количество этих цифр.

Изначально была строка \(1_{(83)} 2_{(17)}.\) Цикл ПОКА внутри основного цикла ПОКА будет работать до момента исчезновения всех двоек, таким образом после выполнения этого цикла строка будет состоять из 100 единиц.

Далее все единицы исчезнут, а на их месте появятся двойки.

\(1_{(100)} \rightarrow 2_{(50)}\)

После этого все двойки заменятся нулями и программа завершит свою работу. В полученной строке 50 нулей. Переведем 50 в двоичную СС: \(50_{10} = 110010_{2}\)

Ответ: 110010

Задание 4 #15111

Исполнитель Панцирь получает на вход строку цифр и преобразовывает её. Панцирь может выполнять две команды, в обеих командах v и w обозначают цепочки символов.

1. заменить (v, w)

2. нашлось (v)

Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Панцирь. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь».

Дана программа для исполнителя Панцирь:

НАЧАЛО

ПОКА нашлось\((33)\) ИЛИ нашлось\((2)\)

ПОКА нашлось\((32)\)

ТО заменить\((32, 33)\)

КОНЕЦ ПОКА

ЕСЛИ нашлось\((33)\)

ТО заменить\((33, 2)\)

ИНАЧЕ ЕСЛИ нашлось\((2)\)

ТО заменить\((2, 7)\)

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Найдите произведение количества тех цифр, которых больше всего, и значения тех цифр, которых меньше всего в строке, полученной в результате применения приведённой выше программы к строке: \(\underbrace{33\dots33}_{120}\underbrace{22\dots22}_{25}.\) Так, если программа вывела бы 60 пятерок и 10 четверок, то ответом было число \(60 \cdot 4 = 240.\)

Для удобства будем использвовать следующие обозначения для количества одинаковых цифр, идущих подряд: \(A_{(B)},\) где A - цифра, которая находится в строке, а B - количество этих цифр.

Изначально была строка \(3_{(120)} 2_{(25)}.\) Цикл ПОКА внутри основного цикла ПОКА будет работать до момента исчезновения всех двоек, таким образом после выполнения этого цикла строка будет состоять из 145 троек.

Далее все кроме последней тройки исчезнут, а на их месте появятся двойки.

\(3_{(145)} \rightarrow 2_{(72)} 3_{(1)}\)

После этого все двойки заменятся семерками и программа завершит свою работу. В полученной строке 72 семерки и 1 тройка. Больше всего семерок, меньше – троек, ответ \(72 \cdot 3 = 216.\)

Ответ: 216

Задание 5 #15112

Исполнитель Панцирь получает на вход строку цифр и преобразовывает её. Панцирь может выполнять две команды, в обеих командах v и w обозначают цепочки символов.

1. заменить (v, w)

2. нашлось (v)

Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Панцирь. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь».

Дана программа для исполнителя Панцирь:

НАЧАЛО

ПОКА нашлось\((77)\) ИЛИ нашлось\((9)\)

ПОКА нашлось\((79)\)

ТО заменить\((79, 77)\)

КОНЕЦ ПОКА

ЕСЛИ нашлось\((77)\)

ТО заменить\((77, 9)\)

ИНАЧЕ ЕСЛИ нашлось\((9)\)

ТО заменить\((9, 8)\)

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Найдите произведение количества тех цифр, которых больше всего, и значения тех цифр, которых меньше всего в строке, полученной в результате применения приведённой выше программы к строке: \(\underbrace{77\dots77}_{367}\underbrace{99\dots99}_{34}.\) Так, если бы программа вывела 60 пятерок и 10 четверок, то ответом было число \(60 \cdot 4 = 240.\)

Для удобства будем использвовать следующие обозначения для количества одинаковых цифр, идущих подряд: \(A_{(B)},\) где A - цифра, которая находится в строке, а B - количество этих цифр.

Изначально была строка \(7_{(367)} 9_{(34)}.\) Цикл ПОКА внутри основного цикла ПОКА будет работать до момента исчезновения всех девяток, таким образом после выполнения этого цикла строка будет состоять из 401 семерки.

Далее все кроме последней семерки исчезнут, а на их месте появятся девятки.

\(7_{(401)} \rightarrow 9_{(200)} 7_{(1)}\)

После этого все девятки заменятся восьмерками и программа завершит свою работу. В полученной строке 200 восьмерок и 1 семерка. Больше всего восьмерок, меньше – семерок, ответ \(200 \cdot 7 = 1400.\)

Ответ: 1400

Задание 6 #15151

Исполнитель Панцирь получает на вход строку цифр и преобразовывает её. Панцирь может выполнять две команды, в обеих командах v и w обозначают цепочки символов.

1. заменить (v, w)

2. нашлось (v)

Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Панцирь. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь».

Дана программа для исполнителя Панцирь:

НАЧАЛО

ПОКА нашлось (*2) ИЛИ нашлось (*5) ИЛИ нашлось (*9)

ЕСЛИ нашлось (*2)

ТО заменить (*2, *)

КОНЕЦ ЕСЛИ

ЕСЛИ нашлось (*5)

ТО заменить (*5, 6*)

КОНЕЦ ЕСЛИ

ЕСЛИ нашлось (*9)

ТО заменить (*9, 7*)

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

На вход приведённой программе поступает строка, начинающаяся с символа “*”, а затем содержащая 100 цифр 2, 10 цифр 5 и 60 цифр 9, расположенных в произвольном порядке. Определите сумму числовых значений цифр строки, получившейся в результате выполнения программы. Так, например, если результат работы программы представлял бы собой строку, состоящую из 50 цифр 2, то верным ответом было бы число 100.

Принцип действия данной программы можно воспринимать как фильтр, через который по очереди пропускаются одни числа, а выводятся другие (или не выводятся вообще). Этим фильтром служит знак “*”. При пропускании через фильтр цифры 2, она не выводится, т.е. каждая двойка изначальной строки удаляется, после чего в конечной строке не будет ни одной двойки. Проходя через фильтр, пятерки и девятки заменяются на шестерки и семерки соответственно.

Исходя из этого, после выполнения программы в строке будут находиться 10 шестерок и 60 семерок. Сумма числовых значений равна \(10 \cdot 6 + 60 \cdot 7 = 480.\)

Ответ: 480

Задание 7 #15152

Исполнитель Панцирь получает на вход строку цифр и преобразовывает её. Панцирь может выполнять две команды, в обеих командах v и w обозначают цепочки символов.

1. заменить (v, w)

2. нашлось (v)

Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Панцирь. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь».

Дана программа для исполнителя Панцирь:

НАЧАЛО

ПОКА нашлось (*2) ИЛИ нашлось (*5) ИЛИ нашлось (*9)

ЕСЛИ нашлось (*2)

ТО заменить (*2, *)

КОНЕЦ ЕСЛИ

ЕСЛИ нашлось (*5)

ТО заменить (*5, 6*)

КОНЕЦ ЕСЛИ

ЕСЛИ нашлось (*9)

ТО заменить (*9, 7*)

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

На вход приведённой программе поступает строка, начинающаяся с символа “*”, а затем содержащая 100 цифр 2, 10 цифр 5 и 60 цифр 9, расположенных в произвольном порядке. Определите, каких цифр больше всего в строке, получившейся в результате выполнения программы. Так, например, если результат работы программы представлял бы собой строку, состоящую из 50 цифр 2 и 60 цифр 3, то верным ответом было бы число 3.

Принцип действия данной программы можно воспринимать как фильтр, через который по очереди пропускаются одни числа, а выводятся другие (или не выводятся вообще). Этим фильтром служит знак “*”. При пропускании через фильтр цифры 2, она не выводится, т.е. каждая двойка изначальной строки удаляется, после чего в конечной строке не будет ни одной двойки. Проходя через фильтр, пятерки и девятки заменяются на шестерки и семерки соответственно.

Исходя из этого, после выполнения программы в строке будут находиться 10 шестерок и 60 семерок, семерок больше, поэтому 7 - правильный ответ.

Ответ: 7