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

202 lines
15 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[37] = {
label: "Вариант 37",
tasks: [
{
text: `Какое из данных равенств является верным, если $f(x) = \\dfrac{6}{x}$:`,
opts: [
["а", "$f(2) = 2$"], ["б", "$f(2) = 3$"], ["в", "$f(2) = 12$"],
["г", "$f(2) = 4$"], ["д", "$f(2) = 36$"],
],
sol: `Подставляем $x=2$:
$$f(2) = \\dfrac{6}{2} = 3$$
<div class="sol-ans">Ответ: б)&ensp;$f(2)=3$</div>`
},
{
text: `Значение выражения $\\sqrt{\\dfrac{25}{16}} - \\dfrac{1}{4}$ равно:`,
opts: [
["а", "$\\dfrac{1}{4}$"], ["б", "$\\sqrt{\\dfrac{21}{16}}$"], ["в", "$\\sqrt{\\dfrac{29}{16}}$"],
["г", "$1$"], ["д", "$\\dfrac{3}{2}$"],
],
sol: `$$\\sqrt{\\dfrac{25}{16}} = \\dfrac{\\sqrt{25}}{\\sqrt{16}} = \\dfrac{5}{4}$$
$$\\dfrac{5}{4} - \\dfrac{1}{4} = \\dfrac{4}{4} = 1$$
<div class="sol-ans">Ответ: г)&ensp;$1$</div>`
},
{
text: `Какое из следующих утверждений <b>НЕ</b> верно:`,
opts: [
["а", "если катет равен половине гипотенузы, то он лежит против угла в $30^{\\circ}$;"],
["б", "если в треугольнике $ABC$ $R$ — радиус описанной окружности, то $\\dfrac{AC}{\\sin B} = 2R$;"],
["в", "в любой квадрат можно вписать окружность;"],
["г", "сумма углов любого треугольника равна $360^{\\circ}$?"],
],
sol: `<ul>
<li>а) Катет $=$ половина гипотенузы ⟹ напротив угла $30°$ — <b>верно</b></li>
<li>б) Теорема синусов $\\dfrac{AC}{\\sin B}=2R$ — <b>верно</b></li>
<li>в) В любой квадрат вписывается окружность — <b>верно</b></li>
<li>г) «Сумма углов треугольника $= 360°$» — <b style="color:#dc2626">НЕВЕРНО</b>. Сумма углов любого треугольника равна $\\mathbf{180°}$.</li>
</ul>
<div class="sol-ans">Ответ: г)</div>`
},
{
text: `Раскройте скобки $-10 - (-5x - 12)$ и упростите полученное выражение.`,
sol: `Минус перед скобками меняет знак каждого слагаемого внутри:
$$-10 - (-5x - 12) = -10 + 5x + 12 = 5x + 2$$
<div class="sol-ans">Ответ: $5x+2$</div>`
},
{
text: `Решите неравенство $2x - 5 > 17$.
Определите количество целых чисел из второго десятка, которые являются решениями этого неравенства.`,
sol: `<b>Свойства линейного неравенства:</b> к обеим частям можно прибавлять одно и то же число, а также можно делить обе части на положительное число — знак неравенства не меняется.
<br><b>Шаг 1.</b> Прибавляем $5$ к обеим частям:
$$2x - 5 + 5 > 17 + 5 \\implies 2x > 22$$
<b>Шаг 2.</b> Делим обе части на $2$ (положительное число):
$$x > 11$$
<b>Шаг 3.</b> Второй десяток — это натуральные числа от $11$ до $20$ (числа $11,\\,12,\\,\\ldots,\\,20$).
<br>Решениями (т.е. $x > 11$ строго) являются те, что <em>больше</em> $11$:
$$12,\\,13,\\,14,\\,15,\\,16,\\,17,\\,18,\\,19,\\,20$$
Всего $9$ чисел.
<div class="sol-ans">Ответ: $x>11$;&ensp;целых из второго десятка — $9$</div>`
},
{
text: `Периметр ромба $ABCD$ равен $48$ см, острый угол $A$ ромба равен $60^{\\circ}$.
Найдите меньшую диагональ $BD$ ромба.`,
sol: `Сторона ромба:&ensp;$a = \\dfrac{48}{4} = 12$ см.
<svg viewBox="0 0 230 195" xmlns="http://www.w3.org/2000/svg" style="max-width:330px;width:100%;height:auto;display:block;margin:8px 0">
<!-- A=(20,165), B=(80,61), C=(200,61), D=(140,165) — сторона 120px=12см, угол A=60° точно -->
<polygon points="20,165 80,61 200,61 140,165" fill="rgba(37,99,235,0.07)" stroke="#334155" stroke-width="2"/>
<!-- Треугольник ABD — равносторонний (подсветка) -->
<polygon points="20,165 80,61 140,165" fill="rgba(220,38,38,0.13)" stroke="none"/>
<!-- Диагональ AC (пунктир) -->
<line x1="20" y1="165" x2="200" y2="61" stroke="#94a3b8" stroke-width="1.3" stroke-dasharray="5,3"/>
<!-- Диагональ BD — искомая (красная) -->
<line x1="80" y1="61" x2="140" y2="165" stroke="#dc2626" stroke-width="2.5"/>
<!-- Дуга 60° при A: от (42,165) до (31,146) — направление AB точно 60° -->
<path d="M 42 165 A 22 22 0 0 0 31 146" fill="none" stroke="#555" stroke-width="1.3"/>
<text x="6" y="178" font-size="15" font-family="serif" font-style="italic">A</text>
<text x="73" y="55" font-size="15" font-family="serif" font-style="italic">B</text>
<text x="203" y="55" font-size="15" font-family="serif" font-style="italic">C</text>
<text x="143" y="180" font-size="15" font-family="serif" font-style="italic">D</text>
<text x="33" y="158" font-size="11" fill="#555">60°</text>
<!-- Метки сторон -->
<text x="36" y="106" font-size="12" fill="#334155">12</text>
<text x="152" y="106" font-size="12" fill="#334155">12</text>
<text x="133" y="56" font-size="12" fill="#334155">12</text>
<!-- Метка BD -->
<text x="97" y="120" font-size="13" fill="#dc2626" font-weight="bold">BD=12</text>
</svg>
<b>Ключевая идея.</b> В ромбе $ABCD$ рассмотрим треугольник $ABD$:
<ul>
<li>$AB = AD = 12$ см (стороны ромба)</li>
<li>$\\angle BAD = 60°$ (по условию)</li>
</ul>
Треугольник $ABD$ — <b>равнобедренный</b> с углом при вершине $60°$. Углы при основании равны $\\dfrac{180°-60°}{2}=60°$ — <b>все три угла $= 60°$</b>, т.е. треугольник <b>равносторонний</b>.
<br>Значит, $BD = AB = 12$ см.
<div class="sol-ans">Ответ: $BD = 12$ см</div>`
},
{
text: `В арифметической прогрессии второй и девятый члены соответственно равны $3$ и $10$.
Чему равна сумма третьего и десятого членов этой прогрессии?`,
sol: `<b>Формула $n$-го члена арифметической прогрессии:</b> $a_n = a_1 + (n - 1)d$, где $a_1$ — первый член, $d$ — разность прогрессии.
<br>Из этой формулы следует: $a_m - a_k = (m - k)\\cdot d$ для любых номеров $m$, $k$.
<br><b>Шаг 1.</b> Находим разность $d$.
<br>Между $a_2$ и $a_9$ — $9 - 2 = 7$ шагов:
$$a_9 - a_2 = 7d \\implies 10 - 3 = 7d \\implies 7d = 7 \\implies d = 1$$
<b>Шаг 2.</b> Находим $a_3$ и $a_{10}$.
<br>$a_3 = a_2 + d = 3 + 1 = 4$ (следующий член = предыдущий $+\\,d$).
<br>$a_{10} = a_9 + d = 10 + 1 = 11$.
<br><b>Шаг 3.</b> Складываем:
$$a_3 + a_{10} = 4 + 11 = 15$$
<div class="sol-ans">Ответ: $15$</div>`
},
{
text: `Двое сотрудников производственной лаборатории Слуцкого сыродельного комбината
$6$ дней обрабатывали результаты измерений.
За какое время может выполнить эту работу первый работник, работая отдельно,
если он за $2$ дня выполняет такую же часть работы, какую второй выполняет за $3$ дня?`,
sol: `Пусть производительности (часть работы за день): первый — $r_1$, второй — $r_2$.
<br><b>Условие 1:</b> «первый за $2$ дня выполняет столько же, сколько второй за $3$»:
$$2r_1 = 3r_2 \\implies r_2 = \\dfrac{2}{3}r_1$$
<b>Условие 2:</b> вместе за $6$ дней выполнили всю работу ($=1$):
$$6(r_1 + r_2) = 1 \\implies 6\\left(r_1 + \\dfrac{2}{3}r_1\\right) = 1$$
$$6\\cdot\\dfrac{5r_1}{3} = 1 \\implies 10r_1 = 1 \\implies r_1 = \\dfrac{1}{10}$$
Первый работник один выполнит работу за время $\\dfrac{1}{r_1} = 10$ дней.
<div class="sol-ans">Ответ: $10$ дней</div>`
},
{
text: `Окружности с радиусами $4$ см и $9$ см касаются внешним образом.
Найдите отрезок общей внешней касательной, заключённый между точками касания.`,
sol: `<b>$O_1O_2 = R+r = 9+4 = 13$ см</b> (внешнее касание). Радиусы перпендикулярны касательной: $O_1T_1\\perp T_1T_2$ и $O_2T_2\\perp T_1T_2$, поэтому $O_1T_1\\parallel O_2T_2$.
<svg viewBox="0 0 230 180" xmlns="http://www.w3.org/2000/svg" style="max-width:360px;width:100%;height:auto;display:block;margin:10px 0">
<!-- O1=(78,118), R=54. O2=(156,118), r=24. Tangent T1=(99,68), T2=(165,96). H=(90,90) -->
<circle cx="78" cy="118" r="54" fill="rgba(37,99,235,0.06)" stroke="#2563eb" stroke-width="1.8"/>
<circle cx="156" cy="118" r="24" fill="rgba(22,163,74,0.10)" stroke="#16a34a" stroke-width="1.8"/>
<!-- Прямоугольник O2-T2-T1-H подсветка -->
<polygon points="90,90 99,68 165,96 156,118" fill="rgba(234,179,8,0.15)" stroke="none"/>
<!-- Линия центров -->
<line x1="78" y1="118" x2="156" y2="118" stroke="#94a3b8" stroke-width="1.2" stroke-dasharray="4,3"/>
<!-- Касательная T1-T2 -->
<line x1="83" y1="57" x2="181" y2="102" stroke="#dc2626" stroke-width="2.2"/>
<!-- Радиусы O1T1, O2T2 (пунктир) -->
<line x1="78" y1="118" x2="99" y2="68" stroke="#2563eb" stroke-width="1.5" stroke-dasharray="3,2"/>
<line x1="156" y1="118" x2="165" y2="96" stroke="#16a34a" stroke-width="1.5" stroke-dasharray="3,2"/>
<!-- O2H (пунктир зелёный) -->
<line x1="156" y1="118" x2="90" y2="90" stroke="#ca8a04" stroke-width="1.4" stroke-dasharray="4,2"/>
<!-- Прямые углы T1 и T2 (точные, перпендикулярно касательной) -->
<polygon points="99,68 96,75 103,78 106,71" fill="rgba(0,0,0,0.08)" stroke="#334155" stroke-width="1.2"/>
<polygon points="165,96 162,103 169,106 172,99" fill="rgba(0,0,0,0.08)" stroke="#334155" stroke-width="1.2"/>
<!-- Прямой угол при H -->
<polygon points="90,90 96,73 103,76 97,93" fill="none" stroke="#ca8a04" stroke-width="1.1"/>
<!-- Точки -->
<circle cx="78" cy="118" r="3.5" fill="#2563eb"/>
<circle cx="156" cy="118" r="3.5" fill="#16a34a"/>
<circle cx="99" cy="68" r="3.5" fill="#dc2626"/>
<circle cx="165" cy="96" r="3.5" fill="#dc2626"/>
<circle cx="90" cy="90" r="3" fill="#ca8a04"/>
<circle cx="132" cy="118" r="2.5" fill="#334155"/>
<!-- Метки -->
<text x="63" y="124" font-size="12" font-family="serif" font-style="italic" fill="#2563eb">O₁</text>
<text x="159" y="124" font-size="12" font-family="serif" font-style="italic" fill="#16a34a">O₂</text>
<text x="90" y="62" font-size="12" font-family="serif" font-style="italic" fill="#dc2626">T₁</text>
<text x="168" y="95" font-size="12" font-family="serif" font-style="italic" fill="#dc2626">T₂</text>
<text x="80" y="89" font-size="12" font-family="serif" font-style="italic" fill="#ca8a04">H</text>
<!-- Длины на рисунке -->
<text x="80" y="95" font-size="11" fill="#2563eb">R=9</text>
<text x="147" y="110" font-size="11" fill="#16a34a">r=4</text>
<text x="80" y="106" font-size="11" fill="#ca8a04">5</text>
<text x="121" y="98" font-size="11" fill="#ca8a04">12</text>
<text x="118" y="64" font-size="12" fill="#dc2626" font-weight="bold">T₁T₂=?</text>
<text x="100" y="131" font-size="10" fill="#475569">9</text>
<text x="137" y="127" font-size="10" fill="#475569">4</text>
</svg>
<b>Ключевая идея:</b> опустим из $O_2$ перпендикуляр на прямую $O_1T_1$ — получим точку $H$.
<br>Тогда $O_2T_2T_1H$ — <b>прямоугольник</b>, значит $O_2H = T_1T_2$ (то, что ищем).
$$O_1H = O_1T_1 - T_1H = R - r = 9 - 4 = 5\\text{ см}$$
В прямоугольном $\\triangle O_1HO_2$ ($\\angle H = 90°$) — узнаём тройку <b>51213</b>:
$$O_1O_2^2 = O_1H^2 + O_2H^2 \\implies 13^2 = 5^2 + (T_1T_2)^2$$
$$169 = 25 + (T_1T_2)^2 \\implies (T_1T_2)^2 = 144 \\implies T_1T_2 = 12\\text{ см}$$
<div class="sol-ans">Ответ: $12$ см</div>`
},
{
text: `Определите знак выражения $8x_1 - x_2$, где $x_1$, $x_2$ — корни уравнения
$(6 + 2\\sqrt{5})\\,x^2 - 15x - (6 - 2\\sqrt{5}) = 0$ и $x_1 < x_2$.`,
sol: `<b>Шаг 1. Замена переменной.</b>
<br>Пусть $y = (6+2\\sqrt{5})\\,x$, тогда $x = \\dfrac{y}{6+2\\sqrt{5}}$. Подставляем в уравнение и умножаем на $(6+2\\sqrt{5})$:
$$y^2 - 15y - (6+2\\sqrt{5})(6-2\\sqrt{5}) = 0$$
По формуле разности квадратов: $(6+2\\sqrt{5})(6-2\\sqrt{5}) = 36 - 20 = 16$.
$$y^2 - 15y - 16 = 0$$
<b>Шаг 2. Решаем простое уравнение.</b>
$$D = 225 + 64 = 289 = 17^2 \\implies y = \\dfrac{15\\pm17}{2}$$
$$y_1 = -1, \\quad y_2 = 16$$
<b>Шаг 3. Возвращаемся к $x$.</b>&ensp;$x = \\dfrac{y}{6+2\\sqrt{5}}$.
<br>Так как $6+2\\sqrt{5} > 0$, знак $x$ совпадает со знаком $y$. Поэтому $x_1 < 0 < x_2$:
$$x_1 = \\dfrac{-1}{6+2\\sqrt{5}} = -\\dfrac{6-2\\sqrt{5}}{16} \\quad\\text{(домножили на сопряжённое)}$$
$$x_2 = \\dfrac{16}{6+2\\sqrt{5}} = \\dfrac{16(6-2\\sqrt{5})}{16} = 6-2\\sqrt{5}$$
<b>Шаг 4. Считаем $8x_1 - x_2$.</b>
$$8x_1 = 8\\cdot\\left(-\\dfrac{6-2\\sqrt{5}}{16}\\right) = -\\dfrac{6-2\\sqrt{5}}{2}$$
$$8x_1 - x_2 = -\\dfrac{6-2\\sqrt{5}}{2} - (6-2\\sqrt{5}) = -(6-2\\sqrt{5})\\left(\\dfrac{1}{2}+1\\right) = -\\dfrac{3(6-2\\sqrt{5})}{2}$$
Так как $6 > 2\\sqrt{5}$ (потому что $36 > 20$), значит $6-2\\sqrt{5} > 0$, и всё выражение <b>отрицательно</b>.
<div class="sol-ans">Ответ: $8x_1 - x_2 < 0$ (отрицательно)</div>`
},
]
};