Вопрос:

The robot is in a rectangle. If there is no wall in front of the robot, it should take one step forward, otherwise - color the cell it is in. move_left Make a step left move_right Make a step right move_up Make a step up move_down Make a step down fill_cell Color the cell free_from_up Check if it's clear above free_from_down Check if it's clear below free_from_left Check if it's clear to the left free_from_right Check if it's clear to the right wall_from_up Check if there is a wall above wall_from_down Check if there is a wall below wall_from_left Check if there is a wall to the left wall_from_right Check if there is a wall to the right cell_is_filled Check if the cell is colored cell_is_clean Check if the cell is clean

Ответ:

Решение:


Чтобы выполнить эту задачу, нам нужно использовать условные блоки (если...то...) и блоки для проверки условий.



Шаги:



  1. Проверка условия: Сначала нужно проверить, есть ли стена впереди робота. Для этого используем блок wall_from_up.

  2. Действие при отсутствии стены: Если стены нет (то есть wall_from_up ложно), то робот должен сделать шаг вперед. Используем блок move_up.

  3. Действие при наличии стены: Если стена есть (то есть wall_from_up истинно), то робот должен закрасить клетку, в которой находится. Используем блок fill_cell.



Блоки в программе:



  • Если wall_from_up не (то есть, если нет стены сверху)

  • Выполнить move_up

  • Иначе (то есть, если стена есть сверху)

  • Выполнить fill_cell



Итоговый код (в блоках):


Если (НЕ wall_from_up) выполнить move_up, иначе выполнить fill_cell



Примечание: В задаче используется направление "наверх", что соответствует движению по оси Y в положительном направлении. Если бы требовалось движение вниз, использовались бы блоки wall_from_down и move_down.



Ответ:


Если (НЕ wall_from_up) выполнить move_up, иначе выполнить fill_cell

Подать жалобу Правообладателю