1. Главная
  2. Библиотека
  3. Программирование
  4. Исполнитель Редактор получает на вход строку цифр и пре...
Решение задачи

Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды: А) заменить (v, w) — заменяет в строке первое слева вхождение цепочки v на цепочку w. Б) нашлось (v) — проверяет, встречается ли цепочка v в строке

  • Программирование

Условие:

Реши задачу по информатике: Исполнитель Редактор получает на вход строку цифр и преобразует её.

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

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

Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150.

Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.

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

Эта команда проверяет, встречается ли цепочка v в строке исполнителя

Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.

 

Цикл

    ПОКА условие

        последовательность команд

    КОНЕЦ ПОКА

выполняется, пока условие истинно.

 

Дана программа для редактора:

НАЧАЛО

    ПОКА НЕ нашлось (00)

        заменить (011, 20)

        заменить (022, 10)

        заменить (01, 220)

        заменить (02, 110)

    КОНЕЦ ПОКА

КОНЕЦ

 

Известно, что исходная строка A содержала ровно два нуля  — на первом и на последнем месте, а также поровну единиц и двоек. После выполнения данной программы получилась строка B, содержащая 40 единиц и больше 50 двоек.

Какое наименьшее количество двоек может быть в строке B?

Решение:

Нам дана программа, которая по циклу выполняет несколько замен в строке, содержащей только цифры. При этом исходная строка A имеет ровно два нуля (на первом и последнем месте) и равное число единиц и двоек. После выполнения программы строка B оказывается такой, что в ней ровно 40 единиц и более 50 двоек. Требуется найти, какое наименьшее количество двоек может быть в строке B. Чтобы решить задачу, проанализируем действия каждой из четырёх команд и посмотрим, как они изменяют число единиц и двоек. 1. Команда заменить (011, 20) ищет цепочку 0 1 1 и заменяет её на 2 0. При этом:  – удаляются си...

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет