feat(trainer): C — расширение «Многоугольники» и «Подобие» (+6)
Многоугольники (5→8): - poly-triangles-count — на (n−2) треугольника из одной вершины, с чертежом (L1). - poly-diag-from-vertex — n−3 диагонали из вершины, с чертежом (L1). - poly-find-n-by-sum — число сторон по сумме углов (инверс, без чертежа) (L3). Подобие (6→9): - sim-midline — средняя линия треугольника = половина основания (L1). - sim-area-scale — площадь подобной через k² (L2). - sim-shadow — высота по тени (подобные треугольники), бытовой сюжет (L2). Все с пошаговыми решениями. Смоук 5647 ассертов, 0 ошибок (self-check, приём ответа, LaTeX-рендер, фигуры, нет остаточного x при answerSym). Итого 222. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -830,6 +830,52 @@
|
||||
]
|
||||
},
|
||||
|
||||
/* на сколько треугольников делится n-угольник диагоналями из одной вершины */
|
||||
{
|
||||
id: 'poly-triangles-count', topic: 'g-poly', order: 3, subject: 'geometry', grade: 8, kind: 'compute',
|
||||
title: 'Треугольники в многоугольнике',
|
||||
figure: { type: 'regular-polygon', n: 'n' },
|
||||
figurePrompt: 'На сколько треугольников разбивают многоугольник диагонали из одной вершины?',
|
||||
pick: { n: [4, 12] }, derive: { val: 'n - 2' },
|
||||
lhs: 'x', rhs: '{n} - 2', display: 'На сколько треугольников разбивается выпуклый {n}-угольник диагоналями из одной вершины?',
|
||||
answerVar: 'x', answer: 'val', integerAnswer: true,
|
||||
solution: [
|
||||
{ note: 'Из одной вершины проводят все диагонали — многоугольник делится на (n − 2) треугольника.', tex: 'x = n - 2' },
|
||||
{ note: 'Подставляем n = {n}.', tex: 'x = {n} - 2' },
|
||||
{ note: 'Считаем.', tex: 'x = {ans}' }
|
||||
]
|
||||
},
|
||||
|
||||
/* число диагоналей из одной вершины = n − 3 */
|
||||
{
|
||||
id: 'poly-diag-from-vertex', topic: 'g-poly', order: 4, subject: 'geometry', grade: 8, kind: 'compute',
|
||||
title: 'Диагонали из одной вершины',
|
||||
figure: { type: 'regular-polygon', n: 'n' },
|
||||
figurePrompt: 'Сколько диагоналей выходит из одной вершины этого многоугольника?',
|
||||
pick: { n: [4, 12] }, derive: { val: 'n - 3' },
|
||||
lhs: 'x', rhs: '{n} - 3', display: 'Сколько диагоналей можно провести из одной вершины выпуклого {n}-угольника?',
|
||||
answerVar: 'x', answer: 'val', integerAnswer: true,
|
||||
solution: [
|
||||
{ note: 'Из вершины нельзя провести диагональ в неё саму и в две соседние — остаётся (n − 3) вершины.', tex: 'x = n - 3' },
|
||||
{ note: 'Подставляем n = {n}.', tex: 'x = {n} - 3' },
|
||||
{ note: 'Считаем.', tex: 'x = {ans}' }
|
||||
]
|
||||
},
|
||||
|
||||
/* число сторон по сумме углов (инверс) */
|
||||
{
|
||||
id: 'poly-find-n-by-sum', topic: 'g-poly', order: 5, subject: 'geometry', grade: 8, kind: 'compute',
|
||||
title: 'Число сторон по сумме углов',
|
||||
pick: { n: [3, 14] }, derive: { S: '180*(n - 2)', val: 'n' },
|
||||
lhs: 'x', rhs: '{S}/180 + 2', display: 'Сумма углов выпуклого многоугольника равна {S}°. Сколько у него сторон?',
|
||||
answerVar: 'x', answer: 'val', integerAnswer: true,
|
||||
solution: [
|
||||
{ note: 'Сумма углов равна 180°·(n − 2). Отсюда n − 2 = сумма ÷ 180.', tex: 'n - 2 = {S}/180' },
|
||||
{ note: 'Находим n: прибавляем 2.', tex: 'x = {S}/180 + 2' },
|
||||
{ note: 'Получаем число сторон.', tex: 'x = {ans}' }
|
||||
]
|
||||
},
|
||||
|
||||
/* ═══ Тема: Подобие (геометрия, 8 класс) ═══ */
|
||||
|
||||
/* сходственная сторона по коэффициенту подобия */
|
||||
@@ -864,6 +910,48 @@
|
||||
]
|
||||
},
|
||||
|
||||
/* средняя линия треугольника = половина основания */
|
||||
{
|
||||
id: 'sim-midline', topic: 'g-sim', order: 3, subject: 'geometry', grade: 8, kind: 'compute',
|
||||
title: 'Средняя линия треугольника', answerSym: 'm',
|
||||
pick: { h: [2, 15] }, derive: { a: 'h*2', val: 'h' },
|
||||
lhs: 'x', rhs: '{a}/2', display: 'Основание треугольника равно {a}. Найдите среднюю линию, параллельную основанию.',
|
||||
answerVar: 'x', answer: 'val', integerAnswer: true,
|
||||
solution: [
|
||||
{ note: 'Средняя линия треугольника параллельна основанию и равна его половине.', tex: 'm = a/2' },
|
||||
{ note: 'Подставляем основание {a}.', tex: 'x = {a}/2' },
|
||||
{ note: 'Считаем.', tex: 'x = {ans}' }
|
||||
]
|
||||
},
|
||||
|
||||
/* площадь подобной фигуры через k² */
|
||||
{
|
||||
id: 'sim-area-scale', topic: 'g-sim', order: 4, subject: 'geometry', grade: 8, kind: 'compute',
|
||||
title: 'Площадь подобной фигуры', answerSym: 'S',
|
||||
pick: { s: [2, 12], k: [2, 4] }, derive: { val: 's*k*k', k2: 'k*k' },
|
||||
lhs: 'x', rhs: '{s}*{k}*{k}', display: 'Фигуры подобны с коэффициентом {k}. Площадь первой равна {s}. Найдите площадь второй.',
|
||||
answerVar: 'x', answer: 'val', integerAnswer: true,
|
||||
solution: [
|
||||
{ note: 'Площади подобных фигур относятся как квадрат коэффициента подобия.', tex: 'S = s*k^2' },
|
||||
{ note: 'Коэффициент {k}, значит площадь умножаем на {k}² = {k2}.', tex: 'x = {s}*{k2}' },
|
||||
{ note: 'Считаем.', tex: 'x = {ans}' }
|
||||
]
|
||||
},
|
||||
|
||||
/* высота по тени (подобие) */
|
||||
{
|
||||
id: 'sim-shadow', topic: 'g-sim', order: 5, subject: 'geometry', grade: 8, kind: 'compute',
|
||||
title: 'Высота по тени', answerSym: 'H',
|
||||
pick: { h: [1, 3], t: [1, 4], r: [2, 6] }, derive: { T: 't*r', val: 'h*r' },
|
||||
lhs: 'x', rhs: '{h}*{T}/{t}', display: 'Столб высотой {h} м даёт тень {t} м. В тот же момент дерево даёт тень {T} м. Найдите высоту дерева (в метрах).',
|
||||
answerVar: 'x', answer: 'val', integerAnswer: true,
|
||||
solution: [
|
||||
{ note: 'Предметы и их тени образуют подобные треугольники: высота относится к тени одинаково.', tex: 'H/T = h/t' },
|
||||
{ note: 'Отсюда высота дерева = высота столба × (тень дерева ÷ тень столба).', tex: 'x = {h}*{T}/{t}' },
|
||||
{ note: 'Считаем.', tex: 'x = {ans}' }
|
||||
]
|
||||
},
|
||||
|
||||
/* ═══ Тема: Дроби (5–6 класс) ═══
|
||||
kind:'compute'; ответ может быть дробным — ученик вводит «3/4» (SimExpr посчитает). */
|
||||
|
||||
@@ -3483,6 +3571,8 @@
|
||||
'area-parallelogram': 2, 'area-trapezoid': 3, 'area-rhombus': 2,
|
||||
// Геометрия — Многоугольники / Подобие
|
||||
'poly-angles-sum': 1, 'poly-regular-angle': 2, 'sim-side': 1, 'sim-perimeter': 2,
|
||||
'poly-triangles-count': 1, 'poly-diag-from-vertex': 1, 'poly-find-n-by-sum': 3,
|
||||
'sim-midline': 1, 'sim-area-scale': 2, 'sim-shadow': 2,
|
||||
// Геометрия — Окружность
|
||||
'circ-length': 1, 'circ-diam': 1, 'circ-area': 2, 'circ-arc': 3,
|
||||
// V4.1 — Линейные: новые формы
|
||||
|
||||
Reference in New Issue
Block a user