На бесконечном поле имеется лестница. Сначала лестница слева направо спускается вниз, затем поднимается вверх. Высота каждой ступени — одна клетка, ширина — две клетки. Робот находится на первой…
- 1
Робот начинает в левой клетке первой ступени. Закрашиваем эту клетку и переходим в правую клетку той же ступени.
- 2
Закрашиваем вторую клетку ступени. Если справа проход закрыт, все ступени обработаны, и алгоритм заканчивается.
Ещё 3 шага — в полном решении
На бесконечном поле имеется вертикальная стена неизвестной длины. От верхнего конца стены вправо отходит горизонтальная стена также неизвестной длины. От правого конца этой стены вниз отходит вторая…
- 1
Робот начинает движение в клетке справа от нижнего края первой вертикальной стены. На каждом шаге вверх он закрашивает текущую клетку.
- 2
Цикл завершается в клетке непосредственно под горизонтальной стеной: сверху пройти нельзя. Эту клетку также нужно закрасить.
Ещё 1 шаг — в полном решении
На бесконечном поле имеется горизонтальная стена неизвестной длины. От её правого конца вниз отходит вертикальная стена также неизвестной длины. Робот находится над горизонтальной стеной в клетке…
- 1
Пока снизу находится горизонтальная стена, Робот закрашивает текущую клетку и перемещается вправо. Когда горизонтальная стена заканчивается, снизу становится свободно, и Робот останавливается в угловой клетке.
- 2
В угловой клетке Робот должен продолжить закрашивание вниз. Пока слева находится вертикальная стена, он закрашивает текущую клетку и перемещается вниз.
Ещё 2 шага — в полном решении
Исполнитель Робот перемещается по бесконечному клетчатому полю. Между соседними клетками могут находиться стены, через которые Робот пройти не может. Робот находится в одной из клеток, расположенных…
- 1
Пока снизу нет стены, Робот находится над горизонтальной стеной. Двигаем его влево до внешней стороны левой вертикальной стены.
- 2
С внешней стороны спускаемся вниз. Пока справа находится левая вертикальная стена, путь вправо закрыт. Когда стена закончится, справа будет свободно.
Ещё 2 шага — в полном решении
На бесконечном поле имеется препятствие прямоугольной формы. Размеры препятствия неизвестны. Робот находится в клетке, расположенной справа от препятствия. Напишите алгоритм, закрашивающий клетки…
- 1
Двигаемся влево до препятствия. Робот останавливается в клетке справа от его правой границы.
- 2
Поднимаемся вверх, пока слева находится стена препятствия. После этого Робот оказывается в клетке непосредственно над правым верхним углом препятствия.
Ещё 3 шага — в полном решении
Исполнитель Робот перемещается по бесконечному полю, разбитому на клетки. Между соседними по сторонам клетками могут находиться стены. Робот умеет выполнять команды «вверх», «вниз», «влево»…
- 1
Робот движется влево, пока справа свободно. Это условие позволяет завершить алгоритм после обнаружения вертикальной стены.
- 2
Если снизу несвободно, робот находится непосредственно над горизонтальной стеной, поэтому клетку нужно закрасить.
Ещё 3 шага — в полном решении
На бесконечном поле есть горизонтальная и вертикальная стены. Правый конец горизонтальной стены соединён с верхним концом вертикальной стены. Длины стен неизвестны. В вертикальной стене есть ровно…
- 1
Перемещаем Робота вправо до вертикальной стены. В результате Робот окажется в клетке непосредственно слева от стены.
- 2
Двигаемся вниз по левой стороне вертикальной стены. Клетку закрашиваем только тогда, когда справа находится стена. При обнаружении прохода справа свободно, поэтому текущую клетку не закрашиваем.
Ещё 2 шага — в полном решении
На бесконечном поле имеются две горизонтальные стены лестницы, соединённые лестницей. Верхняя стена продолжается влево, нижняя — вправо. Количество ступеней лестницы неизвестно. Высота каждой…
- 1
Робот движется влево по горизонтальной части лестницы до вертикальной стенки очередной ступени. Перед движением проверяется, что путь слева свободен.
- 2
Клетка справа от вертикальной части ступени является первой клеткой, которую нужно закрасить. Затем Робот поднимается на одну клетку и закрашивает вторую клетку.
Ещё 2 шага — в полном решении
Исполнитель Робот перемещается по бесконечному клетчатому полю. Между соседними клетками могут находиться стены. Робот умеет выполнять команды «вверх», «вниз», «влево», «вправо» и «закрасить», а…
- 1
Робот начинает под левым концом первого горизонтального отрезка. Он проходит вправо под этим отрезком и закрашивает каждую клетку, в которой находится.
- 2
Дойдя до правого конца первого отрезка, робот переходит в клетки слева от второго, вертикального, отрезка и движется вниз, закрашивая их. Угловая клетка также закрашивается.
Ещё 2 шага — в полном решении
На бесконечном поле имеются две вертикальные стены одинаковой длины, расположенные точно одна напротив другой. Расстояние между стенами и их длина неизвестны. Робот находится справа от первой стены…
- 1
Начальная клетка находится справа от первой стены у её нижнего края, поэтому её нужно закрасить сразу.
- 2
Пока слева находится стена, Робот движется вверх. У верхнего края первой стены слева становится свободно, поэтому цикл завершается.
Ещё 4 шага — в полном решении
Исполнитель Робот перемещается по бесконечному полю, разбитому на клетки. Между соседними по сторонам клетками могут находиться стены. Команды Робота: «вверх», «вниз», «влево», «вправо»…
- 1
Робот находится над первым горизонтальным отрезком. Двигаем его вправо, пока снизу есть стена. После завершения цикла Робот окажется непосредственно справа от второго, вертикального отрезка.
- 2
Двигаем Робота вниз, пока снизу свободно. На каждой пройденной клетке выполняем закрашивание. Так будут закрашены клетки справа от второго отрезка, кроме клетки непосредственно над третьим отрезком.
Ещё 3 шага — в полном решении
Робот находится в левой клетке узкого горизонтального коридора. Ширина коридора — одна клетка, длина коридора может быть произвольной. Напишите алгоритм, закрашивающий все клетки внутри коридора и…
- 1
Закрашиваем начальную клетку коридора.
- 2
Пока справа есть свободная клетка, переходим вправо и закрашиваем новую клетку. Когда справа стоит стена, Робот находится в правой клетке коридора.
Ещё 3 шага — в полном решении
Исполнитель Робот находится в нижней клетке узкого вертикального коридора шириной в одну клетку. Длина коридора может быть произвольной. Напишите алгоритм, который закрашивает все клетки внутри…
- 1
Сначала закрашиваем нижнюю клетку, в которой находится Робот.
- 2
Поднимаемся по коридору, пока сверху свободно. После каждого перемещения закрашиваем новую клетку.
Ещё 1 шаг — в полном решении
На бесконечном поле имеется лестница. Сначала лестница поднимается вверх справа налево, затем поднимается вверх слева направо. Высота каждой ступени — одна клетка, ширина — две клетки. Робот…
- 1
Из исходной позиции Робот движется влево вдоль нижней границы лестницы, пока слева нет стены.
- 2
Затем Робот поднимается по первой части лестницы до места соединения двух частей. На этом участке закрашивание не выполняется.
Ещё 2 шага — в полном решении
Исполнитель Робот перемещается по бесконечному полю, разбитому на клетки. Между соседними клетками могут находиться стены. Робот находится в клетке, расположенной в нижнем углу, который образуется…
- 1
Из исходной клетки Робот движется влево вдоль третьего отрезка. Движение прекращается у его левого конца, где снизу уже нет стены.
- 2
Робот спускается вниз и движется вправо под третьим отрезком. Пока сверху находится стена, он продолжает движение. Так Робот доходит до правого конца третьего отрезка, под вторым отрезком.
Ещё 1 шаг — в полном решении
На бесконечном поле имеется лестница: сначала она поднимается вверх, затем спускается вниз. Высота подъёма и высота спуска неизвестны. Высота и ширина каждой ступени — одна клетка. Робот находится…
- 1
Сначала закрашиваем начальную клетку лестницы.
- 2
Пока справа свободно, Робот переходит на следующую клетку ступени и закрашивает её.
Ещё 3 шага — в полном решении
На бесконечном поле имеется стена, состоящая из трёх последовательных отрезков: вправо, вниз, влево. Все отрезки неизвестной длины. Робот находится в клетке, расположенной в нижнем углу, который…
- 1
Робот находится над третьим, горизонтальным отрезком. Чтобы попасть к его левому концу, он движется влево, пока слева есть свободная клетка и снизу находится стена.
- 2
В клетке слева от третьего отрезка проход вниз свободен, поэтому Робот спускается на ряд клеток, расположенных под стеной.
Ещё 3 шага — в полном решении
На бесконечном поле имеется длинная горизонтальная стена неизвестной длины. Робот находится в одной из клеток непосредственно сверху от стены, но его начальное положение неизвестно. Напишите…
- 1
Во всех клетках, расположенных непосредственно над стеной, проход вниз закрыт. Поэтому условие «не снизу свободно» позволяет определить, что Робот находится над стеной.
- 2
Робот перемещается влево, пока слева есть свободная клетка и он всё ещё находится над стеной. Так Робот достигает самой левой клетки требуемого ряда.
Ещё 4 шага — в полном решении
На бесконечном поле есть горизонтальная и вертикальная стены. Правый конец горизонтальной стены соединён с верхним концом вертикальной стены. Длины стен неизвестны. В каждой стене есть ровно один…
- 1
Из исходной клетки Робот движется вправо вдоль горизонтальной стены. Если сверху находится стена, текущая клетка является искомой и её нужно закрасить.
- 2
Если сверху проход, текущую клетку не закрашивают. Робот смещается на одну клетку вниз и проходит проход по нижней линии до тех пор, пока сверху снова не появится стена. Затем возвращается на клетку непосредственно под стеной.
Ещё 3 шага — в полном решении
На бесконечном поле имеются две одинаковые горизонтальные стены и одна вертикальная, соединяющая левые концы стен. Длины стен неизвестны. Робот находится в одной из клеток, расположенных между…
- 1
Движением вверх найдём клетку на уровне верхней горизонтальной стены: сверху должно быть несвободно.$$нц пока сверху свободно
вверх
кц$$
- 2
Поднимемся над верхней стеной.$$вверх$$
Ещё 3 шага — в полном решении