141ФИПИ 85A776№ 15Күрделі Исполнитель Робот находится в левом верхнем углу огороженного пространства, имеющего форму прямоугольника. Размеры прямоугольника неизвестны. Напишите алгоритм, закрашивающий все клетки…
- 1
Робот начинает в левом верхнем углу. Чтобы попасть в нижний ряд, нужно перемещать его вниз, пока снизу есть свободная клетка.
- 2
После завершения первого цикла Робот находится в левой клетке нижнего ряда. Закрасим её.
Ещё 2 қадам — толық шешімде
142ФИПИ 860591№ 15Күрделі Робот находится в произвольной клетке узкого горизонтального коридора. Ширина коридора — одна клетка, длина может быть произвольной. Точное положение Робота неизвестно. Напишите алгоритм…
- 1
Сначала закрасим исходную клетку, чтобы учесть случай, когда коридор состоит из одной клетки.
- 2
Перемещаем Робота в крайнюю левую клетку коридора. Условие цикла не позволяет выполнить движение сквозь стену.
Ещё 1 қадам — толық шешімде
На бесконечном поле есть горизонтальная и вертикальная стены. Левый конец горизонтальной стены соединён с верхним концом вертикальной стены. Длины стен неизвестны. В вертикальной стене есть ровно…
- 1
Двигаемся влево до вертикальной стены.
- 2
Пока слева находится стена, закрашиваем клетку справа от вертикальной стены и спускаемся вниз. Цикл остановится у прохода.
Ещё 4 қадам — толық шешімде
На бесконечном поле имеется лестница. Сначала лестница слева направо спускается вниз, затем поднимается вверх. Высота каждой ступени — одна клетка, ширина — две клетки. Робот находится на первой…
- 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 қадам — толық шешімде
153ФИПИ A7E47A№ 15Күрделі На бесконечном поле имеются две вертикальные стены одинаковой длины, расположенные точно одна напротив другой. Расстояние между стенами и их длина неизвестны. Робот находится справа от первой стены…
- 1
Начальная клетка находится справа от первой стены у её нижнего края, поэтому её нужно закрасить сразу.
- 2
Пока слева находится стена, Робот движется вверх. У верхнего края первой стены слева становится свободно, поэтому цикл завершается.
Ещё 4 қадам — толық шешімде
Исполнитель Робот перемещается по бесконечному полю, разбитому на клетки. Между соседними по сторонам клетками могут находиться стены. Команды Робота: «вверх», «вниз», «влево», «вправо»…
- 1
Робот находится над первым горизонтальным отрезком. Двигаем его вправо, пока снизу есть стена. После завершения цикла Робот окажется непосредственно справа от второго, вертикального отрезка.
- 2
Двигаем Робота вниз, пока снизу свободно. На каждой пройденной клетке выполняем закрашивание. Так будут закрашены клетки справа от второго отрезка, кроме клетки непосредственно над третьим отрезком.
Ещё 3 қадам — толық шешімде
155ФИПИ AA5DB9№ 15Күрделі Робот находится в левой клетке узкого горизонтального коридора. Ширина коридора — одна клетка, длина коридора может быть произвольной. Напишите алгоритм, закрашивающий все клетки внутри коридора и…
- 1
Закрашиваем начальную клетку коридора.
- 2
Пока справа есть свободная клетка, переходим вправо и закрашиваем новую клетку. Когда справа стоит стена, Робот находится в правой клетке коридора.
Ещё 3 қадам — толық шешімде
156ФИПИ ABD03B№ 15Күрделі Исполнитель Робот находится в нижней клетке узкого вертикального коридора шириной в одну клетку. Длина коридора может быть произвольной. Напишите алгоритм, который закрашивает все клетки внутри…
- 1
Сначала закрашиваем нижнюю клетку, в которой находится Робот.
- 2
Поднимаемся по коридору, пока сверху свободно. После каждого перемещения закрашиваем новую клетку.
Ещё 1 қадам — толық шешімде
На бесконечном поле имеется лестница. Сначала лестница поднимается вверх справа налево, затем поднимается вверх слева направо. Высота каждой ступени — одна клетка, ширина — две клетки. Робот…
- 1
Из исходной позиции Робот движется влево вдоль нижней границы лестницы, пока слева нет стены.
- 2
Затем Робот поднимается по первой части лестницы до места соединения двух частей. На этом участке закрашивание не выполняется.
Ещё 2 қадам — толық шешімде
Исполнитель Робот перемещается по бесконечному полю, разбитому на клетки. Между соседними клетками могут находиться стены. Робот находится в клетке, расположенной в нижнем углу, который образуется…
- 1
Из исходной клетки Робот движется влево вдоль третьего отрезка. Движение прекращается у его левого конца, где снизу уже нет стены.
- 2
Робот спускается вниз и движется вправо под третьим отрезком. Пока сверху находится стена, он продолжает движение. Так Робот доходит до правого конца третьего отрезка, под вторым отрезком.
Ещё 1 қадам — толық шешімде
На бесконечном поле имеется лестница: сначала она поднимается вверх, затем спускается вниз. Высота подъёма и высота спуска неизвестны. Высота и ширина каждой ступени — одна клетка. Робот находится…
- 1
Сначала закрашиваем начальную клетку лестницы.
- 2
Пока справа свободно, Робот переходит на следующую клетку ступени и закрашивает её.
Ещё 3 қадам — толық шешімде
На бесконечном поле имеется стена, состоящая из трёх последовательных отрезков: вправо, вниз, влево. Все отрезки неизвестной длины. Робот находится в клетке, расположенной в нижнем углу, который…
- 1
Робот находится над третьим, горизонтальным отрезком. Чтобы попасть к его левому концу, он движется влево, пока слева есть свободная клетка и снизу находится стена.
- 2
В клетке слева от третьего отрезка проход вниз свободен, поэтому Робот спускается на ряд клеток, расположенных под стеной.
Ещё 3 қадам — толық шешімде