Files
Learn_System/plans/textbooks-11/PLAN_ALGEBRA_11.md
T
Maxim Dolgolyov 5381679c68 chore: консолидация незакоммиченной работы (биохимия + System Health + lab/textbooks)
Зафиксирована накопленная незакоммиченная работа рабочего дерева, КРОМЕ файлов
учебника «Химия 7» (migration 046, chemistry_7_*.html, chem7_svg.js, тест —
оставлены незакоммиченными по запросу).

Включает: модуль биохимии (ядро BIO, 3D VSEPR, химдвижок, баланс, challenges,
пути из БД), System Health Level 1 (вердикт/мониторинг), а также frontend-
страницы и lab/textbooks-правки параллельной сессии.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 18:12:55 +03:00

252 lines
18 KiB
Markdown
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.
# План реализации: Алгебра 11 (Беларусь, Арефьева/Пирютко, 2020)
**Источник:** `Algebra_11kl_Arefieva_rus_2020.pdf` (276 стр., 3 главы, 10 §)
**Авторы:** И. Г. Арефьева, О. Н. Пирютко
**Издательство:** «Народная асвета», 2020
> Этот план учитывает **весь опыт Алгебры 9 + Геометрии 9** — никаких пикселей в подписях, никаких эмодзи, KaTeX с двойным экранированием с первого дня, единая SVG-инфраструктура, продуманный UX.
---
## 🎯 Содержание учебника
### Глава 1. Обобщение понятия степени (§1–§3)
| § | Тема | Ключевые формулы |
|---|------|------------------|
| §1 | Степень с рациональным/действительным показателем | $a^{m/n} = \sqrt[n]{a^m}$, свойства, $a^{\sqrt{2}}$ через приближения |
| §2 | Степенная функция $y = x^\alpha$ и её свойства | 6 типов в зависимости от $\alpha$ |
| §3 | Определение логарифма. Основное логарифмическое тождество | $\log_a b = c \Leftrightarrow a^c = b$, $a^{\log_a b} = b$ |
### Глава 2. Показательная функция (§4–§6)
| § | Тема | Ключевые формулы |
|---|------|------------------|
| §4 | Показательная функция $y = a^x$ | $D=\mathbb{R}$, $E=(0;+\infty)$, при $a>1$ возрастает, при $0<a<1$ убывает |
| §5 | Показательные уравнения | $a^{f(x)} = a^{g(x)} \Leftrightarrow f(x)=g(x)$, методы: одинак. основание, замена, графический |
| §6 | Показательные неравенства | При $a>1$ знак сохраняется, при $0<a<1$ — меняется |
### Глава 3. Логарифмическая функция (§7–§10)
| § | Тема | Ключевые формулы |
|---|------|------------------|
| §7 | Свойства логарифмов | $\log_a(bc)$, $\log_a(b/c)$, $\log_a b^n$, переход к новому основанию |
| §8 | Логарифмическая функция $y = \log_a x$. Свойства | $D=(0;+\infty)$, $E=\mathbb{R}$, обратная к показательной |
| §9 | Логарифмические уравнения | $\log_a f(x) = \log_a g(x)$, замена, ОДЗ, метод приведения к одному основанию |
| §10 | Логарифмические неравенства | Двойной учёт монотонности и ОДЗ |
**Итого: 10 параграфов в 3 главах.**
---
## 🎨 SVG-СТАНДАРТ КАЧЕСТВА (унаследовано от Геом 9)
### Хелперы (обязательны с §1)
Вынести в начало `<script>` каждого ch-файла. Уже работают в Алгебре 9 — копируем 1-в-1:
```js
// 1. Координатная плоскость
function axes2D(W, H, pad, xmin, xmax, ymin, ymax){
// Возвращает {content, toX(v), toY(v), ux, uy}
}
// 2. График функции y = f(x)
function plotFunc(f, xmin, xmax, toX, toY, color, N){
// Возвращает <path d="..."/>
}
// 3. Маркер прямого угла L
function rightAngleMark(V, uIn, wIn, s) { /* polyline */ }
// 4. Дуга угла с автовыбором sweep
function angleArcAuto(V, uA, uB, R) { /* path */ }
// 5. Единичный вектор от p1 до p2
function unitVec(p1, p2) { /* {x, y} */ }
// 6. deg → rad
function deg2rad(d) { return d * Math.PI / 180; }
```
### Новые хелперы для Алгебры 11
```js
// 7. Точка на графике с проекциями на оси
function pointWithDrop(x, f, toX, toY, color) {
// Возвращает SVG: точка + пунктир к оси X + пунктир к оси Y + подписи координат
}
// 8. Асимптота (для y=a^x: y=0; для y=log_a x: x=0)
function asymptote(orientation, value, toX, toY, xmin, xmax, ymin, ymax) {
// orientation: 'h' (y=value) | 'v' (x=value)
// Возвращает <line stroke-dasharray="6 4">
}
// 9. Сравнительный график двух функций (для a>1 vs 0<a<1)
function compareGraph(W, H, fLeft, fRight, labels) {
// Двухпанельный SVG с одинаковыми осями
}
// 10. Слайдер с эталонными метками (a=1/2, 1, e, 2, 10)
function snapSlider(value, snaps, tolerance) {
// Snap к ближайшей эталонной точке при касании
}
// 11. Логарифмическая линейка-визуализатор (для §7)
function logScale(W, base, vals) {
// Шкала log_a, проецирующая b на a^x = b
}
```
### Правила (обязательны с §1)
1. **Координаты — ВСЕГДА через `axes2D` + `toX`/`toY`.** Никаких сырых пикселей в коде графиков.
2. **Диапазоны slider'ов — в учебных единицах**, не в пикселях. Пример: `min="0.1" max="10" step="0.1"` для $a$, не `min="40" max="150"`.
3. **Snap-точки** для важных значений: $a=2, e (\approx 2.718), 10, 1/2, 1/e, 1/10$.
4. **KaTeX в JS template literals — ВСЕГДА `\\dfrac`, `\\log`, `\\sqrt`** (двойной слэш).
5. **Подписи на графиках** через KaTeX + `renderMath(box)` после `box.innerHTML`.
6. **Цветовая кодировка:**
- При $a > 1$ — **синий** (`#2563eb`)
- При $0 < a < 1$ — **оранжевый** (`#ea580c`)
- Граничный случай $a = 1$ — серый (`#94a3b8`)
- Асимптоты — серый пунктир (`#94a3b8`, `stroke-dasharray="6 4"`)
7. **ViewBox с запасом ≥ 24px** для подписей вне сетки.
8. **`touch-action: none`** на каждом draggable SVG.
9. **Drag через `window.addEventListener` + `{passive: false}`**, state ВЫШЕ `redraw()`.
10. **Эмодзи ЗАПРЕЩЕНЫ.** Только inline SVG `.ic`.
11. **Подписи длин/значений — в учебных единицах**, не в пикселях. Никогда `b₁ = 120` где 120 это пиксели.
12. **Заголовок интерактива должен СОВПАДАТЬ** с количеством объектов в SVG. Не «Три эталонных треугольника», когда нарисовано два.
### Типы SVG по темам
| § | Тема | Тип SVG |
|---|------|---------|
| §1 | Степень с рац. показателем | Slider $a$ + табло «$a^{m/n}$ = $\sqrt[n]{a^m}$» с реальной подстановкой. Калькулятор степени без графики. |
| §2 | Степенная функция $y=x^\alpha$ | **Координатная плоскость** + slider $\alpha \in [-3; 3]$, точка $\alpha=1$ — прямая, $\alpha=2$ — парабола, $\alpha=-1$ — гипербола. **6 эталонных кривых на одном графике** с включаемой видимостью. |
| §3 | Определение логарифма | **Slider $a$ + slider $b$**, точка пересечения $y = a^x$ с горизонталью $y = b$ показывает $\log_a b$. Анимированный поиск. |
| §4 | Показательная функция | **Двухпанельный график** $a > 1$ vs $0 < a < 1$, slider $a$ от $0.1$ до $10$ со snap к $2, e, 10$. Асимптота $y=0$ пунктиром. Точка $(0, 1)$, $(1, a)$ — выделена. |
| §5 | Показательные уравнения | **Графический решатель**: два графика $y = a^{f(x)}$, $y = a^{g(x)}$, точки пересечения. Также пошаговый разбор алгебраического решения. |
| §6 | Показательные неравенства | **Числовая прямая** + закрашенная область решений + сравнение с осью при $a>1$ и $a<1$. |
| §7 | Свойства логарифмов | **Логарифмическая линейка** — slider $b$, $c$ показывает, что $\log(bc)$ это сумма длин. |
| §8 | Логарифмическая функция | **Двухпанельный график** $a > 1$ vs $0 < a < 1$ + отражение $y = a^x$ через $y = x$ (показать обратность). |
| §9 | Логарифмические уравнения | **Графический решатель** + анимация ОДЗ (выколотые точки на оси x). |
| §10 | Логарифмические неравенства | **Числовая прямая** с учётом ОДЗ + монотонности. |
---
## 🚀 ПОРЯДОК РЕАЛИЗАЦИИ
### Phase 0: Архитектура (фундамент)
- `algebra_11_hub.html` skeleton (палитра **emerald/teal**, чтобы отличить от algebra_7 розовой, algebra_9 индиго)
- `algebra_11_ch1.html`, `_ch2.html`, `_ch3.html` skeletons
- Миграция `022_algebra_11_hub.sql` (slug `algebra-11`, sort_order 9)
- SVG-хелперы (axes2D, plotFunc, pointWithDrop, asymptote, compareGraph) уже встроены в skeleton
- KaTeX CDN + auto-render в head
- CSS-блок «POLISH» (анимации появления, hover, bump-score) — копия из Геом 9
- ICONS объект целиком из algebra_9_ch4
### Phase 1: Алгебра 11 Глава 1 «Обобщение степени» (3 §) — 3 волны
- **Wave 1**: §1 «Степень с рац. показателем». 3 теории + 4 интерактива (slider $a^{m/n}$, калькулятор, DnD «корень↔степень», тренажёр).
- **Wave 2**: §2 «Степенная функция $y=x^\alpha$». 6 типов графиков на одном координатном поле, slider $\alpha$, цветовая кодировка чёт./нечёт./дробн./отриц.
- **Wave 3**: §3 «Определение логарифма». Slider $a$, slider $b$, визуализация $\log_a b$ через пересечение $y = a^x$ и $y = b$. + Финал главы 1 (4 mini-карточки + 5 боссов + ачивка «Магистр степеней»).
### Phase 2: Алгебра 11 Глава 2 «Показательная функция» (3 §) — 3 волны
- **Wave 1**: §4 «Показательная функция $y = a^x$». **Главный интерактив всей главы** — двухпанельный график $a>1$ vs $0<a<1$, slider $a$ со snap-точками, анимированные асимптоты, отметка точки $(0,1)$. 4 интерактива.
- **Wave 2**: §5 «Показательные уравнения». 5 методов решения: одинаковое основание / однородные / замена переменной / графический / тригонометрические подстановки. Визуальный разбор каждого метода + тренажёр.
- **Wave 3**: §6 «Показательные неравенства» + Финал главы 2 (5 боссов + ачивка «Магистр показательной функции»).
### Phase 3: Алгебра 11 Глава 3 «Логарифмическая функция» (4 §) — 4 волны
- **Wave 1**: §7 «Свойства логарифмов». **Логарифмическая линейка** (Slide rule visualizer). DnD-сортер свойств. Калькулятор с пошаговым применением свойств.
- **Wave 2**: §8 «Логарифмическая функция $y = \log_a x$». Парный двухпанельный график + отражение через $y = x$ для демонстрации обратной функции.
- **Wave 3**: §9 «Логарифмические уравнения». 4 метода: к одному основанию / потенциирование / замена / графический. + Проверка ОДЗ.
- **Wave 4**: §10 «Логарифмические неравенства» + Финал главы 3 (5 боссов + ачивка «Магистр логарифмов»).
### Phase 4: Финал курса (Phase 5 в Алгебре 9 формате)
- Итоговая шпаргалка (5 mini-карточек: степени / степенная / показательная / логарифмы / лог. функция)
- **7 интегрированных боссов**, комбинирующих темы из разных глав:
1. **Степень + логарифм**: вычислить $4^{\log_2 5}$
2. **Показательное уравнение + замена**: $4^x - 3 \cdot 2^x + 2 = 0$
3. **Логарифмическое неравенство + ОДЗ**: $\log_{1/2}(x-1) > -2$
4. **Свойства log**: упростить $\log_3 \tfrac{72}{8} - \log_3 \tfrac{9}{2}$
5. **Графический синтез**: найти кол-во решений $2^x = \log_2 x$
6. **Логарифмирование показательного**: решить $5^{2x} = 7$ через $\log_5$
7. **Магистр функций**: при каком $a$ функция $y = (a-2)^x$ убывает?
- Ачивка «Магистр алгебры 11» + 50 XP + confetti
- Кнопка «К каталогу учебников» → `/textbooks`
---
## 📦 Структура каждой главы
### Wave 0 — skeleton (включено в Phase 0)
- CSS (палитра 3 цветовых акцента на §)
- Sections со stub-builder'ами
- Hub-карточка обновляется
- Миграция в БД
### Wave N — наполнение § (по 1–2 § на волну)
Каждый § = ровно тот же шаблон, что и Геометрия 9:
- **3 теоретических карточки** (`makeCard` типа theory/rule/example) с SVG-графиками
- **4 интерактива** (`.wg` виджеты):
1. **SVG-конструктор** с slider'ом (главный визуализатор темы)
2. **Калькулятор/пошаговый разбор** (ввод параметров → формула с подстановкой)
3. **Квикфайр-викторина** (6–8 заданий, 2–4 кнопки)
4. **Тренажёр** (5–6 задач с числовым ответом, допуск 0.01)
- **Кнопка «Я прочитал §» (+10 XP, +30%)**
- **Прогресс**: IV1 15%/10XP, IV2 15%/10XP, IV3 25%/15XP, IV4 25%/15XP, чтение 30%/10XP
### Wave финал главы
- **Итоговая шпаргалка** — mini-cards с формулой на §
- **5 интегрированных боссов** (комбинирующих темы) — каждый +10 XP, +18% к `finalN`
- **Достижение «Мастер главы N»** при 5/5 + 50 XP + confetti
- **Кнопка «Дальше: Глава N+1 →»** (или «К хабу» для последней)
---
## 📊 Оценка объёма
| Глава | § | Ожидаемый LOC |
|-------|---|---------------|
| Глава 1 (§1-3) | 3 | ~5500 |
| Глава 2 (§4-6) | 3 | ~5800 (главные графики функций) |
| Глава 3 (§7-10) | 4 | ~7000 |
| Hub + финал курса | — | ~900 |
| **Итого** | **10** | **~19 000 LOC** |
Для сравнения: Алгебра 9 = 19 § = ~30 000 LOC. Здесь меньше § (10 вместо 19), но каждый требует визуально насыщенных графиков.
---
## ⚠️ Критические правила (на основе опыта Алгебры 9 + Геом 9)
### ❌ НЕ делать
- **Slider'ы в пиксельных диапазонах** (40..150). Только в учебных единицах с понятным шагом.
- **Подписи длин в пикселях** (`R = 120`, `c = 150`). Только в учебных единицах.
- **«Три треугольника» когда нарисовано два** — заголовок и контент должны совпадать.
- **Эмодзи `⚠`, `❌`, `✅`, `🔥`** в коде. Только inline SVG.
- **Одиночный `\` перед буквой** в template literals: `\dfrac`, `\sin`, `\log`. ВСЕГДА `\\dfrac`.
- **Прямой угол в нестандартной позиции** (хотя в 11 классе их меньше — больше графики).
- **Sweep=1 без проверки направления** — используем `angleArcAuto`.
- **Графики с плохими асимптотами** — например, $y = a^x$ должен явно показывать асимптоту $y=0$, а $y = \log_a x$ — $x=0$.
### ✅ Обязательно
- **KaTeX-аудит на каждом коммите** — `grep -nP "[^\\\\]\\\\[a-z]{2,}"` для JS-секций.
- **JS parse-check** через `new Function(scriptBody)` после каждого Wave.
- **Координаты — формулами**, не «на глаз».
- **Drag — state ВЫШЕ `redraw()`**.
- **Цветовая кодировка $a>1$ vs $0<a<1$** во всех § Глав 2 и 3 — пусть будет неизменна.
- **Эталонные snap-точки** в slider'ах: $a = 1/2, e, 2, 10$.
- **Все builder-функции в registry должны быть НЕ stub'ами** в конце Wave финала.
- **Использовать `ast-index` для поиска** (НЕ grep — правило проекта).
---
## 🎬 Запуск
**Phase 0**: skeleton всех 3 ch-файлов Алгебры 11 + hub + миграция + 11 SVG-хелперов.
Цвет: **emerald/teal** (свежий, отличается от algebra-9 индиго и algebra-7 розового).
Сразу с первого Wave — все правила качества из этого плана.
После Phase 0 → Phase 1 Wave 1 (§1 Степень с рац. показателем).
После завершения всех 4 Phase Алгебры 11 — переход к плану Геометрии 11.