Files
Learn_System/frontend/js/exam9/variants/v05.js
T
Maxim Dolgolyov 6cff327e88 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/*.
2026-05-16 12:53:49 +03:00

206 lines
16 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
VARIANTS[5] = {
label: "Вариант 5",
tasks: [
{
text: `Определите наименьшее целое число, принадлежащее промежутку $[-8{,}5;\\, 3{,}4]$:`,
opts: [
["а", "$-9$"], ["б", "$-8$"], ["в", "$0$"], ["г", "$3$"], ["д", "$-1$"],
],
sol: `Промежуток $[-8{,}5;\\, 3{,}4]$ включает $-8{,}5$ (закрытый конец).
<br>Ближайшее целое $\\geq -8{,}5$ — это $-8$.
<div class="sol-ans">Ответ: б)&ensp;$-8$</div>`
},
{
text: `Второй член арифметической прогрессии $(a_n)$,
у которой $d = 2$ и $a_1 = \\dfrac{1}{2}$, равен:`,
opts: [
["а", "$1$"], ["б", "$1\\dfrac{1}{2}$"], ["в", "$2\\dfrac{1}{2}$"],
["г", "$2$"], ["д", "$-1\\dfrac{1}{2}$"],
],
sol: `$$a_2 = a_1 + d = \\dfrac{1}{2} + 2 = \\dfrac{5}{2} = 2\\dfrac{1}{2}$$
<div class="sol-ans">Ответ: в)&ensp;$2\\dfrac{1}{2}$</div>`
},
{
text: `Какое из следующих утверждений <b>НЕ</b> верно:`,
opts: [
["а", "сумма острых углов прямоугольного треугольника равна $90^{\\circ}$;"],
["б", "диагонали параллелограмма точкой пересечения делятся пополам;"],
["в", "любая точка серединного перпендикуляра к отрезку равноудалена от концов отрезка;"],
["г", "если три угла одного треугольника соответственно равны трём углам другого, то такие треугольники равны?"],
],
sol: `<ul>
<li>а) Сумма острых углов прямоугольного треугольника $= 90°$ — <b>верно</b></li>
<li>б) Диагонали параллелограмма делятся пополам — <b>верно</b></li>
<li>в) Точки серединного перпендикуляра равноудалены от концов — <b>верно</b></li>
<li>г) Три равных угла → равные треугольники — <b style="color:#dc2626">НЕВЕРНО</b></li>
</ul>
Три равных угла означают лишь <b>подобие</b> треугольников, но не равенство (они могут иметь разные стороны).
<div class="sol-ans">Ответ: г)</div>`
},
{
text: `Решите уравнение $2x^2 - 0{,}4x = 0$.
В ответ запишите среднее арифметическое корней уравнения.`,
sol: `Выносим $x$ за скобку:
$$x(2x - 0{,}4) = 0 \\implies x_1=0,\\quad x_2 = \\frac{0{,}4}{2} = 0{,}2$$
Среднее арифметическое: $\\dfrac{x_1+x_2}{2} = \\dfrac{0+0{,}2}{2} = 0{,}1$
<div class="sol-ans">Ответ: $0{,}1$</div>`
},
{
text: `Высоты параллелограмма, проведённые из вершины тупого угла, равны $6$ см и $9$ см.
Периметр параллелограмма равен $40$ см. Найдите площадь параллелограмма.`,
figure: `<svg viewBox="0 0 195 112" xmlns="http://www.w3.org/2000/svg" style="max-width:195px;width:100%;height:auto;display:block;margin:10px 0">
<polygon points="55,95 165,95 130,20 20,20" fill="rgba(37,99,235,0.07)" stroke="#334155" stroke-width="1.8"/>
<path d="M85,95 A30,30 0 0,1 42,67" fill="none" stroke="#94a3b8" stroke-width="1.2"/>
<text x="74" y="90" font-size="9" fill="#888">тупой</text>
<text x="38" y="110" font-size="13" font-family="serif" font-style="italic">A</text>
<text x="167" y="110" font-size="13" font-family="serif" font-style="italic">B</text>
<text x="132" y="15" font-size="13" font-family="serif" font-style="italic">C</text>
<text x="5" y="15" font-size="13" font-family="serif" font-style="italic">D</text>
<text x="100" y="108" font-size="10" fill="#475569" font-style="italic">a</text>
<text x="18" y="62" font-size="10" fill="#475569" font-style="italic">b</text>
<line x1="55" y1="95" x2="55" y2="20" stroke="#2563eb" stroke-width="1.5" stroke-dasharray="5,3"/>
<path d="M48,20 L48,27 L55,27" fill="none" stroke="#2563eb" stroke-width="1"/>
<text x="58" y="62" font-size="11" fill="#2563eb" font-weight="bold">h₁=6</text>
<line x1="55" y1="95" x2="143" y2="49" stroke="#e11d48" stroke-width="1.5" stroke-dasharray="5,3"/>
<path d="M140.2,43.7 L145.5,40.9 L148.3,46.2" fill="none" stroke="#e11d48" stroke-width="1"/>
<text x="95" y="61" font-size="11" fill="#e11d48" font-weight="bold">h₂=9</text>
</svg>`,
sol: `Пусть стороны параллелограмма $a$ и $b$. Высоты из вершины тупого угла перпендикулярны к <b>смежным</b> сторонам: $h_a=6$ (к стороне $a$) и $h_b=9$ (к стороне $b$).
<br>Площадь одна и та же: $S = a\\cdot h_a = b\\cdot h_b$, значит:
$$6a = 9b \\implies \\frac{a}{b} = \\frac{3}{2}$$
Периметр: $2(a+b)=40 \\Rightarrow a+b=20$.
<br>С учётом $a=3k,\\ b=2k$: $5k=20 \\Rightarrow k=4$, т.е. $a=12$, $b=8$.
$$S = a\\cdot h_a = 12\\cdot 6 = 72\\text{ см}^2$$
<div class="sol-ans">Ответ: $72$ см²</div>`
},
{
text: `При каких натуральных значениях $n$ верно неравенство
$4{,}8(n - 4) - 3{,}7(2 - n) < 24{,}4$?`,
sol: `<b>Свойства линейных неравенств:</b> можно прибавлять одинаковое число к обеим частям и умножать/делить на положительное число, не меняя знак неравенства.
<br><b>Натуральные числа:</b> $1, 2, 3, \\ldots$ — положительные целые.
<br><br>
<b>Шаг 1.</b> Раскроем скобки слева:
$$4{,}8(n-4) = 4{,}8n - 19{,}2$$
$$-3{,}7(2-n) = -7{,}4 + 3{,}7n$$
Неравенство примет вид:
$$4{,}8n - 19{,}2 - 7{,}4 + 3{,}7n \\lt 24{,}4$$
<b>Шаг 2.</b> Приведём подобные слагаемые:
$$8{,}5n - 26{,}6 \\lt 24{,}4$$
<b>Шаг 3.</b> Перенесём $-26{,}6$ вправо со сменой знака:
$$8{,}5n \\lt 51$$
<b>Шаг 4.</b> Разделим обе части на $8{,}5$ (положительное число, знак сохраняется):
$$n \\lt 6$$
<b>Шаг 5.</b> Выбираем натуральные значения, удовлетворяющие $n\\lt 6$:
$$n \\in \\{1,\\ 2,\\ 3,\\ 4,\\ 5\\}$$
<div class="sol-ans">Ответ: $n = 1,\\ 2,\\ 3,\\ 4,\\ 5$</div>`
},
{
text: `Известно, что график функции $y = f(x)$ симметричен относительно оси ординат
и $f(-3) = 5$, $f(2) = -6$.
Найдите значение выражения $f(3) + 2f(-2)$.`,
sol: `<b>Признак чётной функции:</b> график функции симметричен относительно оси ординат тогда и только тогда, когда функция чётная.
<br><b>Свойство чётной функции:</b> $f(-x) = f(x)$ для всех $x$ из области определения.
<br><br>
<b>Шаг 1.</b> По признаку чётной функции из симметрии графика относительно оси $Oy$ следует:
$$f(-x) = f(x)$$
<b>Шаг 2.</b> Применяем это свойство, чтобы выразить нужные значения через известные.
<br>Так как $f(3) = f(-3)$, то по условию:
$$f(3) = f(-3) = 5$$
<b>Шаг 3.</b> Аналогично для $f(-2)$:
$$f(-2) = f(2) = -6$$
<b>Шаг 4.</b> Подставляем найденные значения в выражение:
$$f(3) + 2f(-2) = 5 + 2\\cdot(-6) = 5 - 12 = -7$$
<div class="sol-ans">Ответ: $-7$</div>`
},
{
text: `Определите число решений системы уравнений
$$\\begin{cases} x^2 + y^2 = 16, \\\\[4pt] y = -x^2 + 4. \\end{cases}$$
Ответ обоснуйте.`,
sol: `<b>Метод подстановки:</b> подставляем выражение для $y$ из одного уравнения в другое.
<br><b>Формула квадрата суммы:</b> $(a+b)^2 = a^2+2ab+b^2$.
<br><b>Геометрический смысл:</b> первое уравнение задаёт окружность с центром в начале координат и радиусом $4$; второе — параболу с вершиной $(0;4)$, ветви вниз.
<br><br>
<b>Шаг 1.</b> Из второго уравнения возьмём выражение $y=-x^2+4$ и подставим в первое:
$$x^2+(-x^2+4)^2=16$$
<b>Шаг 2.</b> Раскрываем квадрат:
$$x^2+x^4-8x^2+16=16$$
<b>Шаг 3.</b> Приводим подобные и упрощаем:
$$x^4-7x^2=0$$
$$x^2(x^2-7)=0$$
<b>Шаг 4.</b> Произведение равно нулю, когда один из множителей нуль:
<ul>
<li>$x^2=0 \\Rightarrow x=0$</li>
<li>$x^2-7=0 \\Rightarrow x=\\pm\\sqrt{7}$</li>
</ul>
Получили три значения $x$. Поскольку $y$ однозначно определяется как $y=-x^2+4$, каждому значению $x$ соответствует одно значение $y$:
<table style="border-collapse:collapse;margin:8px 0"><tr><td style="padding:2px 12px 2px 0">$x=0$:</td><td>$y=4$</td><td style="padding:2px 0 2px 12px">— точка $(0,4)$</td></tr><tr><td>$x=\\pm\\sqrt{7}$:</td><td>$y=-3$</td><td style="padding:2px 0 2px 12px">— точки $(\\pm\\sqrt{7},\\,-3)$</td></tr></table>
<b>Шаг 5.</b> Итого — три решения системы:
<svg viewBox="0 0 200 195" xmlns="http://www.w3.org/2000/svg" style="max-width:200px;width:100%;height:auto;display:block;margin:10px 0">
<defs><marker id="arrs5" viewBox="0 0 7 6" refX="7" refY="3" markerWidth="5" markerHeight="5" orient="auto"><path d="M0,0.5 L7,3 L0,5.5Z" fill="#555"/></marker></defs>
<line x1="10" y1="100" x2="190" y2="100" stroke="#bbb" stroke-width="1" marker-end="url(#arrs5)"/>
<line x1="100" y1="185" x2="100" y2="10" stroke="#bbb" stroke-width="1" marker-end="url(#arrs5)"/>
<text x="186" y="97" font-size="10" fill="#555">x</text><text x="102" y="12" font-size="10" fill="#555">y</text>
<circle cx="100" cy="100" r="80" fill="none" stroke="#2563eb" stroke-width="1.8"/>
<text x="155" y="38" font-size="10" fill="#2563eb">x²+y²=16</text>
<path d="M28,164 Q64,20 100,20 Q136,20 172,164" fill="none" stroke="#e11d48" stroke-width="1.8"/>
<text x="140" y="175" font-size="10" fill="#e11d48">y=x²+4</text>
<circle cx="100" cy="20" r="4" fill="#16a34a"/><text x="105" y="18" font-size="9" fill="#16a34a">(0,4)</text>
<circle cx="153" cy="160" r="4" fill="#16a34a"/><text x="155" y="158" font-size="9" fill="#16a34a">(√7,3)</text>
<circle cx="47" cy="160" r="4" fill="#16a34a"/><text x="2" y="158" font-size="9" fill="#16a34a">(−√7,3)</text>
</svg>
<div class="sol-ans">Ответ: 3 решения</div>`
},
{
text: `К раствору, содержащему $30$ г соли, добавили $100$ г воды,
после чего концентрация соли уменьшилась на $5\\%$.
Найдите первоначальную процентную концентрацию соли в растворе.`,
sol: `Пусть $m$ — начальная масса раствора. Соли — $30$ г, она не меняется.
<br><br>
<table style="border-collapse:collapse;width:100%;font-size:.93rem">
<tr style="background:#f1f5f9"><th style="border:1px solid #cbd5e1;padding:4px 10px"></th><th style="border:1px solid #cbd5e1;padding:4px 10px">Масса раствора</th><th style="border:1px solid #cbd5e1;padding:4px 10px">Масса соли</th><th style="border:1px solid #cbd5e1;padding:4px 10px">Концентрация</th></tr>
<tr><td style="border:1px solid #cbd5e1;padding:4px 10px"><b>До</b></td><td style="border:1px solid #cbd5e1;padding:4px 10px">$m$</td><td style="border:1px solid #cbd5e1;padding:4px 10px">$30$ г</td><td style="border:1px solid #cbd5e1;padding:4px 10px">$c = \\dfrac{30}{m}$</td></tr>
<tr><td style="border:1px solid #cbd5e1;padding:4px 10px"><b>После</b></td><td style="border:1px solid #cbd5e1;padding:4px 10px">$m+100$</td><td style="border:1px solid #cbd5e1;padding:4px 10px">$30$ г</td><td style="border:1px solid #cbd5e1;padding:4px 10px">$c' = \\dfrac{30}{m+100}$</td></tr>
</table>
<br>
<b>Шаг 1.</b> По условию концентрация уменьшилась на $5\\% = 0{,}05$:
$$\\frac{30}{m} - \\frac{30}{m+100} = 0{,}05$$
<b>Шаг 2.</b> Приведём к общему знаменателю:
$$\\frac{30(m+100) - 30m}{m(m+100)} = 0{,}05 \\implies \\frac{3000}{m(m+100)} = \\frac{1}{20}$$
$$m(m+100) = 60000$$
<b>Шаг 3.</b> Решаем квадратное уравнение $m^2 + 100m - 60000 = 0$:
$$D = 100^2 + 4\\cdot60000 = 10000 + 240000 = 250000 = 500^2$$
$$m = \\frac{-100 + 500}{2} = 200\\text{ г} \\quad (m > 0)$$
<b>Шаг 4.</b> Начальная концентрация:
$$c = \\frac{30}{200} = 0{,}15 = 15\\%$$
<b>Проверка:</b> после добавления $c' = \\dfrac{30}{300} = 10\\% = 15\\% - 5\\%$ ✓
<div class="sol-ans">Ответ: $15\\%$</div>`
},
{
text: `Найдите площадь сектора круга, угол которого равен $30^{\\circ}$,
а длина дуги — $4$ см. Ответ округлите до целых см², взяв $\\pi \\approx 3{,}14$.`,
sol: `<b>Формула длины дуги:</b> $l = \\dfrac{\\pi r\\alpha°}{180°}$, где $\\alpha°$ — центральный угол сектора в градусах.
<br><b>Формула площади сектора через длину дуги:</b> $S = \\dfrac{l\\cdot r}{2}$.
<br><br>
<b>Шаг 1.</b> По формуле длины дуги при $l=4$ и $\\alpha=30°$ найдём радиус:
$$4 = \\dfrac{\\pi r\\cdot 30}{180} = \\dfrac{\\pi r}{6}$$
Отсюда:
$$r = \\dfrac{24}{\\pi}$$
<b>Шаг 2.</b> Подставляем найденный радиус в формулу площади сектора:
$$S = \\dfrac{l\\cdot r}{2} = \\dfrac{4\\cdot\\dfrac{24}{\\pi}}{2} = \\dfrac{48}{\\pi}$$
<b>Шаг 3.</b> Подставляем $\\pi\\approx 3{,}14$ и округляем:
$$S \\approx \\dfrac{48}{3{,}14} \\approx 15{,}3 \\approx 15\\text{ см}^2$$
<svg viewBox="0 0 120 115" xmlns="http://www.w3.org/2000/svg" style="max-width:120px;width:100%;height:auto;display:block;margin:10px 0">
<path d="M60,60 L60,15 A45,45 0 0,1 98,82 Z" fill="rgba(37,99,235,0.2)" stroke="#2563eb" stroke-width="1.8"/>
<path d="M60,60 L60,15" stroke="#334155" stroke-width="1.5"/>
<path d="M60,60 L98,82" stroke="#334155" stroke-width="1.5"/>
<circle cx="60" cy="60" r="45" fill="none" stroke="#94a3b8" stroke-width="1" stroke-dasharray="4,3"/>
<path d="M77,52 A20,20 0 0,1 72,72" fill="none" stroke="#555" stroke-width="1.2"/>
<text x="78" y="62" font-size="10" fill="#555">30°</text>
<text x="62" y="40" font-size="10" fill="#2563eb">r</text>
<text x="62" y="35" font-size="9" fill="#e11d48" transform="rotate(30,62,35)">l=4</text>
</svg>
<div class="sol-ans">Ответ: $15$ см²</div>`
},
]
};