РУҚА
15

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

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

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

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

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

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

Шешім по шагам

6 қадам
1

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

2

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

3

Через проход Робот спускается на нижнюю сторону стены.

4

Справа от прохода Робот закрашивает нижние клетки и перемещается вправо до вертикальной стены.

5

Затем Робот перемещается влево до прохода, поднимается через него и снова спускается в клетку слева от прохода.

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

Жауап

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

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

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

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

Попытка пройти сквозь вертикальную или горизонтальную стену.

Отсутствие обработки одной из частей горизонтальной стены по одну сторону от прохода.

Бесконечный цикл при движении за левый конец горизонтальной стены.

Закрашивание лишней клетки за концом горизонтальной стены.

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

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

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

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