Главная Посты Курсы Связь О сайте

ЕГЭ по информатике 2023 - Задание 6 (Задачи с Черепахой)



Привет! Сегодня разберём новый тип 6 задания из ЕГЭ по информатике 2023! Добавим недостающий пазл в видеокурс по подготовке к ЕГЭ по информатике.


Так же Вы можете посмотреть разбор 6 задания из ДЕМОВЕРСИИ 2023.


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


Вспомним, когда в прошлом году была введена новая формулировка для 3 задания, то на экзамене дали очень похожую задачу на ту, которая была в демоверсии.





Рассмотрим первую тренировочную задачу из 6 задания ЕГЭ по информатике 2023.


Задача (Элегантный способ)

Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке. Запись

Повтори k [Команда1 Команда2 … КомандаS]

означает, что последовательность из S команд повторится k раз. Черепахе был дан для исполнения следующий алгоритм:

Повтори 15 [Вперёд 15 Направо 120]

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


Решение:

В начале нужно понять, какая фигура получится в результате действий Исполнителя Черепахи.


Черепаха идёт вверх на 15 единиц. Потом поворачивает направо на 120 градусов. Потом идёт на 15 единиц по заданному курсу и снова поворачивает на 120 градусов, идёт на 15 единиц ещё и попадает в исходную точку. В итоге получается равносторонний треугольник! Дальнейшие повторения не имеют смысла, т.к. нового больше ничего не нарисуется.


ЕГЭ по информатике 2023 - Задание 6 Черепаха исполнитель (равносторонний треугольник)

Проведём перпендикуляры от каждой точки с целыми координатами на оси Y внутри треугольника.


ЕГЭ по информатике 2023 - Задание 6 (Проводим перпендикуляры)

Для каждой точки на оси Y мы можем найти этот перпендикуляр. Это и есть искомое количество точек на каждой такой линии, если округлить это значение в меньшую сторону.





Посмотрим, как найти такой перпендикуляр, если точка на оси Y находится до середины стороны. Пусть есть точка (0, yn), а dn - это перпендикуляр для этой точки. Тогда


tg(60o) = dn / yn
dn = tg(60o) * yn

Для второй половины длины перпендикуляров будут такие же.


Напишем программу на Питоне, которая подсчитает все точки.


import math

s=0

for y in range(0, 8):
    s = s + int(math.tan(math.pi / 3) * y )

s = 2*s

print(s)

Нам необходимо взять первые 7 точек, дальше ситуация симметричная. Пишем в цикле for 8, потому что последнее число не проходится в Питоне.


Вычисляем по формуле длину каждого перпендикуляра. Тангенс вычисляется с помощью функции math.tan. Для неё нужна математическая библиотека math. Функция должна получить градусы в радианах, поэтому ей передаём π/3 = 60o.





В цикле суммируем все точки для каждой линии. Результат нужно умножить на 2, чтобы учесть вторую половину треугольника.


Ответ: 90

