feat(trainer): контент 5-6 кл — десятичные дроби + отрицательные числа
- НОВАЯ тема Десятичные (5 кл): сложение/вычитание/умножение десятичных. Строятся через десятые/сотые (целые ÷10, ÷100) → ответ печатается чисто, без float-мусора (0.8, 0.07, 0.16) - НОВАЯ тема Отрицательные (6 кл): сумма/разность/произведение с отрицательными. Словесные формулировки («Найдите сумму чисел -8 и 9», «Из числа 6 вычтите -12») — без двусмысленных операторов; constraint гарантирует хотя бы одно отрицательное - всё kind compute (движок не трогал); LEVELS проставлены - 58 генераторов, 19 тем; смоук движка 1114/1114, страница 40/40; эмодзи 0 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -33,6 +33,8 @@
|
||||
{ key: 'quadratic', label: 'Квадратные', subject: 'algebra', grade: 8, order: 9 },
|
||||
{ key: 'progressions', label: 'Прогрессии', subject: 'algebra', grade: 9, order: 10 },
|
||||
{ key: 'fractions', label: 'Дроби', subject: 'algebra', grade: 5, order: 1.5 },
|
||||
{ key: 'decimals', label: 'Десятичные', subject: 'algebra', grade: 5, order: 1.6 },
|
||||
{ key: 'negatives', label: 'Отрицательные', subject: 'algebra', grade: 6, order: 1.7 },
|
||||
{ key: 'applied', label: 'Задачи', subject: 'algebra', grade: 7, order: 11 },
|
||||
{ key: 'g-angles', label: 'Углы', subject: 'geometry', grade: 7, order: 12 },
|
||||
{ key: 'g-pyth', label: 'Пифагор', subject: 'geometry', grade: 8, order: 13 },
|
||||
@@ -829,6 +831,90 @@
|
||||
{ note: 'При одинаковом знаменателе складываем числители, знаменатель оставляем:', tex: 'x = ({a} + {b})/{n}' },
|
||||
{ note: 'Получаем значение:', tex: 'x = {ans}' }
|
||||
]
|
||||
},
|
||||
|
||||
/* ═══ Тема: Десятичные дроби (5 класс) ═══
|
||||
Строим через десятые/сотые (целые ÷10, ÷100) → ответ печатается чисто. */
|
||||
|
||||
/* сложение десятичных */
|
||||
{
|
||||
id: 'dec-add', topic: 'decimals', order: 1, subject: 'algebra', grade: 5, kind: 'compute',
|
||||
title: 'Сложение десятичных',
|
||||
pick: { a: [1, 9], b: [1, 9] }, derive: { da: 'a/10', db: 'b/10', val: '(a + b)/10' },
|
||||
lhs: 'x', rhs: '({a} + {b})/10', display: 'Вычислите {da} + {db}.',
|
||||
answerVar: 'x', answer: 'val',
|
||||
solution: [
|
||||
{ note: 'Складываем десятичные дроби поразрядно (запятая под запятой):', tex: 'x = {da} + {db}' },
|
||||
{ note: 'Получаем:', tex: 'x = {ans}' }
|
||||
]
|
||||
},
|
||||
|
||||
/* вычитание десятичных */
|
||||
{
|
||||
id: 'dec-sub', topic: 'decimals', order: 2, subject: 'algebra', grade: 5, kind: 'compute',
|
||||
title: 'Вычитание десятичных',
|
||||
pick: { a: [2, 9], b: [1, 8] }, constraint: 'a > b', derive: { da: 'a/10', db: 'b/10', val: '(a - b)/10' },
|
||||
lhs: 'x', rhs: '({a} - {b})/10', display: 'Вычислите {da} − {db}.',
|
||||
answerVar: 'x', answer: 'val',
|
||||
solution: [
|
||||
{ note: 'Вычитаем десятичные дроби поразрядно:', tex: 'x = {da} - {db}' },
|
||||
{ note: 'Получаем:', tex: 'x = {ans}' }
|
||||
]
|
||||
},
|
||||
|
||||
/* умножение десятичных */
|
||||
{
|
||||
id: 'dec-mult', topic: 'decimals', order: 3, subject: 'algebra', grade: 5, kind: 'compute',
|
||||
title: 'Умножение десятичных',
|
||||
pick: { a: [1, 9], b: [1, 9] }, derive: { da: 'a/10', db: 'b/10', val: '(a*b)/100' },
|
||||
lhs: 'x', rhs: '({a}*{b})/100', display: 'Вычислите {da} · {db}.',
|
||||
answerVar: 'x', answer: 'val',
|
||||
solution: [
|
||||
{ note: 'Перемножаем без запятых как целые, затем отделяем 2 знака после запятой (по сумме знаков у множителей):', tex: 'x = {da} * {db}' },
|
||||
{ note: 'Получаем:', tex: 'x = {ans}' }
|
||||
]
|
||||
},
|
||||
|
||||
/* ═══ Тема: Отрицательные числа (6 класс) ═══
|
||||
Словесные формулировки — без двусмысленных операторов в условии. */
|
||||
|
||||
/* сумма с отрицательными */
|
||||
{
|
||||
id: 'neg-add', topic: 'negatives', order: 1, subject: 'algebra', grade: 6, kind: 'compute',
|
||||
title: 'Сумма (отрицательные)',
|
||||
pick: { a: [-12, 12], b: [-12, 12] }, constraint: 'a != 0 && b != 0 && (a < 0 || b < 0)', derive: { val: 'a + b' },
|
||||
lhs: 'x', rhs: '{a} + {b}', display: 'Найдите сумму чисел {a} и {b}.',
|
||||
answerVar: 'x', answer: 'val', integerAnswer: true,
|
||||
solution: [
|
||||
{ note: 'Складываем с учётом знаков: при одинаковых знаках складываем модули; при разных — из большего модуля вычитаем меньший и ставим знак большего:', tex: 'x = {a} + {b}' },
|
||||
{ note: 'Получаем:', tex: 'x = {ans}' }
|
||||
]
|
||||
},
|
||||
|
||||
/* разность с отрицательными */
|
||||
{
|
||||
id: 'neg-sub', topic: 'negatives', order: 2, subject: 'algebra', grade: 6, kind: 'compute',
|
||||
title: 'Разность (отрицательные)',
|
||||
pick: { a: [-12, 12], b: [-12, 12] }, constraint: 'a != 0 && b != 0 && (a < 0 || b < 0)', derive: { val: 'a - b' },
|
||||
lhs: 'x', rhs: '{a} - ({b})', display: 'Из числа {a} вычтите {b}.',
|
||||
answerVar: 'x', answer: 'val', integerAnswer: true,
|
||||
solution: [
|
||||
{ note: 'Вычесть число — значит прибавить ему противоположное:', tex: 'x = {a} - ({b})' },
|
||||
{ note: 'Получаем:', tex: 'x = {ans}' }
|
||||
]
|
||||
},
|
||||
|
||||
/* произведение с отрицательными */
|
||||
{
|
||||
id: 'neg-mult', topic: 'negatives', order: 3, subject: 'algebra', grade: 6, kind: 'compute',
|
||||
title: 'Произведение (отрицательные)',
|
||||
pick: { a: [-9, 9], b: [-9, 9] }, constraint: 'a != 0 && b != 0 && (a < 0 || b < 0)', derive: { val: 'a*b' },
|
||||
lhs: 'x', rhs: '{a}*{b}', display: 'Найдите произведение чисел {a} и {b}.',
|
||||
answerVar: 'x', answer: 'val', integerAnswer: true,
|
||||
solution: [
|
||||
{ note: 'Перемножаем модули; знак минус — если множители разных знаков, плюс — если одинаковых:', tex: 'x = {a}*{b}' },
|
||||
{ note: 'Получаем:', tex: 'x = {ans}' }
|
||||
]
|
||||
}
|
||||
|
||||
];
|
||||
@@ -869,8 +955,10 @@
|
||||
'area-parallelogram': 2, 'area-trapezoid': 3, 'area-rhombus': 2,
|
||||
// Геометрия — Многоугольники / Подобие
|
||||
'poly-angles-sum': 1, 'poly-regular-angle': 2, 'sim-side': 1, 'sim-perimeter': 2,
|
||||
// Дроби
|
||||
'frac-of-number': 1, 'frac-add-same': 2
|
||||
// Дроби / Десятичные / Отрицательные
|
||||
'frac-of-number': 1, 'frac-add-same': 2,
|
||||
'dec-add': 1, 'dec-sub': 1, 'dec-mult': 2,
|
||||
'neg-add': 1, 'neg-sub': 2, 'neg-mult': 2
|
||||
};
|
||||
GENERATORS.forEach(function (g) { g.level = LEVELS[g.id] || 1; });
|
||||
|
||||
|
||||
Reference in New Issue
Block a user