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

Задача №3

Робот в правой нижней клетке квадрата 10×10. У каждой клетки на диагонали, кроме правой нижней, есть одна стенка (снизу или справа). У правой нижней клетки есть только стенки квадрата. Робот должен покрасить диагональ, идущую из правого нижнего в левый верхний угол.

Приложения:

Ответы

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

Ответ:

fill_cell()

for k in range(9):

   move_left()

   if free_from_up():

       move_up()

   else:

       move_right()

       move_up()

       move_left()

   fill_cell()

Объяснение:

  • закрасим клетку (fill_cell()), в которой находимся
  • используем цикл с параметром (for k in range(9):), т.к. размер квадрата известен
  • шагнём влево (move_left())
  • воспользуемся полным ветвлением (if free_from_up():, else:)
  • если условие (free_from_up()) истинно (проверяем где стенка в следующей клетке снизу или справа), то шагнём вверх (move_up())
  • иначе (если условие ложное), то шагнём вправо (move_right()), шагнём вверх (move_up()) и шагнём влево (move_left())
  • закрасим клетку (fill_cell()), в которой находимся
Приложения:
Похожие вопросы
Предмет: Русский язык, автор: nataxa861
Предмет: Русский язык, автор: denisdima228