Контрольные задания > На бесконечном поле имеется лестница. Сначала лестница спускается вниз справа налево, затем спускается вниз слева направо. Высота каждой ступени – одна клетка, ширина – две клетки. Робот находится справа от верхней ступени лестницы. Количество ступенек, ведущих влево, и количество ступенек, ведущих вправо, неизвестно. Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно над ступенями лестницы, спускающейся слева направо.
Вопрос:
На бесконечном поле имеется лестница. Сначала лестница спускается вниз справа налево, затем спускается вниз слева направо. Высота каждой ступени – одна клетка, ширина – две клетки. Робот находится справа от верхней ступени лестницы. Количество ступенек, ведущих влево, и количество ступенек, ведущих вправо, неизвестно. Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно над ступенями лестницы, спускающейся слева направо.
```
НАЧАЛО
// Предполагается, что робот уже находится справа от верхней ступени
ЦИКЛ ПОКА лестница продолжается ВНИЗ СЛЕВА НАПРАВО
ВЛЕВО // Переходим на клетку над ступенью
ЗАкрасить
ВЛЕВО // Закрашиваем следующую клетку над ступенью, так как ширина ступени - 2 клетки
ЗАкрасить
ВНИЗ ВЛЕВО // Спускаемся на следующую ступень
КОНЕЦ_ЦИКЛА
КОНЕЦ
```
Разъяснение:
Алгоритм предполагает, что робот начинает справа от верхней ступени лестницы.
Затем он входит в цикл, который продолжается, пока лестница спускается вниз слева направо.
Внутри цикла:
- Робот перемещается влево, чтобы оказаться над ступенью, и закрашивает эту клетку.
- Робот перемещается еще раз влево и закрашивает вторую клетку над ступенью, учитывая, что ширина каждой ступени равна двум клеткам.
- Робот спускается вниз и влево, чтобы перейти на следующую ступень лестницы.
Цикл повторяется до тех пор, пока не будет достигнут конец лестницы.