Предмет: Информатика, автор: vitazahitova3904

Задача №11

Робот в правой верхней клетке прямоугольника 2×15. Там могут быть только вертикальные стенки длиной в 1 клетку, примыкающие к верхней стороне прямоугольника. Их количество и расположение может быть произвольным. Робот должен покрасить все клетки верхнего ряда, у которых есть хотя бы одна вертикальная стенка (стены прямоугольника не считаются). Остановиться нужно в левой нижней клетке прямоугольника.

Ответы

Автор ответа: valgrisa
3

Ответ:

if wall_from_left():

   fill_cell()

move_down()

move_left()

move_up()

for count in range(13):

   if wall_from_left() or wall_from_right():

       fill_cell()

   move_down()

   move_left()

   move_up()

if wall_from_right():

   fill_cell()

move_down()

Объяснение:

т.к. стены прямоугольника не считаются, то сначала используя условный оператор (if wall_from_left():) проверим надо ли закрашивать первую клетку и если условие (wall_from_left()) истинно, закрасим её

перейдём в следующую клетку

затем используя цикл с параметром (for count in range(13):) и условный оператор с составным условием (if wall_from_left() or wall_from_right():) будем проверять надо ли закрашивать текущую клетку и если составное условие (wall_from_left() or wall_from_right()) истинно, закрашивать её, а потом переходить в следующую клетку

т.к. стены прямоугольника не считаются, то в конце используя условный оператор (if wall_from_right():) проверим надо ли закрашивать последнюю клетку и если условие (wall_from_right()) истинно, закрасим её

спкстимся вниз, т.к. остановиться нужно в левой нижней клетке прямоугольника

Приложения:
Похожие вопросы
Предмет: Українська література, автор: Abigail12
Предмет: Математика, автор: КямаляНуриева
Предмет: Русский язык, автор: ganster123455767