Задание №6 ЕГЭ Информатика с ответом и решением
Ответ: 38
Условие
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм: Повтори 7 [Вперёд 10 Направо 120].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Подсказки — как подойти к решению
- Сначала пойми, какая фигура получается: посмотри на суммарный поворот за все повторения и на начальное направление головы — вдоль положительного направления оси ординат. Нарисуй траекторию на клетчатой бумаге или построй её в исполнителе.
- Когда фигура ясна, выпиши уравнения её сторон и опиши внутреннюю область неравенствами. Точки на линии не учитываются, поэтому неравенства должны быть строгими.
- Осталось перебрать целые точки внутри области — таблицей или короткой программой. Следи за диапазоном перебора: крайние точки теряются, если взять слишком узкие границы, и помни, что координаты вершин могут быть нецелыми.
Решение
Заметим, что после семи повторений последовательности команд [Вперёд 10 Направо 120] получится равносторонний треугольник с длиной стороны, равной 10. Необходимо подсчитать количество точек с целочисленными координатами. Построим такой треугольник, используя систему программирования «Кумир», выставив масштаб сетки 1 к 1:
Всего точек с целочисленными координатами внутри треугольника — 38.
Приведём решение на языке Python.
count = 0
for x in range(1, 10):
for y in range(1, 10):
if -x / 3 ** 0.5 + 10 > y > x / 3 ** 0.5:
count += 1
print(count)
Ответ: 38.
Приведём построение рисунка Виктории Зиберовой на языке Python.
from turtle import *
lt(90)
size=30
screensize(2000,2000)
tracer(0)
down()
for i in range(7):
fd(10*size)
rt(120)
up()
for x in range(-20,20):
for y in range(-20,20):
setpos(x*size,y*size)
dot(4,'red')
done()
Приведём программу Сергея Донец на PascalABC:
uses turtle;
begin
down;
loop 7 do
begin
Forw(10); TurnRight(120);
end;
end.
Типичные ошибки
- В ответ попали и точки, лежащие на сторонах фигуры, а в условии сказано учитывать только внутренние. После подсчёта вычти точки, попавшие на линию.
- Координату вершины округлили до целого, из-за чего наклон стороны стал другим и часть точек потерялась. Считай координаты точно, а не «на глазок» по клеткам.
В тренажёре: подсказки по шагам, разбор твоей ошибки ИИ-репетитором (он не даёт готовый ответ), повторение ошибок по интервалам и общий прогресс. Все задания №6 по информатике