feat: exam9 — Экзамен 9 класс по математике (80 вариантов)

Новый отдельный модуль /exam9 в стиле LearnSpace:
- 80 вариантов × 10 заданий = 800 задач с разбором (KaTeX + SVG)
- Сайдбар: пункт «Экзамен 9 класс» (clipboard-check)
- Feature flag: feature_exam9_enabled (мигр. 002)
- Видим всем авторизованным; рендер на стороне клиента
- Прогресс в localStorage: подсветка вариантов (done/partial)
- Возобновление последнего варианта при возврате

Структура:
  frontend/exam9.html              — страница (LearnSpace layout)
  frontend/js/exam9/app.js         — рендерер
  frontend/js/exam9/variants/      — 80 файлов с данными
  frontend/img/exam9/              — 22 PNG/JPG фигур заданий

Картинки путей _tmp/ → /img/exam9/ переписаны автоматически.

Все маршруты проверены: 200 OK на /exam9, /js/exam9/*, /img/exam9/*.
This commit is contained in:
Maxim Dolgolyov
2026-05-16 12:53:49 +03:00
parent ae31e4c4e8
commit 6cff327e88
107 changed files with 16507 additions and 0 deletions
+130
View File
@@ -0,0 +1,130 @@
VARIANTS[80] = {
label: "Вариант 80",
tasks: [
{
text: `Определите наименьшее из значений числовых выражений:`,
opts: [
["а", "$3^2$"], ["б", "$3^{-2}$"], ["в", "$3^{-1}$"],
["г", "$(-3)^0$"], ["д", "$\\left(\\dfrac{1}{8}\\right)^{-1}$"],
],
sol: `а)$9$; б)$\\dfrac{1}{9}$; в)$\\dfrac{1}{3}$; г)$1$; д)$8$. Наименьшее $\\dfrac{1}{9}$.
<div class="sol-ans">Ответ: б)&ensp;$3^{-2}=\\dfrac{1}{9}$</div>`
},
{
text: `Наименьшим целым решением неравенства $2x > -3$ является:`,
opts: [
["а", "$1$"], ["б", "$-1{,}5$"], ["в", "$-2$"], ["г", "$-1$"], ["д", "$0$"],
],
sol: `$2x > -3 \\implies x > -1{,}5$. Наименьшее целое, строго большее $-1{,}5$: $x=-1$.
<div class="sol-ans">Ответ: г)&ensp;$-1$</div>`
},
{
text: `Какое из следующих утверждений <b>НЕ</b> верно:`,
opts: [
["а", "площадь параллелограмма можно найти по формуле $S = a h_a$;"],
["б", "если диагонали трапеции равны, то она — равнобедренная;"],
["в", "$\\operatorname{tg} 45^{\\circ} = 1$;"],
["г", "окружность, вписанная в четырёхугольник, проходит через все его вершины?"],
],
sol: `а) верно; б) верно; в) верно.
<br>г) <b style="color:#dc2626">НЕВЕРНО</b> — вписанная окружность касается сторон, а не проходит через вершины (через вершины проходит описанная).
<div class="sol-ans">Ответ: г)</div>`
},
{
text: `Упростите выражение $\\dfrac{t^2-b^2}{t-b} - (2t+b)$
и найдите его значение при $t = -12$.`,
sol: `$\\dfrac{(t-b)(t+b)}{t-b}-(2t+b)=(t+b)-(2t+b)=-t$ (при $t\\neq b$).
<br>При $t=-12$: $-(-12)=12$.
<div class="sol-ans">Ответ: $-t$;&ensp; при $t=-12$ значение равно $12$</div>`
},
{
text: `При каком значении $x$ числа $x-4$, $2x-4$, $5x+2$
являются последовательными членами арифметической прогрессии?`,
sol: `<b>Характеристическое свойство арифметической прогрессии:</b> каждый член (начиная со второго) равен среднему арифметическому соседних. Если $a$, $b$, $c$ — три последовательных члена АП, то $2b = a + c$.
<br><b>Шаг 1.</b> Применим свойство для $a = x-4$, $b = 2x-4$, $c = 5x+2$:
$$2(2x - 4) = (x - 4) + (5x + 2).$$
<b>Шаг 2.</b> Раскроем скобки и приведём подобные:
$$4x - 8 = 6x - 2.$$
<b>Шаг 3.</b> Перенесём $x$-ы в одну часть, числа в другую:
$$4x - 6x = -2 + 8,$$
$$-2x = 6.$$
<b>Шаг 4.</b> Разделим на $-2$:
$$x = -3.$$
<b>Проверка.</b> При $x = -3$ члены: $x-4 = -7$, $2x-4 = -10$, $5x+2 = -13$. Разности: $-10-(-7) = -3$, $-13-(-10) = -3$ — равны, прогрессия ✓.
<div class="sol-ans">Ответ: $x=-3$</div>`
},
{
text: `Найдите площадь треугольника $ABC$, если размеры одной клетки $1$ см $\\times$ $1$ см.`,
figure: `<img src="/img/exam9/v80_t6.png" class="task-fig" />`,
sol: `<b>Формула площади треугольника по координатам вершин</b> (формула «шнурков»):
$$S = \\dfrac{1}{2}\\bigl|x_{A}(y_{B}-y_{C}) + x_{B}(y_{C}-y_{A}) + x_{C}(y_{A}-y_{B})\\bigr|.$$
<b>Альтернатива — метод «описанного прямоугольника»:</b> описать вокруг треугольника прямоугольник со сторонами по линиям клеток; его площадь подсчитать по клеткам, а затем вычесть площади трёх прямоугольных треугольников, отсекаемых по углам.
<br><b>Шаг 1.</b> По рисунку определить координаты вершин $A$, $B$, $C$ в клетках.
<br><b>Шаг 2.</b> Подставить координаты в формулу или применить метод описанного прямоугольника.
<br><b>Шаг 3.</b> Поскольку клетка имеет размер $1\\times 1$ см, площадь сразу получается в см².
<div class="sol-ans">Ответ: определяется по рисунку</div>`
},
{
text: `Из всех учащихся, участвующих в спортивных соревнованиях,
семиклассников было $8$, учащихся восьмых классов — $10$, девятых — $12$,
десятых — $14$, одиннадцатиклассников — $16$.
Какой процент всех участников составили учащиеся X–XI классов?`,
sol: `<b>Формула вычисления процентного отношения:</b> чтобы найти, какой процент составляет число $a$ от числа $b$, надо отношение $\\dfrac{a}{b}$ умножить на $100\\%$.
<br><b>Шаг 1. Найдём общее число участников,</b> сложив количество учащихся всех классов:
$$N = 8 + 10 + 12 + 14 + 16 = 60.$$
<b>Шаг 2. Найдём число учащихся X–XI классов</b> (десятиклассников и одиннадцатиклассников):
$$N_{10-11} = 14 + 16 = 30.$$
<b>Шаг 3. Найдём процентное отношение:</b>
$$\\dfrac{N_{10-11}}{N}\\cdot 100\\% = \\dfrac{30}{60}\\cdot 100\\% = \\dfrac{1}{2}\\cdot 100\\% = 50\\%.$$
<div class="sol-ans">Ответ: $50\\%$</div>`
},
{
text: `Не выполняя построения, найдите координаты точек пересечения параболы
$y = -x^2 + 3$ и прямой $y = -2x - 5$.`,
sol: `<b>Метод поиска точек пересечения графиков:</b> в точках пересечения значения функций совпадают — приравниваем правые части.
<br><b>Теорема Виета (обратная):</b> если $x_{1}+x_{2}=-p$ и $x_{1}\\cdot x_{2}=q$, то $x_{1}$, $x_{2}$ — корни уравнения $x^{2}+px+q=0$.
<br><b>Шаг 1.</b> Приравняем правые части:
$$-x^2 + 3 = -2x - 5.$$
<b>Шаг 2.</b> Перенесём всё в левую часть и приведём к стандартному виду. Удобнее сразу умножить на $-1$, чтобы коэффициент при $x^2$ стал положительным:
$$x^2 - 2x - 8 = 0.$$
<b>Шаг 3.</b> По теореме Виета ищем два числа, у которых сумма $2$, произведение $-8$. Подходят $4$ и $-2$. Значит, $(x-4)(x+2) = 0$, откуда $x_{1} = 4$, $x_{2} = -2$.
<br><b>Шаг 4. Найдём ординаты,</b> подставив корни в уравнение прямой $y = -2x - 5$:
$$\\text{при } x = 4:\\;\\; y = -2\\cdot 4 - 5 = -8 - 5 = -13;$$
$$\\text{при } x = -2:\\;\\; y = -2\\cdot(-2) - 5 = 4 - 5 = -1.$$
<div class="sol-ans">Ответ: $(4;\\,-13)$ и $(-2;\\,-1)$</div>`
},
{
text: `В прямоугольнике $ABCD$ $AB = 5$ см, $AD = 12$ см. В треугольники $ABC$ и $ADC$
вписаны окружности, которые касаются диагонали $AC$ в точках $M$ и $K$.
Найдите длину отрезка $MK$.`,
figure: `<img src="/img/exam9/v80_t9.png" class="task-fig" />`,
sol: `Диагональ $AC = \\sqrt{AB^2+BC^2} = \\sqrt{25+144} = \\sqrt{169} = 13$ см.
<br>Оба треугольника $ABC$ и $ACD$ прямоугольные с катетами $5$ и $12$, гипотенузой $13$.
<br><b>Шаг 1.</b> Радиус вписанной окружности: $r = \\dfrac{5+12-13}{2} = 2$ см
<br><b>Шаг 2.</b> В $\\triangle ABC$: касательная из $A$ = $s - BC = \\dfrac{5+12+13}{2} - 12 = 3$ см, $AM = 3$ см.
<br><b>Шаг 3.</b> В $\\triangle ACD$: касательная из $A$ = $s - CD = \\dfrac{12+5+13}{2} - 5 = 10$ см, $AK = 10$ см.
$$MK = AK - AM = 10 - 3 = 7\\text{ см}$$
<div class="sol-ans">Ответ: $MK = 7$ см</div>`
},
{
text: `Упростите выражение $\\dfrac{|x-1| + |x+3| - |x-4|}{|2x+12|}$ при $x < -6$.`,
sol: `<b>Определение модуля:</b> $|a| = a$ при $a \\geq 0$ и $|a| = -a$ при $a \\lt 0$.
<br><b>Метод раскрытия модулей:</b> для каждого выражения под модулем определяем знак при заданном условии на $x$, после чего снимаем модуль.
<br><b>Шаг 1. Определим знаки подмодульных выражений при $x \\lt -6$.</b>
<ul>
<li>$x - 1 \\lt -6 - 1 = -7 \\lt 0$, значит $|x-1| = -(x-1) = 1 - x$;</li>
<li>$x + 3 \\lt -6 + 3 = -3 \\lt 0$, значит $|x+3| = -(x+3) = -x - 3$;</li>
<li>$x - 4 \\lt -6 - 4 = -10 \\lt 0$, значит $|x-4| = -(x-4) = 4 - x$;</li>
<li>$2x + 12 = 2(x + 6) \\lt 2\\cdot 0 = 0$ (так как $x + 6 \\lt 0$ при $x \\lt -6$), значит $|2x+12| = -(2x+12) = -2(x+6)$.</li>
</ul>
<b>Шаг 2. Упростим числитель,</b> подставив раскрытые модули:
$$|x-1| + |x+3| - |x-4| = (1-x) + (-x-3) - (4-x).$$
Раскроем скобки (минус перед скобкой меняет знак):
$$= 1 - x - x - 3 - 4 + x = -6 - x = -(x+6).$$
<b>Шаг 3. Запишем знаменатель:</b> $|2x+12| = -2(x+6)$.
<br><b>Шаг 4. Сократим дробь.</b> При $x \\lt -6$ имеем $x + 6 \\neq 0$, поэтому сокращение возможно:
$$\\dfrac{-(x+6)}{-2(x+6)} = \\dfrac{1}{2}.$$
<div class="sol-ans">Ответ: $\\dfrac{1}{2}$</div>`
},
]
};