РУҚА
15

Шешімі: Закрашивание клеток у стен

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

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

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

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

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

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

6 қадам
1

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

2

Из нижней клетки стены поднимаемся вверх. В каждой клетке справа от стены выполняем команду «закрасить».

3

На верхнем конце первой стены движемся вправо, пока не окажемся слева от второй стены. Затем поднимаемся на одну клетку выше стен, переходим вправо и спускаемся на клетку справа от второй стены.

4

Двигаемся вниз вдоль второй стены. В каждой клетке справа от неё закрашиваем текущую клетку. После выхода за нижний конец стены цикл завершается.

5

Один из подходящих алгоритмов:

нц пока (не слева свободно) и (снизу свободно)
вниз
кц

закрасить

нц пока не слева свободно
закрасить
если сверху свободно то
вверх
все
кц

нц пока справа свободно
вправо
кц
вверх
вправо
вниз

нц пока не слева свободно
закрасить
если снизу свободно то
вниз
все
кц

Жауап

нц пока (не слева свободно) и (снизу свободно)
вниз
кц
закрасить
нц пока не слева свободно
закрасить
если сверху свободно то
вверх
все
кц
нц пока справа свободно
вправо
кц
вверх
вправо
вниз
нц пока не слева свободно
закрасить
если снизу свободно то
вниз
все
кц

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

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

Закрашивание клеток слева от стен вместо клеток справа.

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

Отсутствие проверки свободного прохода перед движением вверх или вниз.

Пропуск клетки на одном из концов стены.

Использование фиксированного числа қадам при неизвестной длине стен.

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

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

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

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