diff --git a/frontend/textbooks/physics_7_ch1.html b/frontend/textbooks/physics_7_ch1.html
index 9a606df..c313df0 100644
--- a/frontend/textbooks/physics_7_ch1.html
+++ b/frontend/textbooks/physics_7_ch1.html
@@ -183,8 +183,64 @@ const _TB_SLUG = 'physics-7-ch1';
const PARAS = [{id:'p1',num:'§ 1',title:"Физика — наука о природе",wm:'?'},{id:'p2',num:'§ 2',title:"Тело, явление, величина",wm:'×'},{id:'p3',num:'§ 3',title:"Методы исследования в физике",wm:'⚙'},{id:'p4',num:'§ 4',title:"Прямые и косвенные измерения",wm:'='},{id:'p5',num:'§ 5',title:"Единицы измерения. СИ",wm:'м'},{id:'p6',num:'§ 6',title:"Действия над физическими величинами",wm:'±'},{id:'p7',num:'§ 7',title:"Цена деления. Погрешность",wm:'∇'},{id:'final1',num:'Финал',title:"Итоги главы 1",wm:'★'}];
const TOTAL_PARAS = PARAS.length;
-const SIDEBARS = {};
-PARAS.forEach(p => { SIDEBARS[p.id] = { title: 'Шпаргалка ' + p.num, rows: [] }; });
+const SIDEBARS = {
+ p1: { title: 'Шпаргалка § 1', rows: [
+ ['Физика', 'наука о природе: изучает физические явления'],
+ ['Происхождение', 'от греч. фюзис — «природа»'],
+ ['Явления', 'световые, звуковые, тепловые, механические, электрические'],
+ ['Связь с науками', 'астрономия, химия, биология, география, техника'],
+ ['Пример', 'радуга — световое; гром — звуковое; падение — механическое']
+ ]},
+ p2: { title: 'Шпаргалка § 2', rows: [
+ ['Тело', 'конкретный объект: мяч, книга, дом'],
+ ['Вещество', 'из чего сделано тело: дерево, железо, вода'],
+ ['Явление', 'изменение в природе: падение, кипение, гроза'],
+ ['Величина', 'то, что можно измерить; число + единица: $m = 5$ кг'],
+ ['Правило', 'у величины всегда есть число и единица']
+ ]},
+ p3: { title: 'Шпаргалка § 3', rows: [
+ ['Наблюдение', 'изучение без вмешательства в явление'],
+ ['Эксперимент', 'целенаправленное воссоздание явления с измерениями'],
+ ['Гипотеза', 'предположение, которое нужно проверить опытом'],
+ ['Теория', 'подтверждённая гипотеза; формулы и законы'],
+ ['Галилей', 'опыт с Пизанской башней — тела падают одинаково']
+ ]},
+ p4: { title: 'Шпаргалка § 4', rows: [
+ ['Прямое', 'значение читается прямо со шкалы прибора'],
+ ['Косвенное', 'значение вычисляется по формуле из прямых'],
+ ['Площадь', '$S = a \\cdot b$, $[S]$ = м²'],
+ ['Объём', '$V = a \\cdot b \\cdot c$, $[V]$ = м³'],
+ ['Плотность', '$\\rho = \\dfrac{m}{V}$, $[\\rho]$ = кг/м³']
+ ]},
+ p5: { title: 'Шпаргалка § 5', rows: [
+ ['СИ', 'Международная система единиц, принята в 1960 г.'],
+ ['Длина', 'метр (м)'],
+ ['Масса', 'килограмм (кг)'],
+ ['Время', 'секунда (с)'],
+ ['Приставки', 'к = $10^3$; м = $10^{-3}$; мк = $10^{-6}$; М = $10^6$']
+ ]},
+ p6: { title: 'Шпаргалка § 6', rows: [
+ ['Сложение', 'только однородные величины в одинаковых единицах'],
+ ['Скорость', '$1$ км/ч $\\approx 0{,}278$ м/с; $1$ м/с $= 3{,}6$ км/ч'],
+ ['Плотность', '$1$ г/см³ $= 1000$ кг/м³'],
+ ['Умножение', '$v \\cdot t$ — единицы тоже перемножаются/сокращаются'],
+ ['Пример', '$5\\,\\text{м}/\\text{с} \\cdot 4\\,\\text{с} = 20\\,\\text{м}$']
+ ]},
+ p7: { title: 'Шпаргалка § 7', rows: [
+ ['Цена деления', '$C = \\dfrac{X_2 - X_1}{N}$'],
+ ['Погрешность', '$\\Delta X = \\dfrac{C}{2}$'],
+ ['Запись', '$X = X_0 \\pm \\Delta X$, например $l = (15{,}3 \\pm 0{,}05)$ см'],
+ ['Точность', 'чем меньше $C$, тем точнее прибор'],
+ ['Параллакс', 'смотреть на шкалу перпендикулярно']
+ ]},
+ final1: { title: 'Шпаргалка · Итоги главы 1', rows: [
+ ['Физика', 'наука о явлениях природы; методы — наблюдение, эксперимент, теория'],
+ ['Основные понятия', 'тело, вещество, явление, величина'],
+ ['СИ', 'длина — м, масса — кг, время — с'],
+ ['Косвенное изм.', '$S = ab$; $V = abc$; $\\rho = m/V$; $v = s/t$'],
+ ['Погрешность', '$C = (X_2 - X_1)/N$; $\\Delta X = C/2$']
+ ]}
+};
const TIPS = [];
const ACH_LABELS = { start: 'Начало главы 1', ch_done: 'Юный физик' };
diff --git a/frontend/textbooks/physics_7_ch2.html b/frontend/textbooks/physics_7_ch2.html
index c2ab7da..1f9e514 100644
--- a/frontend/textbooks/physics_7_ch2.html
+++ b/frontend/textbooks/physics_7_ch2.html
@@ -179,8 +179,57 @@ const _TB_SLUG = 'physics-7-ch2';
const PARAS = [{id:'p8',num:'§ 8',title:"Дискретное строение вещества",wm:'•'},{id:'p9',num:'§ 9',title:"Тепловое движение частиц",wm:'~'},{id:'p10',num:'§ 10',title:"Взаимодействие частиц",wm:'⇌'},{id:'p11',num:'§ 11',title:"Газ, жидкость, твёрдое",wm:'△'},{id:'p12',num:'§ 12',title:"Тепловое расширение",wm:'↔'},{id:'p13',num:'§ 13',title:"Температура. Термометры",wm:'°'},{id:'final2',num:'Финал',title:"Итоги главы 2",wm:'★'}];
const TOTAL_PARAS = PARAS.length;
-const SIDEBARS = {};
-PARAS.forEach(p => { SIDEBARS[p.id] = { title: 'Шпаргалка ' + p.num, rows: [] }; });
+const SIDEBARS = {
+ p8: { title: 'Шпаргалка § 8', rows: [
+ ['Строение', 'Вещество состоит из молекул и атомов; между ними — промежутки'],
+ ['Молекула', 'Наименьшая частица вещества, сохраняющая его хим. свойства'],
+ ['Размер', 'Диаметр молекулы $\\approx 10^{-10}$ м; ядра атома $\\approx 10^{-15}$ м'],
+ ['Доказательства', 'Сжимаемость газов, растворение, расширение при нагреве'],
+ ['Из чего молекула', 'Молекулы состоят из атомов']
+ ]},
+ p9: { title: 'Шпаргалка § 9', rows: [
+ ['Тепловое движение', 'Непрерывное хаотическое движение молекул любого тела'],
+ ['Скорость и $T$', 'Чем выше температура, тем быстрее движутся частицы'],
+ ['Броуновское движение', 'Видимые частицы дёргаются под ударами молекул'],
+ ['Диффузия', 'Самопроизвольное взаимопроникновение молекул разных веществ'],
+ ['Скорость диффузии', 'Газ $\\gg$ жидкость $\\gg$ твёрдое тело; растёт с температурой']
+ ]},
+ p10: { title: 'Шпаргалка § 10', rows: [
+ ['Два вида сил', 'Между молекулами одновременно действуют притяжение и отталкивание'],
+ ['$r < r_0$', 'Преобладает отталкивание'],
+ ['$r = r_0$', 'Силы уравновешиваются'],
+ ['$r > r_0$', 'Преобладает притяжение; при $r \\gg r_0$ силы малы'],
+ ['Приложение', 'Упругость пружины, несжимаемость жидкостей — та же природа']
+ ]},
+ p11: { title: 'Шпаргалка § 11', rows: [
+ ['Твёрдое', 'Молекулы в кристаллической решётке; сохраняет форму и объём'],
+ ['Жидкое', 'Молекулы «перескакивают»; объём сохраняет, форму — нет'],
+ ['Газообразное', 'Молекулы летают свободно; ни форма, ни объём не сохраняются'],
+ ['Молекула при переходе', 'Сама молекула не меняется — меняется характер её движения'],
+ ['Пример', 'Вода: лёд ($<0$ °C), вода ($0$–$100$ °C), пар ($>100$ °C)']
+ ]},
+ p12: { title: 'Шпаргалка § 12', rows: [
+ ['Причина расширения', 'При нагреве амплитуда колебаний молекул растёт → расстояния увеличиваются'],
+ ['Порядок расширения', 'Газы $\\gg$ жидкости $\\gg$ твёрдые тела'],
+ ['Формула', '$\\Delta l = l_0 \\cdot \\alpha \\cdot \\Delta T$ ($\\alpha$ — коэф. линейного расширения)'],
+ ['Примеры', 'Зазоры в рельсах, провисание проводов, биметаллическая пластина'],
+ ['Аномалия воды', 'Макс. плотность при $+4$ °C; при $0$–$4$ °C вода сжимается при нагреве']
+ ]},
+ p13: { title: 'Шпаргалка § 13', rows: [
+ ['Температура', 'Физ. величина, характеризующая степень нагретости тела'],
+ ['Связь с молекулами', 'Чем быстрее движутся молекулы — тем выше $t$'],
+ ['Шкала Цельсия', '$0$ °C — таяние льда; $100$ °C — кипение воды при норм. давлении'],
+ ['Кельвин', '$T = t + 273{,}15$; абсолютный нуль: $T = 0$ К $= -273{,}15$ °C'],
+ ['Виды термометров', 'Жидкостный, биметаллический, электронный, инфракрасный']
+ ]},
+ final2: { title: 'Шпаргалка · Итоги главы 2', rows: [
+ ['§8 Строение', 'Молекулы $\\approx 10^{-10}$ м; между ними промежутки — отсюда сжимаемость'],
+ ['§9 Движение', 'Тепловое (хаотическое) движение; диффузия быстрее при большем $T$'],
+ ['§10 Силы', 'При $r < r_0$ — отталкивание; при $r > r_0$ — притяжение'],
+ ['§11–12 Агрегаты', 'Газ: нет формы/объёма; жидкость: есть объём; твёрдое: есть форма и объём; расширение: $\\Delta l = l_0 \\alpha \\Delta T$'],
+ ['§13 Температура', '$t$ (°C) и $T$ (К): $T = t + 273{,}15$; $0$ °C — лёд, $100$ °C — кипение']
+ ]}
+};
const TIPS = [];
const ACH_LABELS = { start: 'Начало главы 2', ch_done: 'Знаток вещества' };
diff --git a/frontend/textbooks/physics_7_ch3.html b/frontend/textbooks/physics_7_ch3.html
index 2a5c52a..c30c53e 100644
--- a/frontend/textbooks/physics_7_ch3.html
+++ b/frontend/textbooks/physics_7_ch3.html
@@ -211,8 +211,99 @@ const _TB_SLUG = 'physics-7-ch3';
const PARAS = [{id:'p14',num:'§ 14',title:"Механическое движение. Относительность",wm:'→'},{id:'p15',num:'§ 15',title:"Траектория, путь, время",wm:'s'},{id:'p16',num:'§ 16',title:"Равномерное движение. Скорость",wm:'v'},{id:'p17',num:'§ 17',title:"Графики s(t) и v(t)",wm:'∠'},{id:'p18',num:'§ 18',title:"Средняя скорость",wm:'⟨⟩'},{id:'p19',num:'§ 19',title:"Инерция",wm:'∞'},{id:'p20',num:'§ 20',title:"Масса. Плотность",wm:'ρ'},{id:'p21',num:'§ 21',title:"Сила",wm:'F'},{id:'p22',num:'§ 22',title:"Сила тяжести",wm:'↓'},{id:'p23',num:'§ 23',title:"Сила упругости",wm:'≈'},{id:'p24',num:'§ 24',title:"Вес тела",wm:'P'},{id:'p25',num:'§ 25',title:"Динамометр",wm:'⊥'},{id:'p26',num:'§ 26',title:"Сложение сил",wm:'+'},{id:'p27',num:'§ 27',title:"Сила трения",wm:'~'},{id:'final3',num:'Финал',title:"Итоги главы 3",wm:'★'}];
const TOTAL_PARAS = PARAS.length;
-const SIDEBARS = {};
-PARAS.forEach(p => { SIDEBARS[p.id] = { title: 'Шпаргалка ' + p.num, rows: [] }; });
+const SIDEBARS = {
+ p14: { title: 'Шпаргалка § 14', rows: [
+ ['Движение', 'изменение положения тела относительно других тел со временем'],
+ ['Система отсчёта', 'тело отсчёта + оси координат + часы'],
+ ['Относительность', 'покой и движение зависят от выбранной СО'],
+ ['Пример', 'пассажир в вагоне: покоится относительно вагона, движется относительно Земли']
+ ]},
+ p15: { title: 'Шпаргалка § 15', rows: [
+ ['Траектория', 'линия, по которой движется тело'],
+ ['Путь $s$', 'длина траектории; $[s] = $ м; всегда $\\ge 0$'],
+ ['Время $t$', 'длительность движения; $[t] = $ с'],
+ ['Виды', 'прямолинейная, криволинейная, замкнутая']
+ ]},
+ p16: { title: 'Шпаргалка § 16', rows: [
+ ['Скорость', '$v = \\dfrac{s}{t}$; $[v] = $ м/с'],
+ ['Единицы', '$1$ м/с $= 3{,}6$ км/ч; $1$ км/ч $\\approx 0{,}28$ м/с'],
+ ['Путь', '$s = v \\cdot t$'],
+ ['Время', '$t = \\dfrac{s}{v}$'],
+ ['Характер', 'равномерное: за равные промежутки — равные расстояния']
+ ]},
+ p17: { title: 'Шпаргалка § 17', rows: [
+ ['График $s(t)$', 'прямая через начало координат; наклон = $v$'],
+ ['График $v(t)$', 'горизонтальная линия (равномерное: $v = $ const)'],
+ ['Площадь под $v(t)$', 'равна пройденному пути $s = v \\cdot t$'],
+ ['Два тела на $s(t)$', 'больший наклон — большая скорость']
+ ]},
+ p18: { title: 'Шпаргалка § 18', rows: [
+ ['Средняя скорость', '$\\langle v \\rangle = \\dfrac{s_{полн}}{t_{полн}}$'],
+ ['Ловушка', '$\\langle v \\rangle \\ne \\dfrac{v_1 + v_2}{2}$ при разном времени на участках'],
+ ['Неравномерное', 'скорость меняется со временем'],
+ ['Пример', 'пешком $0{,}5$ км + метро $5$ км за $20$ мин $\\Rightarrow \\langle v \\rangle = 16{,}5$ км/ч']
+ ]},
+ p19: { title: 'Шпаргалка § 19', rows: [
+ ['Инерция', 'стремление тела сохранять состояние покоя или равномерного движения'],
+ ['Закон Галилея', 'без внешнего воздействия скорость тела не изменяется'],
+ ['Что меняет скорость', 'только воздействие другого тела'],
+ ['Мера инертности', 'масса: тяжёлое тело сложнее разогнать и остановить']
+ ]},
+ p20: { title: 'Шпаргалка § 20', rows: [
+ ['Масса $m$', 'мера инертности и количества вещества; $[m] = $ кг'],
+ ['Плотность', '$\\rho = \\dfrac{m}{V}$; $[\\rho] = $ кг/м³ или г/см³'],
+ ['Выражения', '$m = \\rho V$; $V = \\dfrac{m}{\\rho}$'],
+ ['Примеры', 'вода $1000$ кг/м³; алюминий $2700$; железо $7800$; золото $19300$']
+ ]},
+ p21: { title: 'Шпаргалка § 21', rows: [
+ ['Сила $\\vec{F}$', 'мера взаимодействия двух тел; $[F] = $ Н (ньютон)'],
+ ['Сила — вектор', 'характеризуется модулем, направлением и точкой приложения'],
+ ['Основные силы', '$\\vec{F}_т$ (тяжести), $\\vec{F}_{упр}$ (упругости), $\\vec{F}_{тр}$ (трения), $\\vec{N}$ (нормальная)']
+ ]},
+ p22: { title: 'Шпаргалка § 22', rows: [
+ ['Сила тяжести', '$F_т = mg$; направлена вертикально вниз'],
+ ['$g$ на Земле', '$9{,}8$ Н/кг $\\approx 10$ Н/кг'],
+ ['$g$ на Луне', '$\\approx 1{,}6$ Н/кг (в $\\approx 6$ раз меньше)'],
+ ['Пример', '$m = 0{,}1$ кг $\\Rightarrow F_т \\approx 1$ Н (среднее яблоко)']
+ ]},
+ p23: { title: 'Шпаргалка § 23', rows: [
+ ['Упругая сила', 'возникает при деформации; возвращает тело в исходную форму'],
+ ['Закон Гука', '$F_{упр} \\sim \\Delta l$ (сила пропорциональна удлинению)'],
+ ['Пластическая деф.', 'при сильном растяжении пружина не вернётся — закон Гука нарушается'],
+ ['Примеры', 'пружина, резинка, тетива лука, прогнутая доска']
+ ]},
+ p24: { title: 'Шпаргалка § 24', rows: [
+ ['Вес $\\vec{P}$', 'сила, с которой тело давит на опору (подвес); $[P] = $ Н'],
+ ['Отличие от $F_т$', '$F_т$ приложена к телу, $P$ — к опоре; на покое $P = mg$'],
+ ['Невесомость', '$P = 0$ при свободном падении (МКС, лифт в пике)'],
+ ['Перегрузка', 'лифт ускоряется вверх — $P > mg$']
+ ]},
+ p25: { title: 'Шпаргалка § 25', rows: [
+ ['Динамометр', 'прибор для измерения силы; основан на растяжении пружины'],
+ ['Шкала', '$[F] = $ Н; не превышай предел — пружина испортится'],
+ ['Масса по показанию', '$m = F/g$'],
+ ['Цена деления', 'например, $0..4$ Н с $40$ делениями $\\Rightarrow C = 0{,}1$ Н']
+ ]},
+ p26: { title: 'Шпаргалка § 26', rows: [
+ ['Равнодействующая $\\vec{R}$', 'одна сила, заменяющая совокупность всех действующих сил'],
+ ['Сонаправленные', '$R = F_1 + F_2$; направление то же'],
+ ['Противоположные', '$R = |F_1 - F_2|$; направление — в сторону большей силы'],
+ ['Равновесие', '$R = 0 \\Rightarrow$ тело покоится или движется равномерно']
+ ]},
+ p27: { title: 'Шпаргалка § 27', rows: [
+ ['Сила трения', 'направлена против движения (или попытки движения)'],
+ ['$F_{тр} = \\mu N$', '$\\mu$ — коэф. трения; $N$ — нормальная реакция опоры'],
+ ['Виды', 'покоя $\\ge$ скольжения $\\gg$ качения'],
+ ['Польза / вред', 'помогает ходить, тормозить; вредит: изнашивает, греет']
+ ]},
+ final3: { title: 'Шпаргалка · Итоги главы 3', rows: [
+ ['Движение', '$v = \\dfrac{s}{t}$; $\\langle v \\rangle = \\dfrac{s_{полн}}{t_{полн}}$'],
+ ['Плотность', '$\\rho = \\dfrac{m}{V}$; $m = \\rho V$; $V = \\dfrac{m}{\\rho}$'],
+ ['Сила тяжести', '$F_т = mg$; $g \\approx 9{,}8$ Н/кг (Земля)'],
+ ['Закон Гука', '$F_{упр} \\sim \\Delta l$; трение: $F_{тр} = \\mu N$'],
+ ['Равнодействующая', 'сонаправл.: $R = F_1 + F_2$; противоположн.: $R = |F_1 - F_2|$']
+ ]}
+};
const TIPS = [];
const ACH_LABELS = { start: 'Начало главы 3', ch_done: 'Мастер движения' };
diff --git a/frontend/textbooks/physics_7_ch4.html b/frontend/textbooks/physics_7_ch4.html
index 8249872..c1c0b07 100644
--- a/frontend/textbooks/physics_7_ch4.html
+++ b/frontend/textbooks/physics_7_ch4.html
@@ -187,8 +187,63 @@ const _TB_SLUG = 'physics-7-ch4';
const PARAS = [{id:'p28',num:'§ 28',title:"Давление. Единицы давления",wm:'p'},{id:'p29',num:'§ 29',title:"Давление газа",wm:'∴'},{id:'p30',num:'§ 30',title:"Закон Паскаля",wm:'⊕'},{id:'p31',num:'§ 31',title:"Гидростатическое давление",wm:'≡'},{id:'p32',num:'§ 32',title:"Сообщающиеся сосуды",wm:'U'},{id:'p33',num:'§ 33',title:"Газы и их вес",wm:'⌒'},{id:'p34',num:'§ 34',title:"Атмосферное давление",wm:'∼'},{id:'p35',num:'§ 35',title:"Барометры и манометры",wm:'⏚'},{id:'final4',num:'Финал',title:"Итоги главы 4",wm:'★'}];
const TOTAL_PARAS = PARAS.length;
-const SIDEBARS = {};
-PARAS.forEach(p => { SIDEBARS[p.id] = { title: 'Шпаргалка ' + p.num, rows: [] }; });
+const SIDEBARS = {
+ p28: { title: 'Шпаргалка § 28', rows: [
+ ['$p = F / S$', 'давление = сила / площадь'],
+ ['Единица', '1 Па = 1 Н/м²; 1 кПа = 1000 Па'],
+ ['Увеличить $p$', 'уменьшить $S$ при той же $F$'],
+ ['Примеры', 'гвоздь: $\\sim$ГПа; лыжник: $\\sim$2,8 кПа']
+ ]},
+ p29: { title: 'Шпаргалка § 29', rows: [
+ ['Источник $p$', 'удары молекул о стенки сосуда'],
+ ['$p$ растёт если', 'больше молекул, выше $T$, меньше $V$'],
+ ['Во все стороны', 'газ давит равномерно во все стороны'],
+ ['Пример', 'шина на солнце — $T$ растёт, $p$ растёт']
+ ]},
+ p30: { title: 'Шпаргалка § 30', rows: [
+ ['Закон Паскаля', 'давление в жидкости/газе передаётся без изменения во все стороны'],
+ ['Пресс: $F_2$', '$F_2 = F_1 \\cdot \\dfrac{S_2}{S_1}$'],
+ ['Выигрыш', 'в силе — во столько раз, во сколько $S_2 > S_1$'],
+ ['Применение', 'пресс, подъёмник, тормоза авто, ковш экскаватора']
+ ]},
+ p31: { title: 'Шпаргалка § 31', rows: [
+ ['$p = \\rho g h$', 'гидростатическое давление на глубине $h$'],
+ ['Зависит от', '$\\rho$ жидкости и глубины $h$; форма сосуда — не важна'],
+ ['Парадокс', 'в любом сосуде на одной глубине $p$ одинаково'],
+ ['Пример', '$h = 10$ м вода $\\Rightarrow$ $p \\approx 98$ кПа $\\approx 1$ атм']
+ ]},
+ p32: { title: 'Шпаргалка § 32', rows: [
+ ['Закон', 'однородная жидкость устанавливается на одном уровне'],
+ ['Почему', '$p = \\rho g h$ одинаково на дне — жидкость не перетекает'],
+ ['Разные жидкости', '$\\rho_1 h_1 = \\rho_2 h_2$ (обратно пропорц. плотностям)'],
+ ['Применение', 'чайник, шлюз, водонапорная башня, колодец']
+ ]},
+ p33: { title: 'Шпаргалка § 33', rows: [
+ ['Газ имеет массу', '$m = \\rho V$; вес $P = mg$'],
+ ['Воздух у Земли', '$\\rho_{возд} \\approx 1{,}29$ кг/м³'],
+ ['Пример', 'воздух в комнате 60 м³ $\\approx$ 77 кг'],
+ ['Тяжелее воздуха', '$CO_2$, $Cl_2$, $Rn$; легче — $He$, $H_2$']
+ ]},
+ p34: { title: 'Шпаргалка § 34', rows: [
+ ['Норма', '$p_0 = 101\\,325$ Па $= 760$ мм рт. ст. $\\approx 1$ атм'],
+ ['Торричелли', 'ртуть в трубке $\\approx 760$ мм — доказал атм. давление (1643)'],
+ ['С высотой', 'каждые $\\approx 12$ м вверх $\\Rightarrow$ $-1$ мм рт. ст.'],
+ ['Эльбрус 5642 м', '$p \\approx 400$ мм рт. ст. — почти вдвое меньше нормы']
+ ]},
+ p35: { title: 'Шпаргалка § 35', rows: [
+ ['Барометр', 'измеряет атмосферное давление (Торричелли, анероид)'],
+ ['Манометр', 'измеряет давление газа/жидкости в сосуде'],
+ ['Анероид', 'безжидкостный пружинный барометр'],
+ ['1 мм рт. ст.', '$\\approx 133$ Па; манометр показывает $\\Delta p = p - p_0$']
+ ]},
+ final4: { title: 'Шпаргалка · Итоги главы 4', rows: [
+ ['Давление', '$p = F/S$, [Па]'],
+ ['Паскаль', '$p$ в жидкости/газе передаётся без изменения во все стороны'],
+ ['Гидропресс', '$F_2 = F_1 \\cdot S_2 / S_1$'],
+ ['Гидростатика', '$p = \\rho g h$; форма сосуда не важна'],
+ ['Атмосфера', '$p_0 = 760$ мм рт. ст. $\\approx 101$ кПа; $-1$ мм/12 м']
+ ]}
+};
const TIPS = [];
const ACH_LABELS = { start: 'Начало главы 4', ch_done: 'Властелин давления' };
diff --git a/frontend/textbooks/physics_7_ch5.html b/frontend/textbooks/physics_7_ch5.html
index b7f88f4..302415b 100644
--- a/frontend/textbooks/physics_7_ch5.html
+++ b/frontend/textbooks/physics_7_ch5.html
@@ -183,8 +183,64 @@ const _TB_SLUG = 'physics-7-ch5';
const PARAS = [{id:'p36',num:'§ 36',title:"Механическая работа",wm:'A'},{id:'p37',num:'§ 37',title:"КПД",wm:'η'},{id:'p38',num:'§ 38',title:"Мощность",wm:'P'},{id:'p39',num:'§ 39',title:"Кинетическая энергия",wm:'Eк'},{id:'p40',num:'§ 40',title:"Потенциальная энергия",wm:'Eп'},{id:'p41',num:'§ 41',title:"Расчёт Eп = mgh",wm:'h'},{id:'p42',num:'§ 42',title:"Закон сохранения энергии",wm:'∑'},{id:'final5',num:'Финал',title:"Итоги главы 5",wm:'★'}];
const TOTAL_PARAS = PARAS.length;
-const SIDEBARS = {};
-PARAS.forEach(p => { SIDEBARS[p.id] = { title: 'Шпаргалка ' + p.num, rows: [] }; });
+const SIDEBARS = {
+ p36: { title: 'Шпаргалка § 36', rows: [
+ ['$A = F \\cdot s$', 'работа силы (Н · м = Дж)'],
+ ['$[A]$', 'Джоуль (Дж); 1 кДж = 1000 Дж'],
+ ['$A > 0$', 'сила совпадает с перемещением'],
+ ['$A < 0$', 'сила против перемещения (трение)'],
+ ['$A = 0$', '$F = 0$, или $s = 0$, или $F \\perp s$']
+ ]},
+ p37: { title: 'Шпаргалка § 37', rows: [
+ ['$\\eta = \\dfrac{A_{полез}}{A_{полн}} \\cdot 100\\%$', 'КПД'],
+ ['$A_{полез} \\le A_{полн}$', 'всегда; $\\eta \\le 100\\%$'],
+ ['ДВС', '$\\eta \\approx 25..40\\%$'],
+ ['Электродвигатель', '$\\eta \\approx 80..95\\%$'],
+ ['Потери', 'трение, нагрев, деформация']
+ ]},
+ p38: { title: 'Шпаргалка § 38', rows: [
+ ['$P = \\dfrac{A}{t}$', 'мощность — работа за единицу времени'],
+ ['$[P]$', 'Вт; 1 кВт = 1000 Вт; 1 л. с. $\\approx$ 736 Вт'],
+ ['Человек', '$\\approx 100$ Вт'],
+ ['Автомобиль', '$50..150$ кВт'],
+ ['$A = P \\cdot t$', 'работа через мощность и время']
+ ]},
+ p39: { title: 'Шпаргалка § 39', rows: [
+ ['$E_к = \\dfrac{mv^2}{2}$', 'кинетическая энергия (Дж)'],
+ ['$v = 0$', '$E_к = 0$ — покоящееся тело'],
+ ['$v \\times 2$', '$E_к$ растёт в 4 раза (квадрат!)'],
+ ['Автомобиль 20 м/с', '$E_к = 200$ кДж при $m = 1000$ кг'],
+ ['Тормозной путь', 'пропорционален $v^2$']
+ ]},
+ p40: { title: 'Шпаргалка § 40', rows: [
+ ['$E_п$', 'энергия положения / деформации'],
+ ['Гравитационная', '$E_п = mgh$ (поднятое тело)'],
+ ['Упругая', 'деформированная пружина, тетива'],
+ ['ГЭС', '$E_п$ воды $\\to E_к \\to$ электричество'],
+ ['$E_п \\to E_к$', 'при падении / распрямлении']
+ ]},
+ p41: { title: 'Шпаргалка § 41', rows: [
+ ['$E_п = mgh$', 'гравитационная потенциальная энергия'],
+ ['$[E_п]$', 'Дж; $g \\approx 10$ Н/кг'],
+ ['Нулевой уровень', 'условен — важна $\\Delta E_п = mg\\Delta h$'],
+ ['$h \\uparrow$', '$E_п \\uparrow$ пропорционально'],
+ ['$m \\uparrow$', '$E_п \\uparrow$ пропорционально']
+ ]},
+ p42: { title: 'Шпаргалка § 42', rows: [
+ ['$E = E_к + E_п = \\text{const}$', 'закон сохранения мех. энергии'],
+ ['Падение', '$E_п \\downarrow$, $E_к \\uparrow$; сумма не меняется'],
+ ['Верхняя точка', '$v = 0$, $E_к = 0$, вся энергия $= E_п$'],
+ ['Нижняя точка', '$h = 0$, $E_п = 0$, вся энергия $= E_к$'],
+ ['С трением', '$E_к + E_п < E_0$ — часть уходит в тепло']
+ ]},
+ final5: { title: 'Шпаргалка · Итоги главы 5', rows: [
+ ['Работа', '$A = Fs$ (Дж)'],
+ ['КПД', '$\\eta = \\dfrac{A_{полез}}{A_{полн}} \\cdot 100\\%$'],
+ ['Мощность', '$P = \\dfrac{A}{t}$ (Вт)'],
+ ['$E_к$', '$\\dfrac{mv^2}{2}$ (Дж)'],
+ ['$E_п$', '$mgh$ (Дж); $E_к + E_п = \\text{const}$']
+ ]}
+};
const TIPS = [];
const ACH_LABELS = { start: 'Начало главы 5', ch_done: 'Энергетик' };