diff --git a/frontend/textbooks/physics_10_ch1.html b/frontend/textbooks/physics_10_ch1.html
index 1c25f5f..a915518 100644
--- a/frontend/textbooks/physics_10_ch1.html
+++ b/frontend/textbooks/physics_10_ch1.html
@@ -1290,34 +1290,714 @@ function build_p2(){
function build_p3(){
const box = document.getElementById('p3-body');
let html = '';
- html += makeCard('theory', "Идеальный газ. Основное уравнение МКТ", "§3", `
-
Идеальный газ. Основное уравнение МКТ — этот параграф в разработке (Phase 1+).
-
Здесь появятся: теория, формулы, разобранные примеры и 3–4 интерактива в стиле «алгебры 11» — таблицы, симуляции, ползунки, drag-and-drop и автопроверяемые тренажёры.
-
- Phase 0: создан скелет учебника. Phase 1+: наполнение этого § содержанием по учебнику «Физика 10» (Беларусь, 2019).
-
+
+ /* THEORY 1 — модель идеального газа */
+ html += makeCard('theory', "Модель идеального газа", "§3", `
+
Идеальный газ — упрощённая модель реального газа, в которой:
+
+
Размеры молекул пренебрежимо малы по сравнению с расстояниями между ними.
+
Молекулы взаимодействуют только при столкновениях (как упругие шары).
+
Между столкновениями молекулы движутся равномерно и прямолинейно.
+
+
Реальные газы при низком давлении и не очень низкой температуре близки к идеальному.
+
Параметры газа:
+
+
Макропараметры (описывают газ в целом): давление $p$, объём $V$, температура $T$.
+
Микропараметры (описывают отдельные молекулы): масса молекулы $m_0$, концентрация $n = N/V$, скорость $v$.
+
`);
+
+ /* THEORY 2 — основное уравнение МКТ */
+ html += makeCard('rule', "Основное уравнение МКТ", "§3", `
+
Давление идеального газа создаётся ударами молекул о стенки сосуда. Связь между макро- и микропараметрами:
+
$$p = \\dfrac{1}{3} n m_0 \\overline{v^2}$$
+
где:
+
+
$n$ — концентрация молекул, м$^{-3}$;
+
$m_0$ — масса одной молекулы, кг;
+
$\\overline{v^2}$ — средний квадрат скорости молекул, м²/с².
+
+
Это основное уравнение МКТ идеального газа.
+
Через среднюю кинетическую энергию поступательного движения $\\overline{E_k} = \\dfrac{1}{2} m_0 \\overline{v^2}$:
+
$$p = \\dfrac{2}{3} n \\overline{E_k}$$
+ `);
+
+ /* THEORY 3 — средняя квадратичная скорость */
+ html += makeCard('example', "Средняя квадратичная скорость", "§3", `
+
Чем легче молекула — тем быстрее она движется при той же температуре.
+ `);
+
+ /* INTERACTIVE 1 — Симуляция давления газа */
+ html += `
+
ИНТЕРАКТИВ 1
Симуляция давления газа
+
Меняй число молекул и их скорость — наблюдай удары о правую стенку. Давление пропорционально частоте ударов и квадрату скорости: $p \\sim n \\cdot v^2$.
+
+
+
+
+
+
+
+
+
+
+
+
+
Ударов в правую стенку за последнюю секунду: 0
+
Давление (усл. ед., $\\propto n v^2$): —
+
+
`;
+
+ /* INTERACTIVE 2 — Калькулятор основного уравнения МКТ */
+ html += `
+
ИНТЕРАКТИВ 2
Калькулятор уравнения МКТ
+
$p = \\dfrac{1}{3} n m_0 \\overline{v^2}$. Введи параметры и получи давление и среднюю кинетическую энергию молекулы.
';
+ renderMath(out);
+ feedback(fb, true, '✓ Вычислено.');
+ used.add((+n.toFixed(2))+':'+(+m0.toFixed(2))+':'+(+v2.toFixed(2)));
+ if(!_done && used.size >= 3){ _done = true; addXp(10, 'p3-iv2'); bumpProgress('p3', 15); }
+ }
+ go.addEventListener('click', calc);
+ [nI, mI, vI].forEach(el => el.addEventListener('keydown', e => { if(e.key === 'Enter') calc(); }));
+ })();
+
+ /* IV3 — квикфайр Идеальный/Реальный */
+ (function(){
+ const Q = [
+ { q:'Воздух в комнате (комнатная температура, атмосферное давление)', ans:0, why:'При обычных условиях воздух близок к идеальному.' },
+ { q:'Водяной пар у поверхности кипящей воды (готов конденсироваться)', ans:1, why:'Близок к конденсации — взаимодействия молекул нельзя пренебречь.' },
+ { q:'Гелий при $T = 4$ К (на грани ожижения)', ans:1, why:'При очень низкой $T$ молекулы сильно взаимодействуют.' },
+ { q:'Кислород в баллоне под давлением 200 атм', ans:1, why:'При высоком давлении расстояния между молекулами малы.' },
+ { q:'Воздух в верхних слоях атмосферы (низкое давление)', ans:0, why:'Чем ниже $p$ — тем ближе к идеальному газу.' },
+ { q:'Разреженный газ в плазме разряда (низкое $p$, очень высокая $T$)', ans:0, why:'Низкое давление и высокая $T$ — идеальные условия для модели.' },
+ ];
+ let i = 0, score = 0;
+ const qEl = document.getElementById('p3-iv3-q');
+ const oEl = document.getElementById('p3-iv3-opts');
+ const fb = document.getElementById('p3-iv3-fb');
+ const iEl = document.getElementById('p3-iv3-i');
+ const sEl = document.getElementById('p3-iv3-s');
+
+ function show(){
+ if(i >= Q.length){
+ qEl.innerHTML = 'Готово! Результат: ' + score + ' / ' + Q.length;
+ oEl.innerHTML = '';
+ if(score === Q.length){ addXp(15, 'p3-iv3'); bumpProgress('p3', 25); }
+ else if(score >= 4){ addXp(8, 'p3-iv3'); bumpProgress('p3', 15); }
+ return;
+ }
+ iEl.textContent = (i+1); sEl.textContent = score;
+ const item = Q[i];
+ qEl.innerHTML = item.q;
+ oEl.innerHTML = '';
+ fb.style.display = 'none';
+ renderMath(qEl);
+ oEl.querySelectorAll('button').forEach(b => {
+ b.addEventListener('click', () => {
+ const v = +b.dataset.v;
+ if(v === item.ans){ score++; feedback(fb, true, '✓ Верно! ' + item.why + ' Дальше ▶'); }
+ else feedback(fb, false, '✗ Неверно. ' + item.why + ' Дальше ▶');
+ sEl.textContent = score;
+ oEl.querySelectorAll('button').forEach(x => x.disabled = true);
+ i++;
+ setTimeout(show, 1500);
+ });
+ });
+ }
+ document.getElementById('p3-iv3-restart').addEventListener('click', () => { i = 0; score = 0; show(); });
+ show();
+ })();
+
+ /* IV4 — тренажёр МКТ */
+ (function(){
+ const Q = [
+ { q:'$n = 3 \\cdot 10^{25}$ м$^{-3}$, $m_0 = 5 \\cdot 10^{-26}$ кг, $\\overline{v^2} = 4 \\cdot 10^{5}$ м²/с². Введи коэффициент при $10^5$ Па.', ans:2, hint:'$p = \\frac{1}{3} \\cdot 3 \\cdot 5 \\cdot 4 \\cdot 10^{25-26+5} = 20 \\cdot 10^{4} = 2 \\cdot 10^{5}$' },
+ { q:'$\\overline{E_k} = 6 \\cdot 10^{-21}$ Дж, $n = 5 \\cdot 10^{25}$ м$^{-3}$. Введи коэффициент при $10^5$ Па.', ans:2, hint:'$p = \\frac{2}{3} n \\overline{E_k} = \\frac{2}{3} \\cdot 5 \\cdot 10^{25} \\cdot 6 \\cdot 10^{-21} = 2 \\cdot 10^{5}$' },
+ { q:'Если давление и концентрацию увеличить вдвое, во сколько раз изменится $\\overline{v^2}$?', ans:1, hint:'$p = \\frac{1}{3} n m_0 \\overline{v^2}$: если $p$ и $n$ ×2, то $\\overline{v^2}$ не меняется.' },
+ { q:'Если массу молекулы $m_0$ увеличить в 4 раза при том же $p$ и $n$, во сколько раз изменится $\\overline{v^2}$?', ans:0.25, hint:'$\\overline{v^2} \\sim 1/m_0$ при фиксированных $p, n$ — уменьшится в 4 раза.' },
+ { q:'Концентрация газа $n = 2{,}5 \\cdot 10^{25}$ м$^{-3}$. Сколько молекул в $1$ м³? Введи коэффициент при $10^{25}$.', ans:2.5, hint:'$N = n \\cdot V = 2{,}5 \\cdot 10^{25}$.' },
+ ];
+ let i = 0, score = 0;
+ function show(){
+ if(i >= Q.length){
+ document.getElementById('p3-iv4-q').innerHTML = 'Готово! Результат: ' + score + ' / ' + Q.length;
+ if(score === Q.length){ addXp(15, 'p3-iv4'); bumpProgress('p3', 25); }
+ else if(score >= 3){ addXp(8, 'p3-iv4'); bumpProgress('p3', 15); }
+ return;
+ }
+ document.getElementById('p3-iv4-i').textContent = (i+1);
+ document.getElementById('p3-iv4-s').textContent = score;
+ document.getElementById('p3-iv4-q').innerHTML = Q[i].q;
+ document.getElementById('p3-iv4-ans').value = '';
+ renderMath(document.getElementById('p3-iv4-q'));
+ document.getElementById('p3-iv4-fb').style.display = 'none';
+ }
+ function go(){
+ if(i >= Q.length) return;
+ const fb = document.getElementById('p3-iv4-fb');
+ const raw = document.getElementById('p3-iv4-ans').value.replace(',', '.');
+ const ans = parseFloat(raw);
+ if(isNaN(ans)){ feedback(fb, false, '✗ Введи число.'); return; }
+ const tol = Math.max(0.05 * Math.abs(Q[i].ans), 0.05);
+ if(Math.abs(ans - Q[i].ans) < tol){ score++; feedback(fb, true, '✓ Верно! '+Q[i].hint+'. Дальше ▶'); }
+ else feedback(fb, false, '✗ Неверно. Ответ: $'+Q[i].ans+'$. '+Q[i].hint+'. Дальше ▶');
+ document.getElementById('p3-iv4-s').textContent = score;
+ i++;
+ setTimeout(show, 1700);
+ }
+ document.getElementById('p3-iv4-go').addEventListener('click', go);
+ document.getElementById('p3-iv4-ans').addEventListener('keydown', e => { if(e.key === 'Enter') go(); });
+ document.getElementById('p3-iv4-start').addEventListener('click', () => { i = 0; score = 0; show(); });
+ show();
+ })();
+
wireReadBtn('p3');
}
function build_p4(){
const box = document.getElementById('p4-body');
let html = '';
- html += makeCard('theory', "Температура. Тепловое равновесие", "§4", `
-
Температура. Тепловое равновесие — этот параграф в разработке (Phase 1+).
-
Здесь появятся: теория, формулы, разобранные примеры и 3–4 интерактива в стиле «алгебры 11» — таблицы, симуляции, ползунки, drag-and-drop и автопроверяемые тренажёры.
-
- Phase 0: создан скелет учебника. Phase 1+: наполнение этого § содержанием по учебнику «Физика 10» (Беларусь, 2019).
-
+
+ /* THEORY 1 — тепловое равновесие и температура */
+ html += makeCard('theory', "Тепловое равновесие и температура", "§4", `
+
Тепловое равновесие — состояние термодинамической системы, в котором её макроскопические параметры (температура, давление, плотность) не меняются со временем.
+
Температура — физическая величина, характеризующая состояние теплового равновесия. Если два тела находятся в тепловом равновесии — их температуры равны.
+
Шкалы температуры:
+
+
Цельсия ($t$, °C): $0°$C — таяние льда, $100°$C — кипение воды (при $p = 101{,}3$ кПа).