Предмет: Информатика,
автор: 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()
Проверить, чиста ли клетка
Приложения:
Ответы
Автор ответа:
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:
СПАСИБО ОГРОМНОЕ, НИКОГДА БЫ НЕ ДОГАДАЛАСЬ!
Похожие вопросы
Предмет: Українська література,
автор: zaytsev2005
Предмет: Русский язык,
автор: molotkovatonya
Предмет: Другие предметы,
автор: незнайка2110
Предмет: Математика,
автор: tqhuko
Предмет: Русский язык,
автор: sonyaalginowaoy2vho