Задание №6 ЕГЭ Информатика с ответом и решением
Ответ: 24
Условие
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси абсцисс, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз. Черепахе был дан для исполнения следующий алгоритм: Повтори 4 [Вперёд 8 Направо 150 Вперёд 8 Направо 30].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Подсказки — как подойти к решению
- Внимательно прочитай, куда направлена голова в начальный момент: здесь вдоль положительного направления оси абсцисс, а не ординат. От этого зависит ориентация фигуры, поэтому начни с рисунка траектории.
- Четыре повтора дают замкнутую фигуру из четырёх наклонных отрезков одинаковой длины. Выпиши координаты вершин, последовательно выполняя шаги алгоритма.
- По координатам вершин задай внутреннюю область строгими неравенствами и посчитай целые точки перебором с запасом по диапазону: у этой фигуры есть точки и с отрицательными координатами, их легко потерять.
Решение
Заметим, что Исполнитель чертит Ромб. Для построения такого рисунка можно использовать Word:
— добавляем таблицу размером 11 на 20;
— выбираем в меню «Фигуры» на вкладке «Вставка» прямоугольник и через изменение узлов настраиваем ромб с нужными параметрами;
— высота будет являться половиной гипотенузы и равняться 4;
— посчитаем точки внутри ромба.
Ответ: 24.
Приведём другое решение на языке Python.
count = 0
for x in range(-10, 10):
for y in range(-10, 10):
if (y < x / 3 ** 0.5) and (y > (x - 8) / 3 ** 0.5) and (y > -4) and (y < 0):
count += 1
print(count)
Приведём решение Сергея Донец на языке PascalABC.NET.
uses turtle;
begin
down;
loop 4 do begin{Повтори 4
[Вперёд 8 Направо 150 Вперёд 8 Направо 30].}
Forw(8);TurnRight(150);Forw(8);TurnRight(30);
end;
end.
Ответ: 24
Типичные ошибки
- В подсчёт попали точки на сторонах фигуры, хотя в условии нужны только внутренние. Сначала посчитай границу, чтобы потом её исключить.
- Учтена только правая половина фигуры: перебор шёл по неотрицательным абсциссам, а часть области лежит левее оси ординат. Бери диапазон с запасом в обе стороны.
В тренажёре: подсказки по шагам, разбор твоей ошибки ИИ-репетитором (он не даёт готовый ответ), повторение ошибок по интервалам и общий прогресс. Все задания №6 по информатике