02 февр 11:30
5 минут

Черепаха на бумаге и в КУМИРе

Разберёмся, как решать задачу № 6 ЕГЭ по информатике, а также свеженькую задачу ВПР по информатике для 8 классов.


КУМИР — это учебная система, в которой реализован пресловутый «алгоритмический язык» программирования (где операторы по-русски) и множество графических исполнителей. Разработал её институт ФГУ ФНС НИИСИ РАН, и она бесплатна.

На самом деле, весьма прикольная система, на которой отлично изучать алгоритмику в 5-7 классах.

Составители задач любят использовать исполнителей КУМИР. В ОГЭ много лет существует задача на Робота, а в ЕГЭ последних лет добавили Черепаху. (Правда, при этом запретили ставить на экзаменационные компьютеры КУМИР — интересный такой подход.) В ВПР нынешнего года всё ещё круче: там есть и Робот, и Черепаха, и даже Чертежник.

Но вот беда: когда в задаче нам предлагают программу исполнителя — это не КУМИРовский исполнитель. Команды не совпадают, синтаксис другой.

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


Давайте посмотрим. Вот классическая задача на Черепаху:

Черепахе был дан для исполнения следующий алгоритм:
повтори 9 [вперед(5) вправо (60)]
Постройте многоугольник в среде исполнителя «Черепаха» программы Кумир и посчитайте количество точек с целыми координатами, которые находятся внутри фигуры (точки на границе считать не нужно).


Однако, если мы попытаемся перебить программу в КУМИР, получим бэмц в виде красных надписей.

Попытка перебить программу из задачи как есть
Попытка перебить программу из задачи как есть


Команды вперед(n) и вправо(m) / влево(m) у кумировской Черепахи аналогичны задаче. Первая заставляет Черепаху проползти n единиц, вторые поворачивает её направо/налево на m градусов, причём относительно собственного «носа» Черепахи, а не нас. Правда, каждую команду нужно писать на отдельной строке, а не кучей, как в задании.

А вот цикл с фиксированным количеством шагов в КУМИРе выглядит совершенно иначе:

нц х раз
    команды
кц

где х — количество шагов цикла, а команды — любой набор команд вперед и вправо/влево (каждая команда на своей строке, помните?).


При этом у любой программы в КУМИРе есть чёткая структура:

алг
нач
    команды программы
кон


К тому же в начале каждой программы исполнителя мы обязаны написать

использовать Исполнитель

то есть в нашем случае

использовать Черепаха

иначе КУМИР не найдёт нужных команд и опять-таки вывалит красные ошибки.


Перепишем получившуюся программу, запустим и… Черепаха что-то там переморгнёт в окне с сеткой и ничего не нарисует. Да что происходит-то?!

Верный синтаксис, но результат не виден
Верный синтаксис, но результат не виден


Дело в том, что Черепаха рисует хвостом. И, чтобы оставлять за собой след, хвост должен быть опущен. По умолчанию он задран, в отличие от «бумажных» задач. Для хвоста у Черепахи есть ещё две команды:

опустить хвост
поднять хвост


Вот правильная программа для кумировской черепахи.

использовать Черепаха
алг
нач
    опустить хвост
    нц 9 раз
        вперед(5)
        вправо(60)
    кц
кон


А вот результат:


Вот теперь Черепаха нарисовала всё как положено
Вот теперь Черепаха нарисовала всё как положено


Ну и сравните этот код с тем, что дан в задаче 🤷‍♀️


Но, раз уж мы начали работать с этой задачей, давайте её добьём.

У нас требуют подсчитать количество точек с целочисленными координатами, попавших внутрь фигуры. С первого взгляда кажется, что таких точек вообще две — все перекрестья клеточек внутри шестиугольника. Но кто вам сказал, что это именно точки с целочисленными координатами?


Дело в том, что по умолчанию КУМИР показывает поле в автомасштабе — подстраивается под размер окна. И клеточки могут оказаться любого размера. А нам нужно, чтобы строго 1:1.

Давайте переустановим масштаб:

► Тыкаем в кнопку-бургер (с тремя полосками)

► Снимаем флажок «авто»

► Вписываем в поле «Сетка» значение 1.0

Можно ещё ткнуть в пустую кнопку возле «бургера» — тогда Черепаха превратится в каплю и не будет мешать нам считать точки.


Окно масштабирования поля для Черепахи: правильный масштаб
Окно масштабирования поля для Черепахи: правильный масштаб


Видали! Точек внутри фигуры стало гораздо больше. Если посчитать (потыкав карандашиком, ага 😊), окажется, что их 14 + 6*8 = 62 штуки. Вот и ответ.


Но это ещё не всё. Для ЕГЭ нам придётся ту же задачу решать при помощи Python. Но об этом поговорим чуть позже.


Бесплатный
Комментарии
avatar
Здесь будут комментарии к публикации