М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
aruka10511
aruka10511
16.07.2020 16:52 •  Информатика

Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды. Команда нашлось (v) проверяет, встречается ли цепочка v в строке, поданной на вход исполнителя. Команда заменить (v, w) заменяет в строке первое слева вхождение цепочки v на цепочку w. Дана программа для исполнителя Редактор:
НАЧАЛО
ПОКА нашлось (33) ИЛИ нашлось (22)
ЕСЛИ нашлось (33)
ТО заменить (33,2)
ИНАЧЕ заменить (22,3)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ

Какая строка получится в результате применения приведенной выше программы к строке, состоящей из:

1) 500 идущих подряд цифр 3;
2) 500 идущих подряд цифр 2;
3) 300 идущих подряд цифр 3 и следующих за ними 200 идущих подряд цифр 2.

👇
Ответ:
Morij007
Morij007
16.07.2020
Для решения данной задачи, нужно последовательно применять команды из программы к строке и следить за изменениями в ней.

Давайте рассмотрим каждый из вариантов строк:

1) Строка состоящая из 500 идущих подряд цифр 3.

В начале программы будет выполняться цикл ПОКА нашлось (33) ИЛИ нашлось (22), но в данной строке нет ни цепочки "33" ни цепочки "22", поэтому этот цикл сразу закончится.

Программа перейдет к следующей команде и ничего не произойдет, так как условие нашлось(33) не выполняется.

Затем будет выполнено условие нашлось(22), но и в этом случае в данной строке не встречается цепочка "22", поэтому эта команда также будет проигнорирована.

В итоге, строка останется неизменной и будет состоять из 500 идущих подряд цифр 3.

2) Строка состоящая из 500 идущих подряд цифр 2.

Аналогично, в начале программы будет выполняться цикл ПОКА нашлось (33) ИЛИ нашлось(22), но в данной строке нет ни цепочки "33" ни цепочки "22", поэтому этот цикл сразу закончится.

Программа перейдет к следующей команде и снова ничего не произойдет, так как условие нашлось(33) не выполняется.

Затем будет выполнено условие нашлось(22), и в данной строке найдется первое слева вхождение цепочки "22". Согласно команде заменить(22,3), цепочка "22" будет заменена на цепочку "3".

В итоге, строка станет состоять из 500 идущих подряд цифр 3.

3) Строка состоящая из 300 идущих подряд цифр 3 и следующих за ними 200 идущих подряд цифр 2.

Сначала, в начале программы будет выполняться цикл ПОКА нашлось (33) ИЛИ нашлось (22), и в данной строке присутствует и цепочка "33" и цепочка "22", поэтому этот цикл не завершится.

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

Строка теперь станет состоять из 299 идущих подряд цифр 2, следующих за ними 200 идущих подряд цифр 2.

Вновь будет проверено условие нашлось(33), но в данной строке цепочки "33" больше не будет найдено.

В следующей команде выполнится условие нашлось(22). Цепочка "22" найдена и будет заменена на цепочку "3".

В итоге, строка станет состоять из 299 идущих подряд цифр 3, следующих за ними 200 идущих подряд цифр 3.

Таким образом, после применения программы к третьей строке, получится строка состоящая из 299 идущих подряд цифр 3, следующих за ними 200 идущих подряд цифр 3.
4,4(56 оценок)
Проверить ответ в нейросети
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