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

Задача N°2 Робот в прямоугольнике. Он должен покрасить все ряды, кроме верхнего и нижнего. Если рядов меньше трех, то красить не надо. Остановиться можно где угодно


Аноним: Дepжи https://goo.su/Rz9H9
B фaйлe дoбaвил кoммeнтaрии, чтoб былo пoнятнee.

Ответы

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

Ответ:

def r():

   while free_from_left():

       fill_cell()

       move_left()

   fill_cell()

   while free_from_right():

       move_right()

while free_from_down():

   move_down()

while free_from_right():

   move_right()

if free_from_up():

   move_up()

while free_from_up():

   r()

   move_up()

Объяснение:

создадим функцию (def r():) для закрашивания 1 ряда:

  • используем цикл с предусловием (while free_from_left():) для закрашивания всех клеток ряда, кроме последней
  • закрасим последнюю клетку ряда (fill_cell())
  • используем цикл с предусловием (while free_from_right():) для возвращения в клетку, откуда начали закрашивать ряд

программа:

  • используем цикл с предусловием (while free_from_down():) для перемещения в нижний ряд прямоугольника
  • используем цикл с предусловием (while free_from_right():) для перемещения в крайнюю правую (нижнюю) клетку прямоугольника
  • используем неполный оператор ветвления (if free_from_up():) для поднятия на второй снизу ряд прямоугольника (если он есть)
  • используем цикл с предусловием (while free_from_up():) для вызова функции (для закрашивания ряда) и перемещении вверх
Приложения:
Похожие вопросы
Предмет: Қазақ тiлi, автор: МировойПельмень
Предмет: Алгебра, автор: gvalerevna