Информатика ОГЭ №15 (Кумир)

Информатика ОГЭ №15 (Кумир)Ах, задание №15 по информатике для ОГЭ — это, можно сказать, настоящий квест с элементами робототехники и архитектуры! Представьте себе: у нас есть робот, который не просто ходит туда-сюда, а выполняет целую миссию на бесконечном поле с хитроумными стенами и загадочными проходами. Если бы этот робот был человеком, он бы точно заслужил звание «Мастер по преодолению препятствий» и медаль за терпение.

Начнем с того, что в среде программирования Кумир наш герой — Робот — не балуется сложными танцами или песнями.

У него всего пара трюков в арсенале: двигаться вперед, поворачивать и красить клетки. Да-да, именно красить! Ведь кто сказал, что роботы не могут быть художниками?

Впрочем, если вы думали организовать выставку современных роботов-художников, сначала придется научиться писать код для закрашивания клеток без разрушения самого себя. Не то что я говорю — у меня знакомый программист пытался запустить подобного робота и чуть не устроил апокалипсис на экране.

Сам цикл в Кумире начинается со слова «нц» (начать цикл) и заканчивается «кц» (конец цикла).

Звучит как шпионский код или секретный пароль из фильмов про агента 007: «НЦ-КЦ». Если б Джеймс Бонд программировал роботов в Кумире — это было бы зрелищно!

Цикл позволяет повторять действия несколько раз — представьте себе вечеринку роботов, где они танцуют одно и то же движение до тех пор, пока кто-то не выключит музыку.

В нашем задании робот стоит под горизонтальной стеной справа. Стены образуют букву «Г», но не простую — они с проходами-пропусками! Секретные ходы для робота-шпиона?

Почти! Проходы неизвестны ни по месту расположения, ни по ширине — задача усложняется почти как попытка найти иголку в стоге сена.

Но наш робот не унывает: он должен закрасить все клетки ниже горизонтальной стены и правее вертикальной стены, кроме проходов. В общем-то это похоже на уборку после вечеринки: нужно убрать весь мусор (закрасить клетки), но оставить нетронутыми дорожки (проходы), чтобы гости могли уйти домой.

Чтобы подготовить поле для нашего героя-робота в Кумире, мы создаем новую обстановку.

Это как строить мини-город для маленького жителя из пластилина — только вместо домов ставим стены-барьеры. При этом важно точно повторить расположение стен из задания; иначе робот может заблудиться или начать красить там, где ему совсем не положено. Кто-то когда-то сказал: «Если хочешь сделать хорошо — сделай сам», а программист добавил: «Если хочешь сделать хорошо — смоделируй правильно».

После того как поле готово и стены возведены (вспомните игру Тетрис – только вместо падающих фигур у нас неподвижные стены), нужно поставить робота на стартовую позицию.

Перетащить его мышкой проще простого — почти как расставлять мебель в виртуальном доме мечты. И вот начинается магия программирования!

Команды пишутся через циклы. Без них алгоритм считается проваленным – словно пытаться приготовить борщ без свеклы.

Циклы позволяют нашему роботу шагать вперед сквозь пустые клетки до тех пор, пока перед ним свободно место; потом повернуть туда-сюда в поисках прохода; затем снова идти вперед; наконец закрасить нужные клетки так аккуратно, чтобы ни один проход не пострадал.

Весь процесс напоминает старый анекдот про двух программистов:

— Почему твой код работает неправильно?

— Потому что я забыл цикл поставить!

— А почему ты забываешь?

— Потому что без цикла всё быстро делается!

Нашему же герою наоборот нельзя торопиться – тут нужна точность и внимание к деталям.

This entry was posted in Разное. Bookmark the permalink.