Вопрос:

Робот находится в крайней левой клетке горизонтального коридора высотой в одну клетку. Он должен остановиться в самой левой клетке, из которой есть проход наверх. Если такой клетки нет, то нужно остановиться в крайней правой.

Фотография

Ответ ассистента

Для решения задачи нужно составить цикл, который будет вести Робота вправо до тех пор, пока сверху стена. Как только появится проход наверх (условие `free_from_up()` станет истинным), Робот должен остановиться. Если же Робот дойдет до конца коридора и прохода не найдет, он остановится в крайней правой клетке. Алгоритм на языке Кумир (или подобном): ```python while wall_from_up() and free_from_right(): move_right() ``` **Пояснение:** 1. Цикл `while` (пока) проверяет два условия: есть ли стена сверху (`wall_from_up()`) и можно ли идти вправо (`free_from_right()`). 2. Если сверху стена, Робот делает шаг вправо (`move_right()`). 3. Как только `free_from_up()` станет истинным (стена сверху исчезнет), цикл прекратится, и Робот останется в этой клетке. 4. Если прохода нет, Робот дойдет до правой стены (`free_from_right()` станет ложным) и также остановится.

Другие решения

Что ещё задавали пользователи