Задача (Составляем уравнения)

Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост поднят. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует три команды: Вперёд n (где n - целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Направо m (где m - целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Опусти, принуждающая Черепаху опустить хвост.


Запись Повтори k [Команда 1 Команда 2 ... Команда S] означает, что последовательность из S команд повторится k раз.


Черепахе был дан для исполнения следующий алгоритм:


Вперёд 100 Направо 90 Вперёд 100 Направо 30 Опусти Повтори 10 [Вперёд 25 Направо 90]


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





Решение:

Нарисуем общий рисунок.

ЕГЭ по информатике 2023 - Задание 6 (Общий рисунок)

Здесь уже не очень удобно пользоваться элегантным способом. Составим уравнения прямых, которые образуют квадрат. Общий вид уравнения прямой выглядит так:


y=k*x+b

Коэффициент k - это тангенс угла наклона α к оси X ( 0 ≤ α < π, но α ≠ π/2). Число b - это смещение прямой по оси Y относительно нуля.




Для прямой AE k1=tan(60o)=√3. Так же она проходит через точку (100, 100).


Найдём число b. Подставим в общее уравнение координаты точки (100, 100):


y = k*x+b = √3*100 + b = 100
b=100*(1 - √3)


Получается уравнение прямой AE:


y= √3*x + 100(1 - √3)

Найдём на сколько смещена FC по оси Y относительно AE.


ЕГЭ по информатике 2023 - Задание 6 (Общий рисунок 2)

cos(60o) = 25 (сторона квадрата) / AB

AB = 25 / cos(60o) = 25 / 0,5 = 50

Получается, что уравнение для прямой FC:


y=√3*x + 100(1 - √3) - 50




Для прямой EC k2=-tan(30o) = - √3/3. Эта прямая тоже проходит через точку (100, 100). Подставим эти координаты в уравнение и найдём b.


y = (-√3/3) * x + b = (-√3/3) * 100 + b = 100
b = 100(1 + √3/3)

Тогда уравнение для прямой EC получается:


y = (-√3/3) * x + 100(1 + √3/3)

Найдём на сколько смещена прямая AF относительно EC по оси Y.


cos(30o) = 25 (длина стороны) / CD
CD = 25 / cos(30o) = 25 / (√3/2) = 50/√3

Тогда для прямой AF:

y = (- √3/3) * x + 100(1 + √3/3) - 50/√3




Пробежимся с помощью Питона для переменной x от 0 до 150. Для переменной y от 0 до 100. Чтобы получить точку, используем вложенные циклы!


s=0

for x in range(1, 200):
    for y in range(1, 200):
        if (y < (3**0.5)*x + 100*(1-3**0.5)) and (y > (3**0.5)*x + 100*(1-3**0.5) - 50) and (y < (- 3**0.5 / 3)*x + 100*(1+ 3**0.5 / 3)) and (y > (-3**0.5/3)*x + 100*(1 + 3**0.5 /3) - 50 / 3**0.5 ):
            s=s+1

print(s) 

Точки, которые лежат в квадрате должны удовлетворять следующим условиям:


Точки должны быть ниже прямых AE и EC, но выше AF и FC

Проверить выше или ниже некоторая точка M(xm, ym), чем прямая y=k*x+b, можно следующим образом:


Если ym > k*xm + b, то точка лежит выше прямой.
Если ym < k*xm + b, то точка лежит ниже прямой.

Данный принцип и был использован в программе.


Ответ: 625



Задача (Закрепление)

Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует три команды: Вперёд n (где n - целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Направо m (где m - целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Опусти, принуждающая Черепаху опустить хвост.


Запись Повтори k [Команда 1 Команда 2 ... Команда S] означает, что последовательность из S команд повторится k раз.


Черепахе был дан для исполнения следующий алгоритм:


Повтори 21 [Вперёд 31 Направо 60]


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





Копирование прямо Решение:

Попробуем понять, какая фигура получится в итоге.


ЕГЭ по информатике 2023 - Задание 6 (Шестиугольник)

Получается правильный шестиугольник. Угол ∠СВА = 120o. Как раз угол правильного n-угольника равен (n-2)*180o/n. Для шестиугольника получается (6-2)*180o/6 = 120o.


Будем решать методом составления уравнений.





ЕГЭ по информатике 2023 - Задание 6 (Шестиугольник 2)

Рассмотрим прямую BC. Если провести от точки B прямую параллельную оси X, то мы увидим, что угол наклона прямой BC равен 30o.


y = tan(30o)*x + 31
y = (√3/3) * x + 31



Прямая DC имеет угол наклона -30o к оси X. Она расположена выше, чем BC на МВ. Треугольник BCM равносторонний. Значит, МВ=31. Тогда уравнение для DC будет:


y = -(√3/3) * x + 62

Уравнение для AF будет:


y = -(√3/3) * x

Прямая EF имеет угол наклона 30o относительно оси X. Смещена она вниз на AP. Треугольник AFP так же является равносторонним. Следовательно, AP = 31. Тогда для EF получается:


y=tan(30o)*x - 31
y=(√3/3)*x - 31

Прямая AB это x=0. Найдём так же ED.


ЕГЭ по информатике 2023 - Задание 6 (Шестиугольник)

cos(30o) = BQ / BC
BQ = BC * cos(30o)
BQ = 31 * (√3/2)
BD = 2 * BQ = 2 * 31 * (√3/2) = 31 * √3

Значит, уравнение для ED: x = 31 * √3.





Когда уравнения готовы, можно написать программу.


k=0
for x in range(-100, 100):
    for y in range(-100, 100):
        if (y < 3**0.5 / 3 * x + 31) and (y < -(3**0.5) / 3 * x + 62) and (y > -(3**0.5) / 3 * x) and (y > 3**0.5 / 3 * x - 31) and (x > 0) and (x < 31 * 3**0.5):
            k=k+1
print(k)

Точки должны быть ниже прямых BC и CD, но выше прямых AF и EF. Так же координаты x должны быть 0 < x < 31 * √3.


Важно не забыть для y пробежаться и по отрицательным значениям, т.к. фигура находится меньше оси X.


Ответ: 2476

На сегодня всё. Удачи при решение 6 задания из ЕГЭ по информатике 2023.






17-11-2022 в 13:26:27







Поддержать сайт:

Похожая статья:

Демоверсия ЕГЭ по информатике 2023 (Задания 11-15)

Продолжаем решать демоверсию ЕГЭ по информатике 2023. Задания 11-15...

Категория: ЕГЭ  Подкатегория: -
Дата: 27-08-2022 в 17:59:38 2


Комментарии:

Зачем это делать? Авторы задания предполагают, что ученики просто воспользуются КуМир и все там получат.
Андрей 24-11-2022 в 09:43:46

В Кумире не удобно считать.
Калужский Александр 24-11-2022 в 10:44:49



Оставить коментарий:



Напишите email, чтобы получать сообщения о новых комментариях (необязательно):


Задача против робота. Расположите картинки горизонтально: