menu


ГДЗ по информатике 10 класс Поляков, Еремин §53. Анализ алгоритмов с ветвлениями и циклами с ответами




1. Сколько клеток приведённого лабиринта соответствуют требованию: выполнив предложенную ниже программу, Робот остановится в той же клетке, с которой он начал движение?

а) ПОКА Ссправа свободно> вправо КОНЕЦ

ПОКА Ссверху свободно> вверх КОНЕЦ

ПОКА <слева свободно> влево КОНЕЦ

ПОКА Сснизу свободно> вниз КОНЕЦ

D2, E2

б) ПОКА <сверху свободно> вправо КОНЕЦ

ПОКА Ссправа свободно> вниз КОНЕЦ

ПОКА сснизу свободно> влево КОНЕЦ

ПОКА Сслева свободно> вверх КОНЕЦ

C5

в) ПОКА ссправа свободно вниз КОНЕЦ

ПОКА сснизу свободно> влево КОНЕЦ

ПОКА Сслева свободно> вверх КОНЕЦ

ПОКА Ссверху свободно вправо КОНЕЦ

E5

2. Дана программа для исполнителя Редактор:

ПОКА нашлось (2222) ИЛИ нашлось (8888)

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

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

ИНАЧЕ заменить (8888, 2)

КОНЕЦ

КОНЕЦ

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

а) 62 идущих подряд цифр 8; б) 65 идущих подряд цифр 8; в) 72 идущих подряд цифр 8; г) 93 идущих подряд цифр 8; д) 146 идущих подряд цифр 8; е) 156 идущих подряд цифр 8; ж) 184 идущих подряд цифр 8; з) 193 идущих подряд цифр 8?

Для решения задачи анализируем программу пошагово. Программа состоит из двух команд:

ПОКА нашлось (2222) ИЛИ нашлось (8888) — цикл выполняется до тех пор, пока в строке встречается цепочка "2222" или "8888".
ЕСЛИ нашлось (2222) — если в строке есть "2222", заменяем первое его вхождение на "8".
ИНАЧЕ заменить (8888, 2) — если "2222" нет, то заменяем первое вхождение "8888" на "2".
Таким образом, программа будет выполнять замену поочередно:

Проверяет, есть ли "2222" или "8888".
Если есть "2222", заменяет его на "8".
Если "2222" нет, но есть "8888", заменяет "8888" на "2".
Цикл продолжается до тех пор, пока хотя бы одно из этих вхождений существует.
Теперь рассмотрим каждую из строк, с которой будет работать программа.

а) 62 идущих подряд цифр 8:
Строка: "888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888

8888"

В строке нет "2222", но есть много "8888". Программа будет заменять "8888" на "2". После первой замены получится строка из 62 цифр "2", так как каждое "8888" будет заменяться на "2".
Результат: "222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222

2222"
б) 65 идущих подряд цифр 8:
Строка: "888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888

888"

Точно так же, как и в предыдущем случае, программа заменит все "8888" на "2".
Результат: "222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222

2222"
в) 72 идущих подряд цифр 8:
Строка: "888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888

888"

Заменяются все "8888" на "2".
Результат: "222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222

2222"
г) 93 идущих подряд цифр 8:
Строка: "888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888

888"

Заменяются все "8888" на "2".
Результат: "222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222

2222"
д) 146 идущих подряд цифр 8:
Строка: "888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888

888888888888888888"

Заменяются все "8888" на "2".
Результат: "222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222

2222222222222222222222222222222"
е) 156 идущих подряд цифр 8:
Строка: "888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888

888888888888888888888888888888"

Заменяются все "8888" на "2".
Результат: "222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222

2222222222222222222222222222222"
ж) 184 идущих подряд цифр 8:
Строка: "888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888

888888888888888888888888888888888888888"

Заменяются все "8888" на "2".
Результат: "222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222

