Задание №6 ЕГЭ Информатика с ответом и решением
Ответ: 80
Условие
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз. Черепахе был дан для исполнения следующий алгоритм: Повтори 4 [Вперёд 10 Направо 60 Вперёд 10 Направо 120].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Подсказки — как подойти к решению
- Разберись с направлением: после поворотов на шестьдесят и сто двадцать градусов линия меняет направление, а за четыре повтора возвращается в начало. Построй рисунок на клетчатой сетке или в исполнителе.
- Получится замкнутый четырёхугольник со сторонами по десять, причём часть сторон не проходит через узлы сетки. Поэтому считать нужно по неравенствам для сторон, а не «по квадратикам».
- Выпиши уравнения сторон, задай область строгими неравенствами и перебери целые значения координат. Спорные точки проверяй подстановкой: лежащие на линии в ответ не входят.
Решение
Решим эту задачу, используя язык программирования Python.
import turtle as t # Подключим модуль черепашка
k = 20 # коэффициент для настраивания более удобного масштаба
t.left(90)
t.speed(5)
for i in range(4): # пропишем алгоритм построения фигуры по условию
t.forward(10 * k)
t.right(60)
t.forward(10 * k)
t.right(120)
t.up()
t.speed(10) # Увеличим скорость черепашки
for x in range(-10, 15): # Алгоритм построения точек
for y in range(0, 20):
t.goto(x * k, y * k)
t.dot(3) # точки размером 4 пикселя
t.done()
Теперь посчитаем количество точек внутри нарисованной фигуры, получаем 80.
Ответ: 80.
Приведем подсчет количества точек на языке Кумир.
использовать Черепаха
алг
нач
опустить хвост
нц 4 раз
вперед(10)
вправо(60)
вперед (10)
вправо (120)
кц
кон
После выполнения программы считаем точки: 80.
Приведём программу Сергея Донец на PascalABC:
uses turtle;
begin
down;
loop 4 do
begin
Forw(10); TurnRight(60);
Forw(10); TurnRight(120);
end;
end.
Ответ: 80
Типичные ошибки
- Добавлены точки, лежащие на линии: одна из сторон фигуры проходит по оси ординат, и все её узлы попали в подсчёт. Учитывай только точки строго внутри.
- Координату вершины округлили до целого числа, поэтому наклон стороны изменился и часть точек области потерялась. Считай координаты точно, через квадратный корень из трёх.
В тренажёре: подсказки по шагам, разбор твоей ошибки ИИ-репетитором (он не даёт готовый ответ), повторение ошибок по интервалам и общий прогресс. Все задания №6 по информатике