Задание 15 Параграф 3.5 ГДЗ Босова 8 класс 2023 (Информатика)
а) Робот закрашивает две клетки: клетку, в которой он находится в стартовой позиции, и клетку с другой стороны от стены;
использовать Робот
алг клетка_а
нач
. если слева стена то
. . . закрасить
. . . вниз; влево; вверх
. . . закрасить
. . иначе
. . . если сверху стена то
. . . . . закрасить
. . . . . вправо; вверх; влево
. . . . . закрасить
. . . . иначе
. . . . . если справа стена то
. . . . . . . закрасить
. . . . . . . вниз; вправо; вверх
. . . . . . . закрасить
. . . . . . иначе
. . . . . . . если снизу стена то
. . . . . . . . . закрасить
. . . . . . . . . вправо; вниз; влево
. . . . . . . . . закрасить
. . . . . . . все
. . . . . все
. . . все
. все
б) Робот закрашивает клетку с другой стороны стены и возвращается назад;
использовать Робот
алг клетка_б
нач
. если слева стена то
. . . вниз; влево; вверх
. . . закрасить
. . . вниз; вправо; вверх
. . иначе
. . . если сверху стена то
. . . . . вправо; вверх; влево
. . . . . закрасить
. . . . . вправо; вниз; влево
. . . . иначе
. . . . . если справа стена то
. . . . . . . вниз; вправо; вверх
. . . . . . . закрасить
. . . . . . . вниз; влево; вверх
. . . . . . иначе
. . . . . . . если снизу стена то
. . . . . . . . . вправо; вниз; влево
. . . . . . . . . закрасить
. . . . . . . . . вправо; вверх; влево
. . . . . . . все
. . . . . все
. . . все
. все
кон
в) Робот закрашивает клетку, в которой он стоит, и «прячется» за стену.
Протестируйте программу, устанавливая начальное положение Робота в клетках, отмеченных ромбом.
использовать Робот
алг клетка_в
нач
. если слева стена то
. . . закрасить
. . . вниз; влево; вверх
. . иначе
. . . если сверху стена то
. . . . . закрасить
. . . . . вправо; вверх; влево
. . . . .
. . . . иначе
. . . . . если справа стена то
. . . . . . . закрасить
. . . . . . . вниз; вправо; вверх
. . . . . . .
. . . . . . иначе
. . . . . . . если снизу стена то
. . . . . . . . . закрасить
. . . . . . . . . вправо; вниз; влево
. . . . . . . . .
. . . . . . . все
. . . . . все
. . . все
. все
кон
Нужно проверить, с какой стороны от Робота находится стена, и в зависимости от этого выполнить нужную последовательность команд.
Для пункта а Робот закрашивает стартовую клетку и клетку по другую сторону стены. Поэтому после обхода стены он снова закрашивает найденную клетку.
использовать Робот
алг клетка_а
нач
если слева стена то
закрасить
вниз; влево; вверх
закрасить
иначе
если сверху стена то
закрасить
вправо; вверх; влево
закрасить
иначе
если справа стена то
закрасить
вниз; вправо; вверх
закрасить
иначе
если снизу стена то
закрасить
вправо; вниз; влево
закрасить
все
все
все
все
кон
Для пункта б Робот закрашивает клетку с другой стороны стены и возвращается назад в исходную позицию.
использовать Робот
алг клетка_б
нач
если слева стена то
вниз; влево; вверх
закрасить
вниз; вправо; вверх
иначе
если сверху стена то
вправо; вверх; влево
закрасить
вправо; вниз; влево
иначе
если справа стена то
вниз; вправо; вверх
закрасить
вниз; влево; вверх
иначе
если снизу стена то
вправо; вниз; влево
закрасить
вправо; вверх; влево
все
все
все
все
кон
Для пункта в Робот закрашивает свою клетку и «прячется» за стену, то есть переходит в клетку за стеной.
использовать Робот
алг клетка_в
нач
если слева стена то
закрасить
вниз; влево; вверх
иначе
если сверху стена то
закрасить
вправо; вверх; влево
иначе
если справа стена то
закрасить
вниз; вправо; вверх
иначе
если снизу стена то
закрасить
вправо; вниз; влево
все
все
все
все
кон
Ответ
Приведены программы для пунктов а), б) и в).