2222222222222222222222222222222222222222222222222222222222"
з) 193 идущих подряд цифр 8:
Строка: "888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888

888888888888888888888888888888888888888888"

Заменяются все "8888" на "2".
Результат: "222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222

222222222222222222222222222222222222222222222222222222222222222222"

3. Дана программа для исполнителя Редактор:

ПОКА нашлось (333) ИЛИ нашлось (555)

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

ТО заменить (555, 3)

ИНАЧЕ заменить (333, 5)

КОНЕЦ

КОНЕЦ

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

а) 62 идущих подряд цифр 5; б) 65 идущих подряд цифр 5;

в) 72 идущих подряд цифр 5; г) 93 идущих подряд цифр 5; д) 146 идущих подряд цифр 5; е) 156 идущих подряд цифр 5; ж) 184 идущих подряд цифр 5; з) 193 идущих подряд цифр 5?

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

Программа состоит из следующих команд:

ПОКА нашлось (333) ИЛИ нашлось (555) — цикл выполняется, пока в строке есть цепочки "333" или "555".
ЕСЛИ нашлось (555) — если в строке встречается "555", заменяем его на "3".
ИНАЧЕ заменить (333, 5) — если "555" нет, но есть "333", заменяем "333" на "5".
Цикл продолжается до тех пор, пока хотя бы одно из вхождений "333" или "555" есть в строке.
Пусть строка состоит из цифры "5". Программа будет выполнять замену поочередно, если в строке будет найдено "555", оно заменяется на "3". Если "333" найдено, то заменяется на "5".

Теперь рассмотрим различные варианты строк, состоящих из цифры "5".

а) 62 идущих подряд цифр 5:
Строка: "555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555

555"

Программа начнет с поиска "555", который будет заменен на "3". После замены на "3", программа продолжит заменять каждое следующее "555" на "3".
Результат: строка станет состоящей из "3" и "5", при этом сначала будет заменено "555" на "3", а затем цикл продолжит выполнение с аналогичной заменой.
б) 65 идущих подряд цифр 5:
Строка: "555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555

555"

Аналогично предыдущему случаю, заменяются все блоки "555" на "3", пока строка не станет строкой с цифрами "3" и "5".
Результат будет таким же, как и в случае с 62 цифрами.
в) 72 идущих подряд цифр 5:
Строка: "555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555

555"

Цикл работает по тому же принципу, сначала заменяется "555" на "3", и процесс продолжается.
Результат: аналогичен предыдущим случаям.
г) 93 идущих подряд цифр 5:
Строка: "555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555

555555555555555555"

Заменяются все "555" на "3", как и в предыдущих примерах.
Результат: будет аналогичен предыдущим.
д) 146 идущих подряд цифр 5:
Строка: "555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555

555555555555555555555555555555555555555555"

После применения программы, цепочки "555" заменяются на "3", и программа продолжает действовать, пока не завершится.
Результат: продолжение аналогичных замен.
е) 156 идущих подряд цифр 5:
Строка: "555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555

555555555555555555555555555555555555555555555555555555"

Заменяются все "555" на "3".
Результат: аналогичен предыдущим.
ж) 184 идущих подряд цифр 5:
Строка: "555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555

555555555555555555555555555555555555555555555555555555555555555555"

После последовательных замен, результат будет строкой с "3" и "5".
Результат: аналогичен предыдущим.
з) 193 идущих подряд цифр 5:
Строка: "555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555

555555555555555555555555555555555555555555555555555555555555555555555555555555"

Все "555" заменяются на "3", пока не завершится цикл.
Результат: аналогичен предыдущим.






ГДЗ по информатике 10 класс Поляков, Еремин Параграф 53

Сообщить о неточной информации или отсутствии ответов
Проверочный код, год рождения Д.И.Менделеева:
В каком задании/вопросе ошибка:
Как должно быть (если в тексте отсутствует вопрос, то пришлите сам вопрос):