В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
sorokovilya
sorokovilya
11.02.2022 06:24 •  Информатика

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

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

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

Показать ответ
Ответ:
katakoval
katakoval
18.01.2024 13:34
Для решения данной задачи, нужно последовательно применять команды из программы к строке и следить за изменениями в ней.

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

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.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота