РУҚА
15

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

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

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

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

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

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

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

4 қадам
1

Робот уже находится справа от правой стены. Сначала он поднимается до клетки выше верхнего конца стены, двигаясь вверх только тогда, когда слева находится стена.

2

Затем Робот закрашивает правую сторону правой стены сверху вниз, пока слева сохраняется стена.

3

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

Наконец Робот поднимается по правой стороне левой стены и закрашивает все примыкающие к ней клетки.

Жауап

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

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

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

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

Закрашивание клеток на левой стороне стены или клеток, не примыкающих к стене.

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

Использование цикла без условия, гарантирующего завершение алгоритма.

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

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

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

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