Files
Learn_System/frontend/js/exam9/variants/v13.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

235 lines
18 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[13] = {
label: "Вариант 13",
tasks: [
{
text: `Определите, какая из следующих пар чисел является вершиной параболы
$y = -(x-3)^2 + 1$:`,
opts: [
["а", "$(3;\\ 1)$"], ["б", "$(3;\\ {-1})$"], ["в", "$(-3;\\ 1)$"],
["г", "$(-1;\\ 3)$"], ["д", "$(1;\\ {-3})$"],
],
sol: `Парабола $y = a(x-h)^2 + k$ имеет вершину $(h;\\,k)$.
<br>Здесь $a=-1$, $h=3$, $k=1$ — вершина $(3;\\,1)$.
<svg viewBox="0 0 175 145" xmlns="http://www.w3.org/2000/svg" style="max-width:175px;width:100%;height:auto;display:block;margin:10px 0">
<defs><marker id="a13t1" 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="#94a3b8"/></marker></defs>
<line x1="5" y1="70" x2="168" y2="70" stroke="#bbb" stroke-width="1.2" marker-end="url(#a13t1)"/>
<line x1="20" y1="138" x2="20" y2="5" stroke="#bbb" stroke-width="1.2" marker-end="url(#a13t1)"/>
<text x="169" y="74" font-size="10" fill="#777">x</text><text x="22" y="6" font-size="10" fill="#777">y</text>
<polyline points="56,140 76,70 90,44 104,35 118,44 132,70 152,140" fill="none" stroke="#2563eb" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="104" cy="35" r="5" fill="#e11d48"/>
<text x="108" y="32" font-size="10" fill="#e11d48" font-weight="bold">(3; 1)</text>
<text x="14" y="64" font-size="9" fill="#555">1</text>
<line x1="100" y1="68" x2="100" y2="72" stroke="#777" stroke-width="1"/>
<text x="96" y="82" font-size="9" fill="#555">3</text>
</svg>
<div class="sol-ans">Ответ: а)&ensp;$(3;\\,1)$</div>`
},
{
text: `Определите, какие из чисел <b>НЕ</b> являются решением двойного неравенства
$-6 < 2x < 8$:`,
opts: [
["а", "$-2$"], ["б", "$0$"], ["в", "$5$"], ["г", "$-3$"], ["д", "$1$"],
],
sol: `Разделим на $2$: $-3 < x < 4$.
<br>Проверяем каждое число:
<ul>
<li>а) $-2$: $-3<-2<4$ ✓ — решение</li>
<li>б) $0$: ✓ — решение</li>
<li>в) $5$: $5>4$ ✗ — <b>НЕ решение</b></li>
<li>г) $-3$: $-3$ не строго больше $-3$ ✗ — <b>НЕ решение</b></li>
<li>д) $1$: ✓ — решение</li>
</ul>
<div class="sol-ans">Ответ: в) и г)</div>`
},
{
text: `Какое из следующих утверждений <b>НЕ</b> верно:`,
opts: [
["а", "прямые, содержащие высоты треугольника, пересекаются в одной точке;"],
["б", "периметр квадрата со стороной $a$ равен $4a$;"],
["в", "углы при основании равнобедренной трапеции равны между собой;"],
["г", "у любого параллелограмма все углы равны между собой?"],
],
sol: `<ul>
<li>а) Высоты пересекаются в ортоцентре — <b>верно</b></li>
<li>б) Периметр квадрата $= 4a$ — <b>верно</b></li>
<li>в) Углы при основании равнобедренной трапеции равны — <b>верно</b></li>
<li>г) Все углы параллелограмма равны — <b style="color:#dc2626">НЕВЕРНО</b></li>
</ul>
В параллелограмме противоположные углы равны, а соседние в сумме дают $180°$. Равны все только у прямоугольника.
<div class="sol-ans">Ответ: г)</div>`
},
{
text: `Найдите значение выражения $6x - 12$,
если $\\dfrac{3x^2 - 5x}{x} = 0$.`,
sol: `При $x\\neq 0$:
$$\\frac{3x^2-5x}{x} = \\frac{x(3x-5)}{x} = 3x-5 = 0 \\implies x = \\frac{5}{3}$$
$$6x-12 = 6\\cdot\\frac{5}{3}-12 = 10-12 = -2$$
<div class="sol-ans">Ответ: $-2$</div>`
},
{
text: `Периметр ромба $ABCD$ равен $48$ см. Угол между стороной $AD$ и диагональю $AC$
равен $30^{\\circ}$. Найдите диагональ $BD$ ромба.`,
sol: `<b>Свойства ромба:</b> все четыре стороны равны; диагонали перпендикулярны, делятся точкой пересечения пополам и делят углы ромба пополам (являются биссектрисами).
<br><b>Признак равностороннего треугольника:</b> равнобедренный треугольник с углом $60°$ является равносторонним.
<br><br>
<b>Шаг 1.</b> Так как все стороны ромба равны, найдём сторону через периметр:
$$a = \\dfrac{P}{4} = \\dfrac{48}{4} = 12\\text{ см}$$
<svg viewBox="0 0 170 118" xmlns="http://www.w3.org/2000/svg" style="max-width:170px;width:100%;height:auto;display:block;margin:10px 0">
<!-- равносторонний треугольник ABD (светло-оранжевый) -->
<polygon points="20,90 92,90 56,28" fill="rgba(251,146,60,0.2)" stroke="none"/>
<!-- ромб -->
<polygon points="20,90 92,90 128,28 56,28" fill="none" stroke="#334155" stroke-width="1.8"/>
<!-- диагональ AC (синяя, дана) -->
<line x1="20" y1="90" x2="128" y2="28" stroke="#2563eb" stroke-width="1.3" stroke-dasharray="5,3"/>
<!-- диагональ BD (зелёная, ищем) -->
<line x1="92" y1="90" x2="56" y2="28" stroke="#16a34a" stroke-width="1.6" stroke-dasharray="5,3"/>
<!-- дуга ∠DAC = 30° (между AD и AC, начало на AD, конец на AC) -->
<!-- AD: A+18×(0.502,0.865)=(29,74); AC: A+18×(0.867,0.498)=(36,81) -->
<path d="M29,74 A18,18 0 0,1 36,81" fill="none" stroke="#e11d48" stroke-width="1.5"/>
<text x="38" y="76" font-size="10" fill="#e11d48" font-weight="bold">30°</text>
<!-- дуга ∠DAB = 60° (между AB и AD, пунктир) -->
<!-- AB: A+(20,0)=(40,90); AD: A+20×(0.502,0.865)=(30,73) -->
<path d="M40,90 A20,20 0 0,0 30,73" fill="none" stroke="#94a3b8" stroke-width="1" stroke-dasharray="3,2"/>
<text x="44" y="88" font-size="9" fill="#94a3b8">60°</text>
<!-- метки вершин -->
<text x="3" y="100" font-size="13" font-family="serif" font-style="italic">A</text>
<text x="94" y="102" font-size="13" font-family="serif" font-style="italic">B</text>
<text x="130" y="24" font-size="13" font-family="serif" font-style="italic">C</text>
<text x="44" y="22" font-size="13" font-family="serif" font-style="italic">D</text>
<!-- подписи -->
<text x="56" y="100" font-size="10" fill="#334155" text-anchor="middle">12</text>
<text x="69" y="57" font-size="10" fill="#2563eb">AC</text>
<text x="69" y="72" font-size="10" fill="#16a34a" font-weight="bold">BD = ?</text>
</svg>
<b>Шаг 2.</b> Диагональ $AC$ — биссектриса угла $A$ ромба, поэтому $\\angle DAC = \\dfrac{\\angle DAB}{2}$. По условию $\\angle DAC = 30°$, значит:
$$\\angle DAB = 2\\cdot 30° = 60°$$
<b>Шаг 3.</b> Рассмотрим треугольник $ABD$:
<ul>
<li>$AB = AD = 12$ (стороны ромба равны),</li>
<li>$\\angle DAB = 60°$.</li>
</ul>
Это равнобедренный треугольник с углом $60°$ — значит, он <b>равносторонний</b>, и все стороны равны:
$$BD = AB = 12\\text{ см}$$
<i>Проверка по теореме косинусов:</i> $BD^2 = 12^2+12^2-2\\cdot 12\\cdot 12\\cdot\\cos 60° = 144$ ✓
<div class="sol-ans">Ответ: $BD = 12$ см</div>`
},
{
text: `Сократите дробь $\\dfrac{4n^2 - 9m^2}{9m^2 + 4n^2 + 12mn}$.`,
sol: `<b>Формула разности квадратов:</b> $a^2-b^2 = (a-b)(a+b)$.
<br><b>Формула квадрата суммы:</b> $(a+b)^2 = a^2+2ab+b^2$.
<br><br>
<b>Шаг 1.</b> Разложим <em>числитель</em> по формуле разности квадратов ($a=2n$, $b=3m$):
$$4n^2 - 9m^2 = (2n)^2 - (3m)^2 = (2n-3m)(2n+3m)$$
<b>Шаг 2.</b> Разложим <em>знаменатель</em>. Замечаем, что это квадрат суммы:
$$9m^2 + 4n^2 + 12mn = (3m)^2 + 2\\cdot 3m\\cdot 2n + (2n)^2 = (3m+2n)^2$$
Так как $3m+2n = 2n+3m$, можно записать:
$$(3m+2n)^2 = (2n+3m)^2$$
<b>Шаг 3.</b> Сокращаем общий множитель $(2n+3m)$:
$$\\dfrac{(2n-3m)(2n+3m)}{(2n+3m)^2} = \\dfrac{2n-3m}{2n+3m}$$
<div class="sol-ans">Ответ: $\\dfrac{2n-3m}{2n+3m}$</div>`
},
{
text: `Решите систему уравнений
$$\\begin{cases} x - 4y = 2, \\\\[4pt] xy + 2y = 8 \\end{cases}$$
и найдите значение выражения $x_1 \\cdot y_1 + x_2 \\cdot y_2$,
где $(x_1;\\, y_1)$, $(x_2;\\, y_2)$ — решения системы.`,
sol: `<b>Метод подстановки:</b> выражаем одну переменную через другую и подставляем.
<br><b>Теорема Виета (обратная):</b> $y^2+py+q=(y-y_1)(y-y_2)$, где $y_1+y_2=-p$, $y_1\\cdot y_2=q$.
<br><br>
<b>Шаг 1.</b> Из первого уравнения выразим $x$:
$$x = 2 + 4y$$
<b>Шаг 2.</b> Подставим во второе уравнение:
$$(2+4y)y + 2y = 8$$
$$2y + 4y^2 + 2y = 8$$
$$4y^2 + 4y - 8 = 0$$
<b>Шаг 3.</b> Разделим на $4$:
$$y^2 + y - 2 = 0$$
<b>Шаг 4.</b> По теореме Виета: $y_1+y_2=-1$, $y_1\\cdot y_2=-2$. Подходят $-2$ и $1$:
$$(y+2)(y-1)=0$$
<b>Шаг 5.</b> Для каждого $y$ находим $x = 2+4y$:
<table style="border-collapse:collapse;margin:6px 0"><tr><td style="padding:2px 12px 2px 0"><b>$y_1=-2$:</b></td><td>$x_1=2-8=-6$</td></tr><tr><td><b>$y_2=1$:</b></td><td>$x_2=2+4=6$</td></tr></table>
<b>Шаг 6.</b> Вычисляем требуемое выражение:
$$x_1y_1+x_2y_2 = (-6)(-2)+(6)(1) = 12+6 = 18$$
<div class="sol-ans">Ответ: $18$</div>`
},
{
text: `Найдите значение выражения $\\sqrt{8 - 2\\sqrt{7}} + \\sqrt{32 - 10\\sqrt{7}}$.
В ответ запишите число, обратное полученному.`,
sol: `<b>Формула квадрата разности:</b> $(a-b)^2 = a^2 - 2ab + b^2$.
<br><b>Формула выноса корня из квадрата:</b> $\\sqrt{a^2}=|a|$. При $a\\geq 0$ модуль раскрывается как $|a|=a$, при $a\\lt 0$ — как $|a|=-a$.
<br><b>Идея:</b> подкоренное выражение вида $A - 2\\sqrt{B}$ часто можно представить как квадрат разности $(\\sqrt{m}-\\sqrt{n})^2$, где $m+n=A$ и $mn=B$.
<br><br>
<b>Шаг 1.</b> Преобразуем <em>первое</em> подкоренное выражение: $8 - 2\\sqrt{7}$.
<br>Ищем представление в виде $(\\sqrt{m}-\\sqrt{n})^2 = m + n - 2\\sqrt{mn}$. Нужно $m+n=8$ и $mn=7$. Подходят $m=7$, $n=1$:
$$8 - 2\\sqrt{7} = 7 - 2\\sqrt{7} + 1 = (\\sqrt{7})^2 - 2\\cdot\\sqrt{7}\\cdot 1 + 1^2 = (\\sqrt{7}-1)^2$$
Извлекаем корень. Так как $\\sqrt{7}\\approx 2{,}65\\gt 1$, выражение $\\sqrt{7}-1\\gt 0$:
$$\\sqrt{8-2\\sqrt{7}} = \\sqrt{(\\sqrt{7}-1)^2} = \\sqrt{7}-1$$
<b>Шаг 2.</b> Преобразуем <em>второе</em> подкоренное выражение: $32 - 10\\sqrt{7}$. Здесь $2\\sqrt{mn}=10\\sqrt{7}$, то есть $\\sqrt{mn}=5\\sqrt{7}$, $mn=175$. И $m+n=32$. Подходят $m=25$, $n=7$:
$$32 - 10\\sqrt{7} = 25 - 10\\sqrt{7} + 7 = 5^2 - 2\\cdot 5\\cdot\\sqrt{7} + (\\sqrt{7})^2 = (5-\\sqrt{7})^2$$
Так как $5\\gt\\sqrt{7}$, имеем $5-\\sqrt{7}\\gt 0$:
$$\\sqrt{32-10\\sqrt{7}} = 5-\\sqrt{7}$$
<b>Шаг 3.</b> Складываем оба корня:
$$\\sqrt{8-2\\sqrt{7}} + \\sqrt{32-10\\sqrt{7}} = (\\sqrt{7}-1) + (5-\\sqrt{7}) = -1 + 5 + (\\sqrt{7}-\\sqrt{7}) = 4$$
<b>Шаг 4.</b> Запишем число, обратное $4$:
$$\\dfrac{1}{4}$$
<div class="sol-ans">Ответ: $\\dfrac{1}{4}$</div>`
},
{
text: `Периметр параллелограмма равен $30$ см, соседние стороны относятся как $2:3$.
Угол между высотами, проведёнными к соседним сторонам из вершины тупого угла
параллелограмма, равен $60^{\\circ}$. Найдите площадь параллелограмма.`,
sol: `<b>Шаг 1 — стороны.</b>
<br>Пусть $a=2k$, $b=3k$. Периметр: $2(2k+3k)=30 \\Rightarrow k=3$, т.е. $a=6$, $b=9$ см.
<br><b>Шаг 2 — острый угол.</b>
<svg viewBox="0 0 180 128" xmlns="http://www.w3.org/2000/svg" style="max-width:180px;width:100%;height:auto;display:block;margin:10px 0">
<polygon points="50,110 158,110 122,48 14,48" fill="rgba(37,99,235,0.07)" stroke="#334155" stroke-width="1.8"/>
<!-- h₁: от A(50,110) до H₁(131,63) на стороне BC -->
<line x1="50" y1="110" x2="131" y2="63" stroke="#2563eb" stroke-width="1.5" stroke-dasharray="4,2"/>
<circle cx="131" cy="63" r="2.5" fill="#2563eb"/>
<!-- знак прямого угла при H₁(131,63): BC→(-0.502,0.865), к A→(0.868,0.504) -->
<!-- P1=H₁+5×BC=(129,59), P2=H₁+5×(к A)=(127,66), corner=(124,61) -->
<path d="M129,59 L124,61 L127,66" fill="none" stroke="#555" stroke-width="1.2"/>
<!-- h₂: от A(50,110) до H₂(50,48) на стороне CD -->
<line x1="50" y1="110" x2="50" y2="48" stroke="#e11d48" stroke-width="1.5" stroke-dasharray="4,2"/>
<circle cx="50" cy="48" r="2.5" fill="#e11d48"/>
<!-- знак прямого угла при H₂(50,48): CD горизонтальна, h₂ вертикальна -->
<path d="M44,48 L44,54 L50,54" fill="none" stroke="#555" stroke-width="1.2"/>
<path d="M50,88 A22,22 0 0,1 69,99" fill="none" stroke="#333" stroke-width="1.3"/>
<text x="59" y="87" font-size="10" fill="#333" font-weight="bold">60°</text>
<text x="32" y="122" font-size="13" font-family="serif" font-style="italic">A</text>
<text x="160" y="122" font-size="13" font-family="serif" font-style="italic">B</text>
<text x="124" y="43" font-size="13" font-family="serif" font-style="italic">C</text>
<text x="4" y="43" font-size="13" font-family="serif" font-style="italic">D</text>
<text x="140" y="69" font-size="10" fill="#2563eb">$h_1$</text>
<text x="36" y="80" font-size="10" fill="#e11d48">$h_2$</text>
</svg>
Из геометрии параллелограмма можно показать, что угол между двумя высотами из вершины тупого угла равен <b>острому углу</b> параллелограмма. Значит, острый угол $\\beta = 60°$.
<br><b>Шаг 3 — площадь.</b>
$$S = a\\cdot b\\cdot\\sin\\beta = 6\\cdot 9\\cdot\\sin 60° = 54\\cdot\\frac{\\sqrt{3}}{2} = 27\\sqrt{3}\\text{ см}^2$$
<div class="sol-ans">Ответ: $27\\sqrt{3}$ см²</div>`
},
{
text: `Во время строительных работ на Всебелорусской молодёжной стройке в Хатыни
двое студентов были определены на подсобные работы. Работая с одной скоростью,
они выполнили половину отведённой работы, затем увеличили скорость: один — на $20\\%$,
а второй — на $16\\%$, и вторую половину работы выполнили на один день раньше
запланированного времени. Успеют ли студенты выполнить работу за $14$ дней?
Ответ обоснуйте.`,
sol: `Пусть $n$ — плановое число дней. Скорость каждого $s = \\dfrac{1}{2n}$ ед/день, вместе: $\\dfrac{1}{n}$.
<br><b>Первая половина</b> (работа $=\\tfrac{1}{2}$) — скорость не менялась:
$$t_1 = \\frac{1/2}{1/n} = \\frac{n}{2}\\text{ дней}$$
<b>Вторая половина</b> — скорости увеличились:
$$\\text{1-й: }1{,}2s,\\quad \\text{2-й: }1{,}16s,\\quad \\text{вместе: }2{,}36s = \\frac{2{,}36}{2n} = \\frac{1{,}18}{n}$$
$$t_2 = \\frac{1/2}{1{,}18/n} = \\frac{n}{2{,}36} = \\frac{25n}{59}\\text{ дней}$$
<b>Фактическое время:</b>
$$t = t_1+t_2 = \\frac{n}{2}+\\frac{25n}{59} = \\frac{59n+50n}{118} = \\frac{109n}{118}$$
<b>Условие «на 1 день раньше»:</b>
$$n - \\frac{109n}{118} = \\frac{9n}{118} = 1 \\implies n = \\frac{118}{9} \\approx 13{,}1\\text{ дней}$$
<b>Фактическое время выполнения:</b>
$$t = \\frac{109n}{118} = \\frac{109}{9} = 12\\frac{1}{9} \\approx 12{,}1\\text{ дней}$$
Так как $12{,}1 < 14$, студенты <b>успеют</b> выполнить работу за $14$ дней — с запасом около $2$ дней.
<div class="sol-ans">Ответ: да, успеют ($\\approx 12{,}1$ дней $< 14$ дней)</div>`
},
]
};