Задание 6:
исполнитель Черепаха

Черепаха чертит одну или две замкнутые фигуры. Спрашивают, сколько внутри целых точек, какая у фигур площадь или периметр.
Решаем кодом: те же команды отдаём библиотеке код, и она сама скажет, где что нарисовано.

Базовый уровень, один балл. Ответ — одно целое число.

условие

Что умеет Черепаха

Стоит в начале координат, смотрит вверх (вдоль оси ординат), хвост опущен — значит рисует.

КомандаЧто делает
Вперёд nпройти n единиц туда, куда смотрит
Назад nпройти n единиц в обратную сторону
Направо mповернуться на m° по часовой стрелке
Налево mповернуться на m° против часовой
Поднять хвостдальше идти, не рисуя
Опустить хвостснова рисовать

Повтори k [ … ]

Команды в скобках выполняются k раз подряд. Это обычный цикл — и ровно так он и переводится.

Поворот меняет только направление. Черепаха с места не двигается: «Направо 90» — это не шаг вправо.

метод

Черепаха → код: перевод один в один

ЧерепахаPython
Вперёд 24код
Назад 18код
Направо 90код
Налево 270код
Поднять хвосткод
Опустить хвосткод
Повтори 6 [ … ]код

Где мы сейчас — код и код. Это и есть то, ради чего берём turtle.

Две поправки, без которых не сойдётся

  • turtle стартует вправо, а Черепаха — вверх. Первой строкой код.
  • Начало координат у turtle в центре экрана, и это то же самое, что (0, 0) у Черепахи. Ничего переносить не надо.
фрагмент программы — набери его сам
метод

Запустили — и видим, что нарисовано

Повтори 6 [Вперёд 24 Направо 90 Вперёд 30 Направо 90]
Поднять хвост
Вперёд 2 Направо 90 Вперёд 10 Налево 90
Опустить хвост
Повтори 6 [Вперёд 75 Направо 90 Вперёд 71 Направо 90]
2430243075717571
каркас

Рамка фигуры: две подпрограммы на все задачи

фрагмент программы — набери его сам
арифметика

Пересечение двух рамок

Стороны вдоль осей: общая часть — снова прямоугольник, и границы у неё берутся крест-накрест.

ax1 bx1 ax2 bx2 by2 ay2 by1 ay1 A B lx rx vy ny

Оранжевое — общая часть: слева её держит код, справа код.

фрагмент программы — набери его сам

Левее всех не годится: общая часть начинается там, где начались обе фигуры — значит код. Кончается там, где кончилась первая из них — значит код.

Если вышло код — фигуры не пересекаются; на экзамене такого не дают.

арифметика

Точки, площадь, периметр — три разных вопроса

СпрашиваютЧто писатьПочему
целые точки, с границей код точек по оси на одну больше, чем длина
площадь код это уже длины сторон, без единицы
периметр код сумма сторон, удвоенная
точки, без границы код оба крайних значения выкинули
длина 3 — а точек 4 длина 2 — точек 3

Точек с границей 4 · 3 = 12, площадь 3 · 2 = 6, периметр 2 · (3 + 2) = 10, точек строго внутри (красные) 2 · 1 = 2.

От 0 до 3 — это 4 точки, а длина 3. Вся разница между «сколько точек» и «какая площадь» в этой единице, и на ней теряют балл чаще всего.

разбор

Демоверсия 2027: точки в пересечении

фрагмент программы — набери его сам
ax1bx1ax2bx2ay1by1ay2by2

Подписи — переменные из программы: синяя рамка даёт код, красная код. Оранжевое — их общая часть.

разбор

Тот же чертёж: а если спросят про объединение?

фрагмент программы — набери его сам
ax1bx1ax2bx2ay1by1ay2by2

Оранжевое входит и в синюю рамку, и в красную — поэтому при сложении оно посчитается дважды.

ловушка

Нечётное число повторов

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

Чем это опасно

Переход к второй фигуре («Поднять хвост, Вперёд 3 …») отсчитывается оттуда. Нарисуешь на бумаге от начала координат — вторая рамка уедет.

Почему код не ошибётся

turtle держит положение и направление сам. Мы просто пишем команды подряд — и где Черепаха оказалась, там и оказалась.

Это главный довод в пользу кода на этом номере.

ловушка

Одну и ту же рамку пишут по-разному

Обычно

Вперёд 20 Направо 90
Вперёд 30 Направо 90

Задом наперёд

Вперёд 20 Налево 90
Назад 30 Налево 90

Через 270

Вперёд 20 Налево 270
Вперёд 30 Направо 90

Все три чертят прямоугольник 30 на 20 — но в разных местах и в разную сторону. Ещё бывает Направо 45 Направо 45: два поворота подряд дают тот же прямой угол.

Разбираться в этом руками не нужно. Переписали команды как есть — turtle посчитала. Именно поэтому и «Назад», и «270» в условии не страшны.

редкая форма

Фигура одна, и она не прямоугольник

Вперёд 12 Налево 270 Вперёд 8 Налево 270
Вперёд 4 Налево 90 Вперёд 18 Направо 90
Вперёд 8 Направо 90 Вперёд 26 Направо 90

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

128418826
редкая форма

Углы не прямые: 135 и 45

Повтори 5 [Вперёд 23 Налево 135 Вперёд 24 Налево 45]
порядок

Что дальше на уроке

  1. Практикум — семь задач, по одной на каждую форму вопроса, все на экране сразу. Решаем в любом порядке, каркас набираем руками один раз.
  2. Ошибся — появится программа, которая считает именно эту задачу, и картинка со следом. Кнопка «Новые числа» даст задачу того же типа: балл можно доработать.
  3. Отметка за практикум: семь верных — «5», шесть — «4», пять — «3».

Ответ — одно целое число. Без единиц измерения, без пробелов, без запятой. Сверка знак в знак, как на КЕГЭ.

дома

Домашняя работа

Шесть форм вопроса — все, кроме Г-образной фигуры, — по одной задаче на каждую. Тип закрывается одним верным ответом; ошибся — придёт такая же задача с другими числами.

Как сдать

От четырёх закрытых типов появится код работы вида код и кнопка «Сдать работу».

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

Зачем снимок

Число можно получить и не написав программу. Снимок кода показывает, что приём ваш, — поэтому он и просится вместе с ответом.

Отметка: шесть типов — «5», пять — «4», четыре — «3».

Материалы подготовлены с использованием технологий искусственного интеллекта. Пробел раскрыть и дальше · ← → слайды