feat(trainer): V4.1 группа 1 — 15 новых линейных генераторов (уравнения/неравенства/системы)
Реализована первая волна плана v4 (разнообразие задач по темам). Все «корень-вперёд»,
ответы чистые целые, подробные пошаговые решения, без правок страницы.
Уравнения (linear-eq): lin-both-frac (с делением на a−c≥2), lin-x-denom (a/(x+b)=c),
lin-k-over-x (k/x=c), lin-abs (|ax+b|=c, два корня, kind roots), lin-frac-eq-frac
(дробь=дробь крест-накрест), lin-nested-paren (вложенные скобки), lin-literal (ax+b=mx,
«выразите x»).
Неравенства (inequalities): ineq-both-sides (ax+b<cx+d), ineq-both-flip (смена знака,
c>a), ineq-paren (a(x+b)>c), ineq-count-int (число целых решений lo<x≤hi — двойное
неравенство через compute, обход ограничения одной полупрямой).
Системы (systems): sys-sum-diff (x+y=S, x−y=D), sys-subst (подстановка y=mx+k),
sys-word (текстовая на 2 неизвестных), sys-3x3 (3×3 тизер, answerVars длины 3).
Движок: минимальная аддитивная правка — kind system теперь показывает gen.display
(сюжетную формулировку), если он задан, вместо \begin{cases} (только для sys-word;
существующие sys-2x2/neg без display не затронуты). Итого 79 генераторов.
Верификация: смоук 8314 проверок — каждый генератор инстанцируется по сидам,
самопроверяется, принимает канонический ответ и отвергает неверный, ВСЕ шаги решения
рендерятся в LaTeX; геометрия не задета (6968/0).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -354,7 +354,7 @@
|
||||
latex = exprToLatex(render(gen.srcExpr, env));
|
||||
} else if (kind === 'inequality') {
|
||||
latex = exprToLatex(lhsExpr + ' ' + (gen.dispOp || '<') + ' ' + rhsExpr);
|
||||
} else if (kind === 'system' && system) {
|
||||
} else if (kind === 'system' && system && !gen.display) {
|
||||
var rows = [], okrows = true;
|
||||
for (var si2 = 0; si2 < system.length; si2++) {
|
||||
var l2 = exprToLatex(system[si2].lhs), r2 = exprToLatex(system[si2].rhs);
|
||||
@@ -373,7 +373,9 @@
|
||||
figurePrompt: gen.figurePrompt || null, // краткое условие для режима «читать с чертежа»
|
||||
lhsExpr: lhsExpr,
|
||||
rhsExpr: rhsExpr,
|
||||
display: (kind === 'system' && system)
|
||||
// система: по умолчанию показываем сами уравнения; но если задан gen.display
|
||||
// (текстовая/сюжетная формулировка) — показываем его (ученик сам составляет систему).
|
||||
display: (kind === 'system' && system && !gen.display)
|
||||
? system.map(function (e) { return prettyMath(e.lhs + ' = ' + e.rhs); }).join('; ')
|
||||
: prettyMath(render(gen.display || (gen.lhs + (kind === 'inequality' ? (' ' + (gen.dispOp || '<') + ' ') : ' = ') + gen.rhs), env)),
|
||||
latex: latex,
|
||||
|
||||
Reference in New Issue
Block a user