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
+181
View File
@@ -0,0 +1,181 @@
VARIANTS[64] = {
label: "Вариант 64",
tasks: [
{
text: `Определите, какое из данных равенств является верным:`,
opts: [
["а", "$b^6 = 6b$"], ["б", "$b^6 = 6b^6$"], ["в", "$b^6 = 6 + b^6$"],
["г", "$b \\cdot b \\cdot b \\cdot b \\cdot b \\cdot b = b^6$"], ["д", "$b^6 = 6 \\cdot b^6$"],
],
sol: `По определению степени с натуральным показателем:
$$b^6 = \\underbrace{b\\cdot b\\cdot b\\cdot b\\cdot b\\cdot b}_{6\\text{ раз}}.$$
Остальные равенства неверны: $6b$, $6b^6$, $6+b^6$, $6\\cdot b^6$ — это другие выражения.
<div class="sol-ans">Ответ: <b>г</b>.</div>`
},
{
text: `Произведение дробей $\\dfrac{14}{15}$ и $\\dfrac{25}{49}$ равно:`,
opts: [
["а", "$\\dfrac{10}{11}$"], ["б", "$\\dfrac{7}{10}$"], ["в", "$\\dfrac{10}{21}$"],
["г", "$1{,}1$"], ["д", "$2{,}1$"],
],
sol: `Умножим дроби:
$$\\dfrac{14}{15} \\cdot \\dfrac{25}{49} = \\dfrac{14 \\cdot 25}{15 \\cdot 49} = \\dfrac{350}{735} = \\dfrac{10}{21}.$$
<div class="sol-ans">Ответ: в) $\\dfrac{10}{21}$.</div>`
},
{
text: `Какое из следующих утверждений <b>НЕ</b> верно:`,
opts: [
["а", "если две окружности касаются, то они имеют единственную общую точку;"],
["б", "$\\cos 60^{\\circ} = \\dfrac{1}{2}$;"],
["в", "на плоскости две прямые, параллельные третьей, параллельны между собой;"],
["г", "у любого прямоугольника все стороны равны?"],
],
sol: `Проверяем каждое утверждение:
<ul>
<li>а) верно — определение касания окружностей (внутреннего или внешнего);</li>
<li>б) верно — табличное значение $\\cos 60^{\\circ} = \\dfrac{1}{2}$;</li>
<li>в) верно — транзитивность параллельности на плоскости;</li>
<li>г) <b>неверно</b> — в прямоугольнике все углы прямые, но стороны в общем случае различны (равные стороны у квадрата, являющегося частным случаем прямоугольника).</li>
</ul>
<div class="sol-ans">Ответ: <b>г</b>.</div>`
},
{
text: `Найдите значение выражения $\\left(2\\dfrac{3}{4}\\right)^{-2}$.
В ответ запишите противоположное ему число.`,
sol: `Превратим смешанное число в обыкновенную дробь: $2\\dfrac{3}{4} = \\dfrac{11}{4}$.<br>
По свойству $a^{-n} = \\dfrac{1}{a^{n}}$:
$$\\left(\\dfrac{11}{4}\\right)^{-2} = \\left(\\dfrac{4}{11}\\right)^{2} = \\dfrac{16}{121}.$$
Противоположное число: $-\\dfrac{16}{121}$.
<div class="sol-ans">Ответ: $-\\dfrac{16}{121}$.</div>`
},
{
text: `Вершина угла $ABC$ лежит на окружности с центром в точке $O$,
а стороны пересекают окружность в точках $A$ и $C$.
Угол $ABO$ равен $20^{\\circ}$, угол $ACO$ равен $40^{\\circ}$.
Найдите величину угла $BOC$.`,
sol: `<svg viewBox="0 0 260 240" width="260" height="240" style="display:block;margin:6px auto;background:#fff;border:1px solid #ccc">
<circle cx="130" cy="120" r="90" fill="none" stroke="#333" stroke-width="1.5"/>
<circle cx="130" cy="120" r="2.5" fill="#000"/>
<text x="136" y="115" font-size="14" font-style="italic">O</text>
<circle cx="130" cy="30" r="2.5" fill="#000"/>
<text x="124" y="22" font-size="14" font-style="italic">B</text>
<circle cx="44" cy="155" r="2.5" fill="#000"/>
<text x="28" y="160" font-size="14" font-style="italic">A</text>
<circle cx="220" cy="145" r="2.5" fill="#000"/>
<text x="226" y="150" font-size="14" font-style="italic">C</text>
<line x1="130" y1="30" x2="44" y2="155" stroke="#1565c0" stroke-width="1.5"/>
<line x1="130" y1="30" x2="220" y2="145" stroke="#1565c0" stroke-width="1.5"/>
<line x1="44" y1="155" x2="220" y2="145" stroke="#1565c0" stroke-width="1.5"/>
<line x1="130" y1="120" x2="130" y2="30" stroke="#888" stroke-dasharray="3 3"/>
<line x1="130" y1="120" x2="44" y2="155" stroke="#888" stroke-dasharray="3 3"/>
<line x1="130" y1="120" x2="220" y2="145" stroke="#888" stroke-dasharray="3 3"/>
</svg>
$OA=OB=OC=R$ (радиусы), значит треугольники $OAB$, $OAC$, $OBC$ равнобедренные, и углы при их основаниях равны.<br>
В $\\triangle OAB$: $\\angle OAB = \\angle OBA = 20^{\\circ}$.<br>
В $\\triangle OAC$: $\\angle OAC = \\angle OCA = 40^{\\circ}$.<br>
Тогда $\\angle BAC = \\angle OAB + \\angle OAC = 20^{\\circ} + 40^{\\circ} = 60^{\\circ}$.<br>
По сумме углов $\\triangle ABC$:
$$\\angle ABC + \\angle ACB = 180^{\\circ} - 60^{\\circ} = 120^{\\circ}.$$
Заметим, что $\\angle ABC = 20^{\\circ} + \\angle OBC$ и $\\angle ACB = 40^{\\circ} + \\angle OCB$. Подставляем:
$$20^{\\circ} + 40^{\\circ} + \\angle OBC + \\angle OCB = 120^{\\circ} \\implies \\angle OBC + \\angle OCB = 60^{\\circ}.$$
В $\\triangle OBC$ ($OB=OC$) углы при основании равны: $\\angle OBC = \\angle OCB = 30^{\\circ}$.<br>
Значит $\\angle BOC = 180^{\\circ} - 30^{\\circ} - 30^{\\circ} = 120^{\\circ}$.
<div class="sol-ans">Ответ: $\\angle BOC = 120^{\\circ}$.</div>`
},
{
text: `Найдите число, $24\\%$ которого равны значению выражения $4{,}5 : 3 + 3{,}3$.`,
sol: `<b>Правило нахождения числа по его проценту:</b> если $p\\%$ числа $N$ равны $A$, то $N=\\dfrac{A}{p/100}$.<br>
<b>Шаг 1.</b> Сначала находим значение выражения. По порядку действий сначала выполняется деление, потом сложение:
$$4{,}5 : 3 + 3{,}3 = 1{,}5 + 3{,}3 = 4{,}8.$$
<b>Шаг 2.</b> Обозначим искомое число $N$. По условию $24\\%$ от $N$ равны $4{,}8$:
$$0{,}24\\,N = 4{,}8.$$
<b>Шаг 3.</b> Делим обе части на $0{,}24$:
$$N = \\dfrac{4{,}8}{0{,}24} = 20.$$
<div class="sol-ans">Ответ: $20$.</div>`
},
{
text: `График линейной функции проходит через точки $A(3;\\;6)$ и $B(0;\\;0)$.
Запишите формулу, задающую эту функцию,
и найдите значение выражения $f(1) + f(-2)$.`,
sol: `<b>Линейная функция</b> имеет вид $f(x) = kx + b$, где $k$ — угловой коэффициент, $b$ — ордината точки пересечения с осью $Oy$ (значение функции при $x=0$).<br>
<b>Шаг 1.</b> Так как точка $B(0;\\,0)$ принадлежит графику, то $f(0)=b=0$. Значит формула имеет вид
$$f(x) = kx.$$
<b>Шаг 2.</b> Точка $A(3;\\,6)$ тоже принадлежит графику, поэтому $f(3)=6$. Подставляем:
$$6 = k \\cdot 3 \\implies k = 2.$$
<b>Шаг 3.</b> Записываем формулу: $f(x) = 2x$.<br>
<b>Шаг 4.</b> Находим значение выражения $f(1) + f(-2)$:
$$f(1) + f(-2) = 2\\cdot 1 + 2\\cdot(-2) = 2 - 4 = -2.$$
<div class="sol-ans">Ответ: $f(x) = 2x$, $\\ f(1)+f(-2) = -2$.</div>`
},
{
text: `Решите систему уравнений
$$\\begin{cases} 11x - 8y = -53, \\\\[4pt] 9x + 4y = -17 \\end{cases}$$
и найдите разность найденных значений $x$ и $y$.`,
sol: `<b>Метод сложения:</b> уравниваем коэффициенты при одной из переменных так, чтобы они стали противоположными, а при сложении уравнений она исчезла.<br>
<b>Шаг 1. Уравниваем коэффициенты при $y$.</b><br>
В первом уравнении $-8y$, во втором $4y$. Умножим второе уравнение на $2$, чтобы получить $8y$:
$$\\begin{cases} 11x - 8y = -53, \\\\ 18x + 8y = -34. \\end{cases}$$
<b>Шаг 2. Складываем уравнения.</b><br>
$y$ уничтожается:
$$29x = -87 \\implies x = -3.$$
<b>Шаг 3. Находим $y$.</b><br>
Подставим $x = -3$ во второе исходное уравнение $9x + 4y = -17$:
$$9 \\cdot (-3) + 4y = -17 \\implies -27 + 4y = -17 \\implies 4y = 10 \\implies y = 2{,}5.$$
<b>Шаг 4. Находим разность.</b>
$$x - y = -3 - 2{,}5 = -5{,}5.$$
<div class="sol-ans">Ответ: $x = -3,\\ y = 2{,}5,\\ x - y = -5{,}5$.</div>`
},
{
text: `Собственная скорость катера равна $28$ км/ч.
Через сколько минут катер, двигаясь по течению, догонит плот,
если он находится от плота на расстоянии $14$ км?`,
sol: `Плот плывёт со скоростью течения $v_p$ (км/ч). Катер идёт по течению, его скорость относительно берега $28 + v_p$.<br>
Скорость сближения катера и плота:
$$(28 + v_p) - v_p = 28 \\text{ км/ч}.$$
Скорость течения сокращается, поэтому ответ от неё не зависит.<br>
Время до встречи:
$$t = \\dfrac{14}{28} = 0{,}5\\text{ ч} = 30\\text{ мин}.$$
<div class="sol-ans">Ответ: через $30$ минут.</div>`
},
{
text: `Известно, что в равнобедренном треугольнике $ABC$ $AB = BC = 6$.
Найдите $AC$, если медиана $AM = 4$.`,
sol: `<svg viewBox="0 0 260 200" width="260" height="200" style="display:block;margin:6px auto;background:#fff;border:1px solid #ccc">
<polygon points="40,170 220,170 130,30" fill="none" stroke="#1565c0" stroke-width="1.7"/>
<line x1="40" y1="170" x2="175" y2="100" stroke="#c62828" stroke-width="1.5" stroke-dasharray="4 3"/>
<circle cx="40" cy="170" r="2.5" fill="#000"/>
<text x="22" y="180" font-size="14" font-style="italic">A</text>
<circle cx="220" cy="170" r="2.5" fill="#000"/>
<text x="226" y="180" font-size="14" font-style="italic">C</text>
<circle cx="130" cy="30" r="2.5" fill="#000"/>
<text x="124" y="22" font-size="14" font-style="italic">B</text>
<circle cx="175" cy="100" r="2.5" fill="#000"/>
<text x="182" y="100" font-size="14" font-style="italic">M</text>
<text x="92" y="135" font-size="13" fill="#c62828">AM = 4</text>
<text x="78" y="65" font-size="13">AB = 6</text>
<text x="180" y="65" font-size="13">BC = 6</text>
</svg>
<b>Теорема косинусов:</b> для любого треугольника со сторонами $a, b, c$ и углом $\\gamma$ между сторонами $a$ и $b$:
$$c^2 = a^2 + b^2 - 2ab\\cos\\gamma.$$
<b>Определение медианы:</b> медиана $AM$ соединяет вершину $A$ с серединой $M$ противоположной стороны $BC$.<br>
<b>Идея:</b> в $\\triangle ABM$ и $\\triangle ABC$ есть общий угол $B$. Найдём $\\cos\\angle B$ из первого треугольника, а затем используем его для второго.<br>
<b>Шаг 1. Находим $BM$.</b><br>
$M$ — середина $BC$, поэтому
$$BM = MC = \\dfrac{BC}{2} = \\dfrac{6}{2} = 3.$$
<b>Шаг 2. Применяем теорему косинусов к $\\triangle ABM$.</b><br>
Стороны $AB = 6$, $BM = 3$, $AM = 4$, угол между $AB$ и $BM$ — это $\\angle B$:
$$AM^2 = AB^2 + BM^2 - 2 \\cdot AB \\cdot BM \\cdot \\cos\\angle B,$$
$$16 = 36 + 9 - 2 \\cdot 6 \\cdot 3 \\cdot \\cos\\angle B,$$
$$16 = 45 - 36\\cos\\angle B.$$
Выражаем $\\cos\\angle B$:
$$36\\cos\\angle B = 29 \\implies \\cos\\angle B = \\dfrac{29}{36}.$$
<b>Шаг 3. Применяем теорему косинусов к $\\triangle ABC$.</b><br>
Стороны $AB = BC = 6$, угол между ними — тот же $\\angle B$:
$$AC^2 = AB^2 + BC^2 - 2 \\cdot AB \\cdot BC \\cdot \\cos\\angle B,$$
$$AC^2 = 36 + 36 - 2 \\cdot 6 \\cdot 6 \\cdot \\dfrac{29}{36} = 72 - 58 = 14.$$
<b>Шаг 4. Находим $AC$.</b>
$$AC = \\sqrt{14}\\text{ см}.$$
<div class="sol-ans">Ответ: $AC = \\sqrt{14}$ см.</div>`
},
]
};