5193fd8252
Актуальный формат экзамена: А1–А10 (8 mc + 2 open) + В1–В20 (1 long + 19 open). Перенабор по PDF сборника РИКЗ; решений в источнике нет — решено вручную, ВСЕ 30 ответов сверены с официальным ключом (стр.35, столбец Вариант 1). Адаптации: А1 (точки на прямой) → равные промежутки в тексте; А6 (промежуток на рисунке) → описан словами. Метка 111 (ЦЭ-2024) в VARIANT_LABEL. Идемпотентный seed, --apply — пользователь. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
370 lines
36 KiB
JavaScript
370 lines
36 KiB
JavaScript
'use strict';
|
||
/* ───────────────────────────────────────────────────────────────────────────
|
||
seed_ctmath_ce2024_v1.js
|
||
Чистый вариант-пробник для трека exam-prep `ctmath`.
|
||
|
||
Источник: Централизованный экзамен / ЦТ по математике, 2024 (сборник тестов
|
||
РИКЗ / «Аверсэв»), Вариант 1. АКТУАЛЬНЫЙ формат: Часть А = А1–А10 (закрытые,
|
||
5 вариантов), Часть В = В1–В20 (открытые). Всего 30 заданий. Перенабрано
|
||
вручную в KaTeX по PDF:
|
||
F:\!Рабочие\ЦТ\Математика\Математика\ЦТ-ЦЭ\ЦЭ-ЦТ-2024 МАТ.pdf
|
||
|
||
⚠️ В PDF РЕШЕНИЙ НЕТ (только задания). Решения и ответы получены вручную и
|
||
СВЕРЕНЫ с официальной таблицей ответов в конце сборника (стр. 35, столбец
|
||
«Вариант 1»). Все 30 ответов совпали. variant=111.
|
||
|
||
Адаптации заданий-«с-картинкой» (исходный ответ/идея сохранены):
|
||
• А1 (точки на координатной прямой) → равные промежутки заданы в тексте
|
||
(та же точка-ответ);
|
||
• А6 (изображённый числовой промежуток) → промежуток $(-6;9]$ описан
|
||
словами (ответ 24 сохранён).
|
||
Остальная геометрия закодирована текстом (как у РТ-вариантов 101–109).
|
||
|
||
Идемпотентность: upsert по UNIQUE(exam_key, variant, task_idx).
|
||
Запуск:
|
||
node backend/scripts/seed_ctmath_ce2024_v1.js # DRY-RUN (по умолчанию)
|
||
node backend/scripts/seed_ctmath_ce2024_v1.js --apply # запись в БД
|
||
|
||
⚠️ Массовую запись в БД запускает ПОЛЬЗОВАТЕЛЬ вручную. Без --apply ничего не пишется.
|
||
─────────────────────────────────────────────────────────────────────────── */
|
||
|
||
const { DatabaseSync } = require('node:sqlite');
|
||
const path = require('path');
|
||
|
||
const APPLY = process.argv.includes('--apply');
|
||
const EXAM = 'ctmath';
|
||
const VARIANT = 111;
|
||
const PROV = 'ЦЭ–2024, Вариант 1';
|
||
const R = String.raw;
|
||
|
||
const L = ['а', 'б', 'в', 'г', 'д'];
|
||
const mc = (...html) => html.map((h, i) => [L[i], h]);
|
||
|
||
/* ── 30 заданий ─────────────────────────────────────────────────────────── */
|
||
const TASKS = [
|
||
// ── Часть A: А1–А10 ──────────────────────────────────────────────────────
|
||
{ idx: 1, type: 'mc', topic: 'functions', subtopic: 'fn-graphs', diff: 1,
|
||
text: R`На координатной прямой точки $D$, $O$, $C$, $B$, $A$, $E$ идут в указанном порядке через равные промежутки; $O$ — начало отсчёта, а соседние точки отличаются по координате на $0{,}8$. Какой точке соответствует число $1{,}6$?`,
|
||
opts: mc('$A$', '$B$', '$C$', '$D$', '$E$'),
|
||
answer: 'б',
|
||
sol: R`От $O$ вправо: $C=0{,}8$, $B=1{,}6$, $A=2{,}4$. Числу $1{,}6$ соответствует точка $B$.`,
|
||
ref: 'Латотин «Математика, 6 кл.», гл. 5' },
|
||
|
||
{ idx: 2, type: 'mc', topic: 'stereometry', subtopic: 'ster-basics', diff: 2,
|
||
text: R`На рисунке изображена правильная четырёхугольная пирамида $SABCD$, точка $O$ — точка пересечения диагоналей основания $ABCD$. Среди прямых $BC$, $BD$, $SO$, $SB$, $SD$ укажите прямую, по которой пересекаются плоскости $DSO$ и $SCB$.`,
|
||
opts: mc('$BC$', '$BD$', '$SO$', '$SB$', '$SD$'),
|
||
answer: 'г',
|
||
sol: R`Точка $O$ лежит на диагонали $BD$, поэтому плоскость $DSO$ совпадает с плоскостью $SBD$. Плоскости $SBD$ и $SCB$ имеют общие точки $S$ и $B$, поэтому пересекаются по прямой $SB$.`,
|
||
ref: 'Латотин «Геометрия, 10 кл.», разд. 1, § 2' },
|
||
|
||
{ idx: 3, type: 'mc', topic: 'trigonometry', subtopic: 'trig-circle', diff: 1,
|
||
text: R`Среди значений аргумента, равных $-\dfrac{\pi}{6}$, $\dfrac{\pi}{4}$, $\dfrac{\pi}{3}$, $-\dfrac{3\pi}{2}$, $-6\pi$, укажите то, при котором значение функции $y=\sin x$ равно нулю.`,
|
||
opts: mc('$-\dfrac{\pi}{6}$', '$\dfrac{\pi}{4}$', '$\dfrac{\pi}{3}$', '$-\dfrac{3\pi}{2}$', '$-6\pi$'),
|
||
answer: 'д',
|
||
sol: R`$\sin x=0$ при $x=\pi n$, $n\in\mathbb{Z}$. Из данных значений этому условию удовлетворяет только $-6\pi$.`,
|
||
ref: 'Арефьева «Алгебра, 10 кл.», гл. 1, § 2' },
|
||
|
||
{ idx: 4, type: 'mc', topic: 'numbers', subtopic: 'num-divisibility', diff: 1,
|
||
text: R`Укажите номер формулы, по которой можно найти делимое $n$ при делении с остатком, если делитель $15$, неполное частное $k$, остаток $7$ ($n$ — натуральное число).`,
|
||
opts: mc('$n=15(k+7)$', '$n=k+22$', '$n=15k+7$', '$n=7k+15$', '$n=7(k+15)$'),
|
||
answer: 'в',
|
||
sol: R`При делении с остатком $n=q\cdot b+r$, где $b$ — делитель, $q$ — неполное частное, $r$ — остаток. Значит, $n=15k+7$.`,
|
||
ref: 'Герасимов «Математика, 5 кл.», ч. 1, гл. 1, § 11' },
|
||
|
||
{ idx: 5, type: 'mc', topic: 'equations', subtopic: 'eq-rational', diff: 2,
|
||
text: R`Укажите номер квадратного уравнения, произведение действительных корней которого равно $5$.`,
|
||
opts: mc('$x^{2}-6x+5=0$', '$x^{2}-4x+5=0$', '$x^{2}-5x+6=0$', '$x^{2}+5x=0$', '$x^{2}-5=0$'),
|
||
answer: 'а',
|
||
sol: R`По теореме Виета произведение корней приведённого уравнения равно свободному члену. Произведение $5$ имеют уравнения 1 и 2, но у уравнения $x^{2}-4x+5=0$ дискриминант отрицателен (действительных корней нет). Значит, подходит $x^{2}-6x+5=0$ ($D=16>0$).`,
|
||
ref: 'Арефьева «Алгебра, 8 кл.», гл. 2' },
|
||
|
||
{ idx: 6, type: 'open', topic: 'numbers', subtopic: 'num-real', diff: 2,
|
||
text: R`На координатной прямой изображён промежуток $(-6;9]$ (точка $-6$ не входит, точка $9$ входит). Укажите номера пар промежутков, объединением которых является этот промежуток.<br>1) $(-6;+\infty)$ и $(-6;9)$;<br>2) $(-6;0)$ и $[0;9]$;<br>3) $(-\infty;-6)$ и $(-\infty;9)$;<br>4) $(-6;9]$ и $(0;4)$;<br>5) $(-\infty;9]$ и $(-6;+\infty)$.<br><i>Ответ запишите цифрами в порядке возрастания, без пробелов.</i>`,
|
||
answer: '24', ansShow: '2, 4',
|
||
sol: R`$2)$ $(-6;0)\cup[0;9]=(-6;9]$ — верно. $\ 4)$ $(-6;9]\cup(0;4)=(-6;9]$ (так как $(0;4)\subset(-6;9]$) — верно. Остальные дают другие множества: 1) $(-6;+\infty)$; 3) $(-\infty;9)$; 5) $\mathbb{R}$. Подходят пары 2 и 4.`,
|
||
ref: 'Арефьева «Алгебра, 8 кл.», гл. 1, § 5' },
|
||
|
||
{ idx: 7, type: 'mc', topic: 'word-sequences', subtopic: 'word-problems', diff: 2,
|
||
text: R`Толя купил $3$ альбома и $5$ карандашей. Стоимость одного альбома равна $1$ р. $20$ к., а стоимость одного карандаша равна $25$ к. Какая сумма (в копейках) осталась у Толи после покупки альбомов и карандашей, если всего у него было $6$ р.?`,
|
||
opts: mc('$115$ к.', '$145$ к.', '$110$ к.', '$125$ к.', '$275$ к.'),
|
||
answer: 'а',
|
||
sol: R`Потрачено $3\cdot120+5\cdot25=360+125=485$ (к.). Осталось $600-485=115$ (к.).`,
|
||
ref: 'Герасимов «Математика, 5 кл.», ч. 1, гл. 2' },
|
||
|
||
{ idx: 8, type: 'mc', topic: 'trigonometry', subtopic: 'trig-circle', diff: 2,
|
||
text: R`Найдите значение выражения $\dfrac{38}{\pi}\cdot\arcsin(-1)-\left|-7\right|$.`,
|
||
opts: mc('$-16$', '$-12$', '$12$', '$26$', '$-26$'),
|
||
answer: 'д',
|
||
sol: R`$\arcsin(-1)=-\dfrac{\pi}{2}$, поэтому $\dfrac{38}{\pi}\cdot\left(-\dfrac{\pi}{2}\right)-7=-19-7=-26$.`,
|
||
ref: 'Арефьева «Алгебра, 10 кл.», гл. 1, § 7' },
|
||
|
||
{ idx: 9, type: 'mc', topic: 'stereometry', subtopic: 'ster-rotation', diff: 2,
|
||
text: R`Квадрат, длина диагонали которого равна $8$, лежит в плоскости $\alpha$. Сфера касается плоскости $\alpha$ в точке пересечения диагоналей квадрата. Найдите площадь сферы, если расстояние от центра сферы до вершины квадрата равно $4\sqrt2$.`,
|
||
opts: mc('$8\pi$', '$16\pi$', '$64\pi$', '$32\sqrt2\,\pi$', '$32\pi$'),
|
||
answer: 'в',
|
||
sol: R`Точка касания — центр квадрата; радиус сферы $R$ перпендикулярен плоскости. Расстояние от центра квадрата до вершины равно половине диагонали — $4$. Тогда $R^{2}+4^{2}=(4\sqrt2)^{2}=32$, $R^{2}=16$, $R=4$. Площадь сферы $S=4\pi R^{2}=64\pi$.`,
|
||
ref: 'Латотин «Геометрия, 11 кл.», разд. 3' },
|
||
|
||
{ idx: 10, type: 'open', topic: 'expressions', subtopic: 'expr-powers-roots', diff: 2,
|
||
text: R`Укажите номера выражений, которые имеют смысл при $a=-6$.<br>1) $\dfrac{1}{\sqrt[5]{a-6}}$;<br>2) $\sqrt{a^{5}}$;<br>3) $\sqrt[5]{a}$;<br>4) $\dfrac{1}{\sqrt[6]{a-6}}$;<br>5) $\sqrt[6]{a}$.<br><i>Ответ запишите цифрами в порядке возрастания, без пробелов.</i>`,
|
||
answer: '13', ansShow: '1, 3',
|
||
sol: R`При $a=-6$: $\ 1)$ $\sqrt[5]{-12}$ определён (нечётный корень) и не равен нулю — смысл есть. $\ 2)$ $\sqrt{(-6)^{5}}$ — корень чётной степени из отрицательного числа — нет смысла. $\ 3)$ $\sqrt[5]{-6}$ определён — смысл есть. $\ 4)$ $\sqrt[6]{-12}$ — нет смысла. $\ 5)$ $\sqrt[6]{-6}$ — нет смысла. Подходят 1 и 3.`,
|
||
ref: 'Арефьева «Алгебра, 10 кл.», гл. 2, § 14' },
|
||
|
||
// ── Часть B: В1–В20 ──────────────────────────────────────────────────────
|
||
{ idx: 11, type: 'open', topic: 'stereometry', subtopic: 'ster-angles-distances', diff: 3,
|
||
text: R`Дана прямая треугольная призма $ABCA_1B_1C_1$. Точка $M$ — середина ребра $AB$, $\angle ABC=90^\circ$. Выберите верные утверждения.<br>1) расстояние от точки $C_1$ до прямой $AB$ равно длине отрезка $BC_1$;<br>2) расстояние от точки $C_1$ до прямой $AB$ равно длине отрезка $C_1M$;<br>3) расстояние от точки $A$ до прямой $BC$ равно длине отрезка $AB$;<br>4) расстояние между прямыми $BB_1$ и $CC_1$ равно длине отрезка $BC_1$;<br>5) расстояние между прямыми $A_1B_1$ и $AB$ равно длине отрезка $AA_1$;<br>6) расстояние от точки $B$ до прямой $AC$ равно длине отрезка $BC$.<br><i>Ответ запишите цифрами в порядке возрастания, без пробелов.</i>`,
|
||
answer: '135', ansShow: '1, 3, 5',
|
||
sol: R`$1)$ верно: $AB\perp BC$ и $AB\perp BB_1$, поэтому $AB$ перпендикулярна плоскости $BB_1C_1C$, и расстояние от $C_1$ до $AB$ равно $BC_1$. $\ 2)$ неверно. $\ 3)$ верно: $BC\perp AB$, расстояние от $A$ до $BC$ равно $AB$. $\ 4)$ неверно: расстояние между $BB_1$ и $CC_1$ равно $BC$. $\ 5)$ верно: $A_1B_1\parallel AB$, расстояние равно боковому ребру $AA_1$. $\ 6)$ неверно. Подходят 1, 3, 5.`,
|
||
ref: 'Латотин «Геометрия, 10 кл.», разд. 3' },
|
||
|
||
{ idx: 12, type: 'long', topic: 'functions', subtopic: 'fn-properties', diff: 2,
|
||
text: R`Функция задана формулой $f(x)=x^{2}+4x-5$ на множестве действительных чисел. Для начала каждого из предложений А–В подберите его окончание 1–6 так, чтобы получилось верное утверждение.<br><b>Начало:</b><br>А) Сумма координат точки пересечения графика данной функции с осью ординат равна …<br>Б) Сумма нулей данной функции равна …<br>В) Наименьшее значение данной функции на области определения равно …<br><b>Окончание:</b><br>1) $9$; 2) $-4$; 3) $5$; 4) $-9$; 5) $-5$; 6) $4$.<br><i>Ответ запишите сочетанием букв и цифр, например: А1Б1В4.</i>`,
|
||
answer: 'А5Б2В4', ansShow: 'А5Б2В4',
|
||
sol: R`А) График пересекает ось ординат в точке $(0;f(0))=(0;-5)$; сумма координат $0+(-5)=-5$ — окончание 5. Б) Нули: $x^{2}+4x-5=0$, $x=1$ и $x=-5$; их сумма $-4$ — окончание 2. В) Наименьшее значение $f(-2)=4-8-5=-9$ — окончание 4.`,
|
||
ref: 'Арефьева «Алгебра, 8 кл.», гл. 3' },
|
||
|
||
{ idx: 13, type: 'open', topic: 'numbers', subtopic: 'num-divisibility', diff: 2,
|
||
text: R`Найдите сумму всех натуральных чисел, которые кратны $9$ и больше $141$, но меньше $170$.`,
|
||
answer: '459',
|
||
sol: R`Кратные $9$ в промежутке $(141;170)$: $144$, $153$, $162$. Их сумма $144+153+162=459$.`,
|
||
ref: 'Герасимов «Математика, 5 кл.», ч. 1, гл. 1' },
|
||
|
||
{ idx: 14, type: 'open', topic: 'trigonometry', subtopic: 'trig-identities', diff: 2,
|
||
text: R`Найдите значение выражения $\operatorname{ctg}^{2}\alpha$, если $\sin\alpha=\dfrac15$.`,
|
||
answer: '24',
|
||
sol: R`$\cos^{2}\alpha=1-\sin^{2}\alpha=1-\dfrac{1}{25}=\dfrac{24}{25}$. Тогда $\operatorname{ctg}^{2}\alpha=\dfrac{\cos^{2}\alpha}{\sin^{2}\alpha}=\dfrac{24/25}{1/25}=24$.`,
|
||
ref: 'Арефьева «Алгебра, 10 кл.», гл. 1, § 4' },
|
||
|
||
{ idx: 15, type: 'open', topic: 'planimetry', subtopic: 'plan-triangles', diff: 2,
|
||
text: R`Радиус окружности, описанной около прямоугольного треугольника $ABC$ ($\angle ABC=90^\circ$), равен $18\sqrt2$. Найдите значение выражения $90\cdot\cos\angle ACB$, если $BC=6\sqrt2$.`,
|
||
answer: '15',
|
||
sol: R`Гипотенуза $AC=2R=36\sqrt2$. $\cos\angle ACB=\dfrac{BC}{AC}=\dfrac{6\sqrt2}{36\sqrt2}=\dfrac16$. Тогда $90\cdot\dfrac16=15$.`,
|
||
ref: 'Казаков «Геометрия, 9 кл.», гл. 2' },
|
||
|
||
{ idx: 16, type: 'open', topic: 'word-sequences', subtopic: 'seq-progressions', diff: 2,
|
||
text: R`Пятый член геометрической прогрессии равен $48$, а шестой её член равен $96$. Найдите сумму четырёх первых членов этой прогрессии.`,
|
||
answer: '45',
|
||
sol: R`Знаменатель $q=\dfrac{96}{48}=2$. Из $b_5=b_1 q^{4}=48$: $b_1=\dfrac{48}{16}=3$. Сумма $S_4=\dfrac{b_1(q^{4}-1)}{q-1}=\dfrac{3(16-1)}{1}=45$.`,
|
||
ref: 'Арефьева «Алгебра, 9 кл.», гл. 4, § 18' },
|
||
|
||
{ idx: 17, type: 'open', topic: 'word-sequences', subtopic: 'word-problems', diff: 3,
|
||
text: R`Проездной билет на автобус на месяц стоит $39$ р., а стоимость билета на одну поездку на автобусе равна $80$ к. Сколько поездок на автобусе совершила Маша за месяц, покупая только билеты на одну поездку, если известно, что $75\%$ от суммы денег, которую она потратила за месяц на оплату поездок, равны стоимости проездного билета на месяц?`,
|
||
answer: '65',
|
||
sol: R`Пусть $n$ — число поездок. Потрачено $80n$ копеек; $39$ р. $=3900$ к. По условию $0{,}75\cdot80n=3900$, $60n=3900$, $n=65$.`,
|
||
ref: 'Герасимов «Математика, 6 кл.», гл. 2' },
|
||
|
||
{ idx: 18, type: 'open', topic: 'equations', subtopic: 'eq-linear', diff: 2,
|
||
text: R`Найдите сумму наименьшего и наибольшего целых решений двойного неравенства $-3\le2-\dfrac{3x-2}{2}<27$.`,
|
||
answer: '-11',
|
||
sol: R`Вычтем $2$: $-5\le-\dfrac{3x-2}{2}<25$. Умножим на $-2$ (знаки меняются): $10\ge3x-2>-50$, то есть $-48<3x\le12$, $-16<x\le4$. Целые решения $-15,\ldots,4$; сумма наименьшего и наибольшего $-15+4=-11$.`,
|
||
ref: 'Арефьева «Алгебра, 8 кл.», гл. 1, § 6' },
|
||
|
||
{ idx: 19, type: 'open', topic: 'functions', subtopic: 'fn-properties', diff: 3,
|
||
text: R`Функция $y=f(x)$ определена на множестве действительных чисел, точки $A\left(3;-\dfrac23\right)$ и $B\left(6;-\dfrac34\right)$ принадлежат графику данной функции. Найдите значение выражения $6f(-3)+8f(-6)$, если известно, что график функции $y=f(x)$ симметричен относительно оси ординат.`,
|
||
answer: '-10',
|
||
sol: R`График симметричен относительно оси ординат, поэтому функция чётная: $f(-3)=f(3)=-\dfrac23$, $f(-6)=f(6)=-\dfrac34$. Тогда $6\cdot\left(-\dfrac23\right)+8\cdot\left(-\dfrac34\right)=-4-6=-10$.`,
|
||
ref: 'Арефьева «Алгебра, 9 кл.», гл. 2' },
|
||
|
||
{ idx: 20, type: 'open', topic: 'planimetry', subtopic: 'plan-circle', diff: 3,
|
||
text: R`Радиус окружности, вписанной в правильный шестиугольник, равен $7\sqrt3$. Найдите значение выражения $\dfrac{S}{\sqrt3}$, где $S$ — площадь правильного шестиугольника.`,
|
||
answer: '294',
|
||
sol: R`Для правильного шестиугольника радиус вписанной окружности $r=\dfrac{\sqrt3}{2}a$, откуда сторона $a=\dfrac{2r}{\sqrt3}=\dfrac{2\cdot7\sqrt3}{\sqrt3}=14$. Площадь $S=\dfrac{3\sqrt3}{2}a^{2}=\dfrac{3\sqrt3}{2}\cdot196=294\sqrt3$. Тогда $\dfrac{S}{\sqrt3}=294$.`,
|
||
ref: 'Казаков «Геометрия, 9 кл.», гл. 1' },
|
||
|
||
{ idx: 21, type: 'open', topic: 'equations', subtopic: 'eq-logarithmic', diff: 3,
|
||
text: R`Найдите произведение корней уравнения $\log_2^{2}x-2\log_2 x=\log_2 24-\log_2 3$. В ответ запишите найденное произведение, увеличенное в $11$ раз.`,
|
||
answer: '44',
|
||
sol: R`Правая часть $\log_2\dfrac{24}{3}=\log_2 8=3$. Пусть $u=\log_2 x$: $u^{2}-2u-3=0$, $u=3$ или $u=-1$. Тогда $x=8$ или $x=\dfrac12$. Произведение корней $8\cdot\dfrac12=4$; увеличенное в $11$ раз — $44$.`,
|
||
ref: 'Арефьева «Алгебра, 11 кл.», гл. 3, § 9' },
|
||
|
||
{ idx: 22, type: 'open', topic: 'numbers', subtopic: 'num-divisibility', diff: 3,
|
||
text: R`Дана правильная несократимая дробь. При делении её знаменателя на числитель неполное частное равно $8$, а остаток равен $3$. Если числитель дроби увеличить на $75\%$, то полученная дробь будет равна $\dfrac15$. Найдите наименьшее общее кратное числителя и знаменателя исходной дроби.`,
|
||
answer: '140',
|
||
sol: R`Пусть числитель $c$, знаменатель $d$. Тогда $d=8c+3$. Условие $\dfrac{1{,}75c}{d}=\dfrac15$ даёт $d=5\cdot1{,}75c=8{,}75c$. Из $8{,}75c=8c+3$: $0{,}75c=3$, $c=4$, $d=35$. Дробь $\dfrac{4}{35}$; числа $4$ и $35$ взаимно просты, поэтому их наименьшее общее кратное равно $4\cdot35=140$.`,
|
||
ref: 'Герасимов «Математика, 5 кл.», ч. 1, гл. 1' },
|
||
|
||
{ idx: 23, type: 'open', topic: 'stereometry', subtopic: 'ster-rotation', diff: 3,
|
||
text: R`Цилиндр пересечён плоскостью, параллельной оси цилиндра, так, что в сечении получился квадрат площадью $100$. Найдите значение выражения $\dfrac{S}{\pi}$, где $S$ — площадь боковой поверхности цилиндра, если расстояние от оси цилиндра до плоскости сечения равно $\sqrt{39}$.`,
|
||
answer: '160',
|
||
sol: R`Сторона квадрата $10$, поэтому высота цилиндра $h=10$ и хорда сечения равна $10$. Половина хорды $5$, расстояние до оси $\sqrt{39}$, поэтому радиус $r=\sqrt{39+25}=8$. Площадь боковой поверхности $S=2\pi rh=2\pi\cdot8\cdot10=160\pi$. Тогда $\dfrac{S}{\pi}=160$.`,
|
||
ref: 'Латотин «Геометрия, 11 кл.», разд. 1, § 2' },
|
||
|
||
{ idx: 24, type: 'open', topic: 'equations', subtopic: 'eq-exponential', diff: 3,
|
||
text: R`Найдите наименьшее целое решение неравенства $8^{\,2x-32}+10\cdot4^{\,3x-49}>56$.`,
|
||
answer: '17',
|
||
sol: R`$8^{\,2x-32}=2^{\,6x-96}$, $4^{\,3x-49}=2^{\,6x-98}$. Неравенство: $2^{\,6x-98}(2^{2}+10)>56$, $14\cdot2^{\,6x-98}>56$, $2^{\,6x-98}>4=2^{2}$, $6x-98>2$, $x>\dfrac{100}{6}$. Наименьшее целое решение $17$.`,
|
||
ref: 'Арефьева «Алгебра, 11 кл.», гл. 2, § 6' },
|
||
|
||
{ idx: 25, type: 'open', topic: 'trigonometry', subtopic: 'trig-equations', diff: 4,
|
||
text: R`Найдите (в градусах) сумму различных корней уравнения $2\sin3x\cos3x-\sin6x\sin10x=0$ на промежутке $(-150^\circ;-55^\circ)$.`,
|
||
answer: '-567',
|
||
sol: R`$2\sin3x\cos3x=\sin6x$, поэтому $\sin6x(1-\sin10x)=0$. Из $\sin6x=0$: $x=30^\circ n$ — на промежутке корни $-120^\circ,-90^\circ,-60^\circ$. Из $\sin10x=1$: $x=9^\circ+36^\circ n$ — корни $-135^\circ,-99^\circ,-63^\circ$. Сумма всех различных корней: $-120-90-60-135-99-63=-567$.`,
|
||
ref: 'Арефьева «Алгебра, 10 кл.», гл. 1, § 8' },
|
||
|
||
{ idx: 26, type: 'open', topic: 'equations', subtopic: 'eq-logarithmic', diff: 4,
|
||
text: R`Найдите произведение наименьшего целого решения на наибольшее целое решение неравенства $\log_3^{2}(x+12)-\log_3(x+12)-6<0$.`,
|
||
answer: '-154',
|
||
sol: R`Пусть $u=\log_3(x+12)$: $u^{2}-u-6<0$, $(u-3)(u+2)<0$, $-2<u<3$. Тогда $3^{-2}<x+12<3^{3}$, $\dfrac19<x+12<27$, $-11\dfrac89<x<15$. Целые решения от $-11$ до $14$; произведение наименьшего и наибольшего $-11\cdot14=-154$.`,
|
||
ref: 'Арефьева «Алгебра, 11 кл.», гл. 3, § 10' },
|
||
|
||
{ idx: 27, type: 'open', topic: 'stereometry', subtopic: 'ster-polyhedra', diff: 3,
|
||
text: R`Плоскость, параллельная основанию треугольной пирамиды, делит её высоту в отношении $5:3$, если считать от вершины пирамиды. Найдите площадь сечения пирамиды данной плоскостью, если она меньше площади основания пирамиды на $39$.`,
|
||
answer: '25',
|
||
sol: R`Сечение подобно основанию с коэффициентом $\dfrac{5}{5+3}=\dfrac58$, поэтому отношение площадей $\left(\dfrac58\right)^{2}=\dfrac{25}{64}$. Пусть площадь основания $S_0$: $S_0-\dfrac{25}{64}S_0=39$, $\dfrac{39}{64}S_0=39$, $S_0=64$. Площадь сечения $\dfrac{25}{64}\cdot64=25$.`,
|
||
ref: 'Латотин «Геометрия, 10 кл.», разд. 1, § 4' },
|
||
|
||
{ idx: 28, type: 'open', topic: 'equations', subtopic: 'eq-irrational', diff: 3,
|
||
text: R`Найдите сумму корней (корень, если он единственный) уравнения $\sqrt[8]{2x^{2}-20x+32}-\sqrt[8]{76-23x}=0$. В ответ запишите полученный результат, увеличенный в $6$ раз.`,
|
||
answer: '-33',
|
||
sol: R`Уравнение равносильно $2x^{2}-20x+32=76-23x$ при условии $76-23x\ge0$. Получаем $2x^{2}+3x-44=0$, $x=4$ или $x=-\dfrac{11}{2}$. Условие $x\le\dfrac{76}{23}\approx3{,}3$ выполняется только для $x=-\dfrac{11}{2}$. Сумма корней $-\dfrac{11}{2}$; увеличенная в $6$ раз — $-33$.`,
|
||
ref: 'Арефьева «Алгебра, 10 кл.», гл. 2, § 17' },
|
||
|
||
{ idx: 29, type: 'open', topic: 'functions', subtopic: 'fn-derivative', diff: 4,
|
||
text: R`Дана функция $f(x)=-\dfrac{x^{4}}{4}+2x^{3}+10x^{2}+\lg4$. Найдите значение выражения $a\cdot n$, где $a$ — наибольшее целое отрицательное число из промежутков возрастания данной функции, $n$ — количество всех натуральных чисел из промежутков возрастания данной функции.`,
|
||
answer: '-24',
|
||
sol: R`$f'(x)=-x^{3}+6x^{2}+20x=-x\left(x^{2}-6x-20\right)$. Корни $x=0$ и $x=3\pm\sqrt{29}$ ($3-\sqrt{29}\approx-2{,}39$, $3+\sqrt{29}\approx8{,}39$). Функция возрастает на $\left(-\infty;3-\sqrt{29}\right]$ и $\left[0;3+\sqrt{29}\right]$. Наибольшее целое отрицательное из них $a=-3$, натуральные числа из них — $1,\ldots,8$, то есть $n=8$. Тогда $a\cdot n=-24$.`,
|
||
ref: 'Арефьева «Алгебра, 10 кл.», гл. 3, § 20' },
|
||
|
||
{ idx: 30, type: 'open', topic: 'stereometry', subtopic: 'ster-angles-distances', diff: 5,
|
||
text: R`$ABCDA_1B_1C_1D_1$ — прямой параллелепипед, объём которого равен $\dfrac{5\sqrt7}{2}$. Длины сторон $AB$ и $BC$ основания $ABCD$ равны $\sqrt7$ и $\sqrt2$ соответственно, косинус угла $ABC$ равен $-\dfrac{\sqrt{14}}{8}$. На рёбрах $AA_1$ и $A_1B_1$ взяты точки $M$ и $N$ соответственно, такие, что $AM:MA_1=4:1$, $A_1N:NB_1=1:4$. Найдите значение выражения $8\sqrt{66}\cdot\cos\varphi$, где $\varphi$ — угол между прямыми $MN$ и $BC_1$.`,
|
||
answer: '46',
|
||
sol: R`$\sin\angle ABC=\sqrt{1-\dfrac{14}{64}}=\dfrac{5\sqrt2}{8}$, площадь основания $AB\cdot BC\cdot\sin\angle ABC=\sqrt7\cdot\sqrt2\cdot\dfrac{5\sqrt2}{8}=\dfrac{5\sqrt7}{4}$. Из объёма $\dfrac{5\sqrt7}{2}$ высота $AA_1=2$. Введём координаты: $B(0;0;0)$, $C(\sqrt2;0;0)$, $A\left(-\dfrac{7\sqrt2}{8};\dfrac{5\sqrt{14}}{8};0\right)$, вертикаль — ось $z$. Тогда $M=A+(0;0;\tfrac85)$, $N=\left(-\dfrac{7\sqrt2}{10};\dfrac{\sqrt{14}}{2};2\right)$, $\vec{MN}=\left(\dfrac{7\sqrt2}{40};-\dfrac{\sqrt{14}}{8};\dfrac25\right)$, $\vec{BC_1}=(\sqrt2;0;2)$. Тогда $\vec{MN}\cdot\vec{BC_1}=\dfrac{23}{20}$, $|\vec{BC_1}|=\sqrt6$, $|\vec{MN}|=\dfrac{\sqrt{11}}{5}$, поэтому $\cos\varphi=\dfrac{23}{4\sqrt{66}}$ и $8\sqrt{66}\cos\varphi=46$.`,
|
||
ref: 'Латотин «Геометрия, 10 кл.», разд. 2, § 4' },
|
||
];
|
||
|
||
/* ── Сборка solution_html ────────────────────────────────────────────────── */
|
||
function ansShowOf(t) {
|
||
if (t.ansShow != null) return t.ansShow;
|
||
if (t.type === 'mc') return `${t.answer})`;
|
||
return `$${t.answer}$`;
|
||
}
|
||
function buildSolution(t) {
|
||
const ans = ansShowOf(t);
|
||
let html = `${t.sol}<div class="sol-ans">Ответ: ${ans}</div>`;
|
||
if (t.ref) html += `<div class="sol-ref" style="margin-top:6px;font-size:.85em;opacity:.7">Учебник: ${t.ref}</div>`;
|
||
return html;
|
||
}
|
||
|
||
/* ── Самопроверка (повтор логики checkAnswerServer из exam-prep.js) ────────── */
|
||
const EPS = 1e-6;
|
||
function srvToNumber(s) {
|
||
if (s == null) return NaN;
|
||
let t = String(s).trim().replace(/\$/g, '').replace(/\s+/g, '').replace(',', '.');
|
||
const f = t.match(/^(-?\d+(?:\.\d+)?)\s*\/\s*(-?\d+(?:\.\d+)?)$/);
|
||
if (f) { const n = Number(f[1]), d = Number(f[2]); return d === 0 ? NaN : n / d; }
|
||
const n = Number(t); return Number.isFinite(n) ? n : NaN;
|
||
}
|
||
function checkAnswerServer(userInput, canonical) {
|
||
if (userInput == null || canonical == null) return false;
|
||
const c = String(canonical).trim();
|
||
if (/^[а-д]$/.test(c)) return String(userInput).trim().toLowerCase() === c.toLowerCase();
|
||
if (/^[^;]+;[^;]+$/.test(c)) return false;
|
||
const cn = srvToNumber(c), un = srvToNumber(userInput);
|
||
if (Number.isNaN(cn) || Number.isNaN(un)) return false;
|
||
return Math.abs(cn - un) < EPS;
|
||
}
|
||
|
||
/* ── Валидация набора ──────────────────────────────────────────────────────── */
|
||
const problems = [];
|
||
if (TASKS.length !== 30) problems.push(`Ожидалось 30 заданий, получено ${TASKS.length}`);
|
||
const seen = new Set();
|
||
for (const t of TASKS) {
|
||
if (seen.has(t.idx)) problems.push(`Дубль task_idx=${t.idx}`); seen.add(t.idx);
|
||
if (t.idx < 1 || t.idx > 30) problems.push(`task_idx вне 1..30: ${t.idx}`);
|
||
if (!['mc', 'open', 'long'].includes(t.type)) problems.push(`#${t.idx}: тип ${t.type}`);
|
||
if (t.type === 'mc') {
|
||
if (!Array.isArray(t.opts) || t.opts.length !== 5) problems.push(`#${t.idx}: mc должен иметь 5 вариантов`);
|
||
if (!t.opts.some(o => o[0] === t.answer)) problems.push(`#${t.idx}: answer "${t.answer}" не среди меток`);
|
||
}
|
||
if (!t.text || !t.sol) problems.push(`#${t.idx}: пустой text/sol`);
|
||
if (t.type !== 'long' && !checkAnswerServer(t.answer, t.answer))
|
||
problems.push(`#${t.idx}: answer "${t.answer}" не проходит self-check (Unicode-минус? пробел?)`);
|
||
if (/−/.test(String(t.answer))) problems.push(`#${t.idx}: Unicode-минус в answer`);
|
||
}
|
||
|
||
/* ── Экспорт для тестов/тиража (без запуска main при require) ──────────────── */
|
||
module.exports = { TASKS, buildSolution, ansShowOf, checkAnswerServer, EXAM, VARIANT, PROV };
|
||
if (require.main !== module) return;
|
||
|
||
/* ── Открытие БД ───────────────────────────────────────────────────────────── */
|
||
const DB = path.join(__dirname, '..', 'data', 'learnspace.db');
|
||
const db = new DatabaseSync(DB);
|
||
|
||
const track = db.prepare(`SELECT exam_key, variants_count FROM exam_tracks WHERE exam_key=?`).get(EXAM);
|
||
if (!track) { console.error(`✗ Трек '${EXAM}' не найден в exam_tracks. Прерывание.`); process.exit(1); }
|
||
|
||
/* ── DRY-RUN сводка ────────────────────────────────────────────────────────── */
|
||
console.log(`\n=== seed_ctmath_ce2024_v1 (${PROV}) variant=${VARIANT} ===`);
|
||
console.log(`Режим: ${APPLY ? 'APPLY (запись)' : 'DRY-RUN (только проверка)'}\n`);
|
||
|
||
const byType = TASKS.reduce((a, t) => (a[t.type] = (a[t.type] || 0) + 1, a), {});
|
||
console.log('Типы:', JSON.stringify(byType), '\n');
|
||
|
||
console.log('idx | type | subtopic | d | answer');
|
||
console.log('----+------+-----------------------+---+----------');
|
||
for (const t of TASKS) {
|
||
console.log(`${String(t.idx).padStart(3)} | ${t.type.padEnd(4)} | ${String(t.subtopic).padEnd(21)} | ${t.diff} | ${String(t.answer)}`);
|
||
}
|
||
|
||
if (problems.length) {
|
||
console.error(`\n✗ ПРОБЛЕМЫ (${problems.length}):`);
|
||
problems.forEach(p => console.error(' - ' + p));
|
||
console.error('\nЗапись отменена из-за ошибок валидации.');
|
||
db.close();
|
||
process.exit(1);
|
||
}
|
||
console.log('\n✓ Валидация и self-check ответов пройдены (30/30).');
|
||
|
||
/* ── APPLY: upsert ─────────────────────────────────────────────────────────── */
|
||
if (!APPLY) {
|
||
console.log('\nDRY-RUN: ничего не записано. Для записи: node backend/scripts/seed_ctmath_ce2024_v1.js --apply\n');
|
||
db.close();
|
||
process.exit(0);
|
||
}
|
||
|
||
const upsert = db.prepare(`
|
||
INSERT INTO exam_tasks
|
||
(exam_key, variant, task_idx, task_type, text_html, figure_html,
|
||
opts_json, answer, solution_html, topic, subtopic, difficulty)
|
||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||
ON CONFLICT(exam_key, variant, task_idx) DO UPDATE SET
|
||
task_type = excluded.task_type,
|
||
text_html = excluded.text_html,
|
||
figure_html = excluded.figure_html,
|
||
opts_json = excluded.opts_json,
|
||
answer = excluded.answer,
|
||
solution_html = excluded.solution_html,
|
||
topic = excluded.topic,
|
||
subtopic = excluded.subtopic,
|
||
difficulty = excluded.difficulty
|
||
`);
|
||
|
||
let n = 0;
|
||
db.exec('BEGIN');
|
||
try {
|
||
for (const t of TASKS) {
|
||
upsert.run(
|
||
EXAM, VARIANT, t.idx, t.type,
|
||
t.text,
|
||
t.fig || null,
|
||
t.type === 'mc' ? JSON.stringify(t.opts) : null,
|
||
t.answer,
|
||
buildSolution(t),
|
||
t.topic, t.subtopic, t.diff
|
||
);
|
||
n++;
|
||
}
|
||
const distinct = db.prepare(`SELECT COUNT(DISTINCT variant) c FROM exam_tasks WHERE exam_key=? AND variant BETWEEN 101 AND 1999`).get(EXAM).c;
|
||
db.prepare(`UPDATE exam_tracks SET variants_count=? WHERE exam_key=?`).run(distinct, EXAM);
|
||
db.exec('COMMIT');
|
||
console.log(`\n✓ Записано/обновлено ${n} заданий (variant=${VARIANT}).`);
|
||
console.log(`✓ exam_tracks.variants_count = ${distinct} (различных вариантов).`);
|
||
console.log(`\nПробник доступен: /exam-prep/ctmath → «Варианты» → «ЦЭ-2024».\n`);
|
||
} catch (e) {
|
||
db.exec('ROLLBACK');
|
||
console.error('\n✗ Ошибка записи, откат транзакции:', e.message);
|
||
process.exitCode = 1;
|
||
}
|
||
db.close();
|