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

Робот где-то в прямоугольнике. Он должен закрасить исходную клетку, если выполняются два условия:
- у клетки, расположенной над исходной, есть стена сверху;
- у клетки, расположенной под исходной, есть стена снизу.

КОМАНДЫ:
move_left()
Сделать шаг влево
move_right()
Сделать шаг вправо
move_up()
Сделать шаг вверх
move_down()
Сделать шаг вниз
fill_cell()
Закрасить клетку
free_from_up()
Проверить, свободно ли сверху
free_from_down()
Проверить, свободно ли снизу
free_from_left()
Проверить, свободно ли слева
free_from_right()
Проверить, свободно ли справа
wall_from_up()
Проверить, есть ли стена сверху
wall_from_down()
Проверить, есть ли стена снизу
wall_from_left()
Проверить, есть ли стена слева
wall_from_right()
Проверить, есть ли стена справа
cell_is_filled()
Проверить, закрашена ли клетка
cell_is_clean()
Проверить, чиста ли клетка

Приложения:

Ответы

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

Ответ:

move_down()

if wall_from_down():

   move_up()

   move_up()

   if wall_from_up():

       move_down()

       fill_cell()

   else:

       move_down()

else:

   move_up()

Объяснение:

сначала спускаемся вниз

используем полный условный оператор (условие: есть ли там стена)

если есть, то идём наверх

   используем вложенный условный оператор (условие: есть ли там стена)

   если есть, то спускаемся вниз и закрашиваем клетку

   иначе спускаемся вниз

иначе поднимаемся вверх (вернулись к первому условному оператору)

Приложения:

sdvach: СПАСИБО ОГРОМНОЕ, НИКОГДА БЫ НЕ ДОГАДАЛАСЬ!
istinnuuk: Помогите пожалуйста завдання в профиле очень нужна ваша помощ
Похожие вопросы
Предмет: Русский язык, автор: molotkovatonya