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

179 lines
14 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[67] = {
label: "Вариант 67",
tasks: [
{
text: `Какое из данных чисел является простым:`,
opts: [
["а", "$9$"], ["б", "$1$"], ["в", "$77$"], ["г", "$51$"], ["д", "$2$"],
],
sol: `<p>Проверяем каждое число:</p>
<ul>
<li>$9 = 3 \\times 3$ — составное;</li>
<li>$1$ — не является ни простым, ни составным по определению;</li>
<li>$77 = 7 \\times 11$ — составное;</li>
<li>$51 = 3 \\times 17$ — составное;</li>
<li>$2$ — делится только на $1$ и на себя, значит простое.</li>
</ul>
<div class="sol-ans">Ответ: д) $2$</div>`
},
{
text: `Абсцисса точки, принадлежащей графику функции $y = -3x + 2$, равна $1$.
Тогда ордината этой точки равна:`,
opts: [
["а", "$5$"], ["б", "$-1$"], ["в", "$1$"], ["г", "$-1{,}5$"], ["д", "$\\dfrac{2}{3}$"],
],
sol: `<p>Подставляем $x = 1$ в формулу функции:</p>
<p>$$y = -3 \\cdot 1 + 2 = -3 + 2 = -1.$$</p>
<div class="sol-ans">Ответ: б) $-1$</div>`
},
{
text: `Какое из следующих утверждений <b>НЕ</b> верно:`,
opts: [
["а", "для прямоугольного треугольника $ABC$ с прямым углом $C$ верно $\\sin A = \\dfrac{BC}{AB}$;"],
["б", "диагонали прямоугольника равны;"],
["в", "площадь трапеции равна произведению полусуммы оснований на высоту;"],
["г", "сумма градусных мер всех углов квадрата равна $180^{\\circ}$?"],
],
sol: `<p>Квадрат — это четырёхугольник, сумма внутренних углов которого равна $360^{\\circ}$, а не $180^{\\circ}$.</p>
<p>Утверждения а), б), в) — верны. Утверждение г) — <b>неверно</b>.</p>
<div class="sol-ans">Ответ: г)</div>`
},
{
text: `Решите уравнение $\\dfrac{x}{-3{,}6} = \\dfrac{0{,}25}{-0{,}9}$.`,
sol: `<p>Из свойства пропорции $\\dfrac{x}{-3{,}6} = \\dfrac{0{,}25}{-0{,}9}$:</p>
<p>$$x = \\frac{(-3{,}6) \\cdot 0{,}25}{-0{,}9} = \\frac{-0{,}9}{-0{,}9} = 1.$$</p>
<div class="sol-ans">Ответ: $x = 1$</div>`
},
{
text: `Найдите сумму натуральных значений переменной из области определения
выражения $\\sqrt{-2x+6}$.`,
sol: `<b>Условие существования квадратного корня:</b> $\\sqrt{f(x)}$ определён только тогда, когда подкоренное выражение неотрицательно, то есть $f(x) \\geq 0$.
<br><b>Шаг 1.</b> Запишем условие для нашего выражения $\\sqrt{-2x+6}$:
$$-2x + 6 \\geq 0.$$
<b>Шаг 2.</b> Решим неравенство. Перенесём $-2x$ в правую часть:
$$6 \\geq 2x,$$
а затем разделим обе части на $2$ (положительное число — знак не меняется):
$$x \\leq 3.$$
<b>Шаг 3.</b> Выберем натуральные числа из найденной области. Натуральные числа — это $1,\\;2,\\;3,\\;4,\\ldots$ Из них условию $x \\leq 3$ удовлетворяют: $1,\\;2,\\;3$.
<br><b>Шаг 4.</b> Найдём их сумму:
$$1 + 2 + 3 = 6.$$
<div class="sol-ans">Ответ: $6$</div>`
},
{
text: `Найдите шестой член арифметической прогрессии, если её третий член равен $9$,
а разность прогрессии равна $-2$.`,
sol: `<b>Формула $n$-го члена арифметической прогрессии:</b> $a_n = a_1 + (n-1)d$.
<br>Из неё легко получить связь любых двух членов: $a_n = a_k + (n-k)d$, так как от $k$-го члена до $n$-го нужно прибавить разность $d$ ровно $(n-k)$ раз.
<br><b>Шаг 1.</b> По условию $a_3 = 9$, $d = -2$. Найдём $a_6$, прибавив разность $d$ три раза (от 3-го к 6-му члену):
$$a_6 = a_3 + (6-3)\\cdot d = a_3 + 3d.$$
<b>Шаг 2.</b> Подставим значения:
$$a_6 = 9 + 3\\cdot(-2) = 9 - 6 = 3.$$
<div class="sol-ans">Ответ: $3$</div>`
},
{
text: `В параллелограмм с диагоналями, равными $6$ см и $8$ см, вписана окружность.
Найдите радиус этой окружности.`,
sol: `<p>Параллелограмм с вписанной окружностью является ромбом (суммы противоположных сторон равны, что в параллелограмме означает равенство всех сторон).</p>
<p>Полудиагонали ромба: $d_1/2 = 3$ см, $d_2/2 = 4$ см. Сторона ромба:</p>
<p>$$a = \\sqrt{3^2 + 4^2} = \\sqrt{9 + 16} = \\sqrt{25} = 5 \\text{ см}.$$</p>
<p>Площадь ромба:</p>
<p>$$S = \\frac{d_1 \\cdot d_2}{2} = \\frac{6 \\cdot 8}{2} = 24 \\text{ см}^2.$$</p>
<p>Полупериметр: $p = 2a = 2 \\cdot 5 = 10$ см. Радиус вписанной окружности:</p>
<p>$$r = \\frac{S}{p} = \\frac{24}{10} = 2{,}4 \\text{ см}.$$</p>
<svg viewBox="0 0 185 185" xmlns="http://www.w3.org/2000/svg" style="max-width:260px;width:100%;height:auto;display:block;margin:10px auto">
<!-- Ромб: d₁=6см=108px, d₂=8см=144px, сторона=5см=90px, r=2,4см=43px. Масштаб 18px/см -->
<!-- Центр (92,92). A=(38,92), B=(92,20), C=(146,92), D=(92,164) -->
<polygon points="38,92 92,20 146,92 92,164" fill="rgba(37,99,235,0.07)" stroke="#334155" stroke-width="2"/>
<!-- Диагонали -->
<line x1="38" y1="92" x2="146" y2="92" stroke="#94a3b8" stroke-width="1.2" stroke-dasharray="4,3"/>
<line x1="92" y1="20" x2="92" y2="164" stroke="#94a3b8" stroke-width="1.2" stroke-dasharray="4,3"/>
<!-- Прямой угол в центре -->
<polygon points="92,92 100,92 100,84 92,84" fill="none" stroke="#334155" stroke-width="1.2"/>
<!-- Вписанная окружность: r=43px, центр (92,92) -->
<circle cx="92" cy="92" r="43" fill="rgba(220,38,38,0.06)" stroke="#dc2626" stroke-width="1.8"/>
<line x1="92" y1="92" x2="92" y2="135" stroke="#dc2626" stroke-width="1" stroke-dasharray="3,2"/>
<circle cx="92" cy="92" r="2.5" fill="#334155"/>
<!-- Метки вершин -->
<text x="22" y="97" font-size="13" font-family="serif" font-style="italic">A</text>
<text x="88" y="14" font-size="13" font-family="serif" font-style="italic">B</text>
<text x="150" y="97" font-size="13" font-family="serif" font-style="italic">C</text>
<text x="88" y="179" font-size="13" font-family="serif" font-style="italic">D</text>
<!-- Длины диагоналей -->
<text x="58" y="88" font-size="10" fill="#475569">d₁=6</text>
<text x="148" y="88" font-size="10" fill="#475569">d₁=6</text>
<text x="95" y="58" font-size="10" fill="#475569">d₂=8</text>
<text x="95" y="135" font-size="10" fill="#475569">d₂=8</text>
<!-- Сторона и радиус -->
<text x="52" y="53" font-size="11" fill="#334155">a=5</text>
<text x="96" y="118" font-size="11" fill="#dc2626" font-weight="bold">r=2,4</text>
</svg>
<div class="sol-ans">Ответ: $r = 2{,}4$ см</div>`
},
{
text: `Найдите значение выражения
$-\\dfrac{9}{5} : \\left(\\dfrac{16}{25} - 1\\right) - 0{,}025 : 0{,}01 + \\dfrac{1}{3} \\cdot (-6) - 4 : \\dfrac{2}{5}$.
В ответ запишите число, обратное ему.`,
sol: `<b>Порядок действий:</b> сначала выполняем действия в скобках, затем умножение и деление, в конце — сложение и вычитание (слева направо).
<br><b>Правило деления дробей:</b> $\\dfrac{a}{b}:\\dfrac{c}{d}=\\dfrac{a}{b}\\cdot\\dfrac{d}{c}$.
<br><b>Обратное число</b> к ненулевому числу $a$ — это число $\\dfrac{1}{a}$. У дроби $\\dfrac{p}{q}$ обратное равно $\\dfrac{q}{p}$.
<br><b>Шаг 1.</b> Вычислим выражение в скобках, приведя $1$ к знаменателю $25$:
$$\\dfrac{16}{25} - 1 = \\dfrac{16-25}{25} = -\\dfrac{9}{25}.$$
<b>Шаг 2.</b> Выполним первое деление, заменив деление умножением на обратную дробь:
$$-\\dfrac{9}{5} : \\left(-\\dfrac{9}{25}\\right) = -\\dfrac{9}{5}\\cdot\\left(-\\dfrac{25}{9}\\right) = \\dfrac{9\\cdot 25}{5\\cdot 9} = 5.$$
<b>Шаг 3.</b> Выполним второе деление десятичных дробей:
$$0{,}025 : 0{,}01 = \\dfrac{0{,}025}{0{,}01} = 2{,}5.$$
<b>Шаг 4.</b> Вычислим оставшиеся произведение и частное:
$$\\dfrac{1}{3}\\cdot(-6) = -2,\\qquad 4:\\dfrac{2}{5} = 4\\cdot\\dfrac{5}{2} = 10.$$
<b>Шаг 5.</b> Соберём всё вместе:
$$5 - 2{,}5 + (-2) - 10 = 5 - 2{,}5 - 2 - 10 = -9{,}5 = -\\dfrac{19}{2}.$$
<b>Шаг 6.</b> Запишем число, обратное полученному: у дроби $-\\dfrac{19}{2}$ обратная равна $-\\dfrac{2}{19}$.
<div class="sol-ans">Ответ: $-\\dfrac{2}{19}$</div>`
},
{
text: `Первую половину пути в $20$ км пешеход преодолел со скоростью на $10\\%$ меньше планируемой,
а вторую половину пути — со скоростью на $10\\%$ больше, чем планировал.
Как изменится время его движения по сравнению с планируемым?`,
sol: `<p>Пусть плановая скорость равна $v$. Половина пути — $10$ км.</p>
<p>Фактическое время:</p>
<p>$$t = \\frac{10}{0{,}9v} + \\frac{10}{1{,}1v} = \\frac{10}{v}\\left(\\frac{1}{0{,}9} + \\frac{1}{1{,}1}\\right) = \\frac{10}{v} \\cdot \\frac{1{,}1 + 0{,}9}{0{,}99} = \\frac{10}{v} \\cdot \\frac{2}{0{,}99} = \\frac{20}{0{,}99v}.$$</p>
<p>Плановое время: $t_0 = \\dfrac{20}{v}$.</p>
<p>Отношение: $\\dfrac{t}{t_0} = \\dfrac{20/(0{,}99v)}{20/v} = \\dfrac{1}{0{,}99} = \\dfrac{100}{99} \\gt 1$.</p>
<p>Фактическое время <b>увеличится</b> примерно на $\\dfrac{1}{99} \\approx 1\\%$ от планируемого.</p>
<div class="sol-ans">Ответ: время увеличится (на $\\dfrac{1}{99}$ часть от планируемого, примерно на $1\\%$)</div>`
},
{
text: `В треугольник $ABC$ вписан квадрат, две вершины которого лежат на стороне $AC$,
две другие — на сторонах $AB$ и $BC$.
Найдите площадь квадрата, если $AC = 30$ см, высота треугольника $BH = 20$ см.`,
sol: `<p>Пусть сторона квадрата равна $a$. Квадрат расположен основанием на $AC$.</p>
<p>На высоте $a$ от $AC$ ширина треугольника (по подобию) равна:</p>
<p>$$AC \\cdot \\frac{BH - a}{BH} = 30 \\cdot \\frac{20 - a}{20}.$$</p>
<p>Эта ширина должна равняться стороне квадрата $a$:</p>
<p>$$30 \\cdot \\frac{20 - a}{20} = a \\Rightarrow \\frac{3(20 - a)}{2} = a \\Rightarrow 60 - 3a = 2a \\Rightarrow 5a = 60 \\Rightarrow a = 12.$$</p>
<p>Площадь квадрата: $S = a^2 = 12^2 = 144$ см².</p>
<svg viewBox="0 0 255 198" xmlns="http://www.w3.org/2000/svg" style="max-width:340px;width:100%;height:auto;display:block;margin:10px auto">
<!-- Точные пропорции: AC=30=210px, BH=20=140px, a=12=84px. Масштаб 7px/см -->
<!-- A=(20,168), B=(125,28), C=(230,168), H=(125,168) -->
<!-- Квадрат: (83,168)-(167,168)-(167,84)-(83,84). Стороны на AB и BC ✓ -->
<polygon points="20,168 125,28 230,168" fill="rgba(37,99,235,0.05)" stroke="#334155" stroke-width="1.8"/>
<!-- Вписанный квадрат -->
<rect x="83" y="84" width="84" height="84" fill="rgba(22,163,74,0.18)" stroke="#16a34a" stroke-width="2"/>
<!-- Высота BH (пунктир) -->
<line x1="125" y1="28" x2="125" y2="168" stroke="#94a3b8" stroke-width="1.3" stroke-dasharray="5,3"/>
<!-- Прямой угол при H -->
<polygon points="125,168 133,168 133,160 125,160" fill="none" stroke="#334155" stroke-width="1.2"/>
<!-- Метки вершин -->
<text x="6" y="180" font-size="14" font-family="serif" font-style="italic">A</text>
<text x="120" y="20" font-size="14" font-family="serif" font-style="italic">B</text>
<text x="233" y="180" font-size="14" font-family="serif" font-style="italic">C</text>
<text x="119" y="183" font-size="11" font-family="serif" font-style="italic" fill="#475569">H</text>
<!-- Размеры -->
<text x="122" y="130" font-size="13" fill="#15803d" font-weight="bold" text-anchor="middle">a=12</text>
<text x="122" y="193" font-size="11" fill="#475569" text-anchor="middle">AC = 30 см</text>
<text x="133" y="102" font-size="11" fill="#475569">BH=20</text>
</svg>
<div class="sol-ans">Ответ: $144$ см²</div>`
},
]
};