РУҚА
15

Шешімі: Алгоритм для Робота

ОГЭ · Информатика · Тапсырма 15 · Алгоритмдер және орындаушылар
ЖоғарыФИПИFCBD14Толық шешім≈ 15 минутТалдау 4 қадам
Условие

Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними по сторонам клетками может стоять стена, через которую Робот пройти не может. Команды передвижения: вверх, вниз, влево, вправо. При попытке пройти сквозь стену Робот разрушается. Команда закрасить закрашивает клетку, в которой находится Робот.

Робот умеет проверять условия: сверху свободно, снизу свободно, слева свободно, справа свободно. Эти условия можно использовать в конструкциях если и нц пока, а также применять логические связки и, или, не.

На бесконечном поле есть горизонтальная и вертикальная стены. Левый конец горизонтальной стены соединён с нижним концом вертикальной стены. Длины стен неизвестны. В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной рядом с вертикальной стеной справа от её верхнего конца.

Напишите алгоритм, закрашивающий все клетки, расположенные непосредственно выше горизонтальной стены и правее вертикальной стены. Проходы должны остаться незакрашенными. Робот должен закрасить только клетки, удовлетворяющие этому условию. Алгоритм должен работать для любого допустимого расположения стен и любых расположения и ширины проходов. Робот не должен разрушиться, выполнение алгоритма должно завершиться.

Тапсырманы ашып, өзіңіз шешіңіз
Дальше ответЕгер әлі шешіп жатсаңыз – кеңестерден бастаңыз: олар жауапқа жетелейді, бірақ оны ашпайды.
К подсказкам

Шешімін қадамдап көрсету

4 қадам
1

Алгоритм должен обходить правую сторону вертикальной стены. При движении вниз клетка закрашивается только тогда, когда слева свободного прохода нет.

2

Проход в вертикальной стене не закрашивается: если слева свободно, Робот продолжает движение вниз.

3

Достигнув клетки непосредственно выше горизонтальной стены, Робот движется вправо. Клетки закрашиваются только при наличии стены снизу; проход в горизонтальной стене пропускается.

После прохождения горизонтальной стены Робот покидает область её верхней стороны, поэтому конечное положение Робота может быть любым.

Жауап

Один из допустимых алгоритмов: обходить вертикальную стену сверху вниз, закрашивая клетки только при наличии стены слева, затем обходить горизонтальную стену слева направо, закрашивая клетки только при наличии стены снизу и пропуская проходы.

Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.

Где здесь ошибаются

Закрашивание клеток в проходах.

Попытка пройти сквозь стену без предварительной проверки направления.

Остановка при первом проходе вместо продолжения обхода до конца стены.

Закрашивание клеток, которые не находятся непосредственно справа от вертикальной или выше горизонтальной стены.

Закрепить приёмВ теме «Алгоритмдер және орындаушылар» ещё 177 тапсырма — жауабымен және дәл осындай талдауымен.
Жаттығу

Тапсырманы қалай шешу керек 15 ОГЭ, информатика

Бұл есептің талдауы келесіге бөлінген: 4 шага: видно, откуда берётся каждое число и где теряется балл. Жауап есептеулердің жанында келтірілген, олардың орнына емес.

Задача из темы «Алгоритмдер және орындаушылар»: в ней 178 задач, и у каждой есть такой же разбор. Тіркеу қажет емес.