fix(textbooks): Физика 9 — escape § в num + phys9_legacy.js + финалы 5 глав
Багфиксы: - gen_phys9_ch.js: убран двойной escape \u00a7 → литерал § (раньше карточка показывала '\u00a7 1' вместо '§ 1') - phys9_legacy.js (262 КБ): извлечён весь JS монолита для глобальных onclick- обработчиков (startAnim1, lab11add/all/reset, checkNum, togglePend36 и пр.). Setup-код в конце обёрнут в try/catch — он рассчитан на DOM монолита. - migrate_phys9_ch4.js + migrate_phys9_content.js: подключают phys9_legacy.js во все 5 ch-файлов перед закрытием <head>. Финалы глав (write_phys9_finals.js): - ch1: 5 задач (кинематика — поезд, разгон, окружность, лодка/река) - ch2: 5 задач (динамика — трение, Гук, свободное падение, перегрузка) - ch3: 5 задач (статика — рычаг, Архимед, блок, КПД накл. плоск., льдина) - ch4: 5 задач (импульс — неупр. удар, ЗСЭ, мощность крана, пуля, бросок) - ch5: 5 контрольных по практикуму (среднее, ЛР2, ЛР4, ЛР6, ЛР10) Все задачи с автопроверкой через checkNum() (теперь работает из legacy.js).
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
<script src="/js/api.js" defer></script>
|
||||
<script src="/js/xp.js" defer></script>
|
||||
<script src="/js/phys.js" defer></script>
|
||||
<script src="/js/phys9_legacy.js" defer></script>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Manrope:wght@600;700;800;900&family=Unbounded:wght@700;800;900&family=JetBrains+Mono:wght@500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root{
|
||||
@@ -616,12 +617,12 @@ const TOTAL_PARAS = 7;
|
||||
const _TB_SLUG = 'physics-9-ch4';
|
||||
|
||||
const PARAS = [
|
||||
{ id:"p31", num:"\\u00a7 31", name:"Импульс тела. Импульс системы тел", sub:"$\\\\vec p = m\\\\vec v$" },
|
||||
{ id:"p32", num:"\\u00a7 32", name:"Закон сохранения импульса. Реактивное движение", sub:"$\\\\sum\\\\vec p = \\\\text{const}$" },
|
||||
{ id:"p33", num:"\\u00a7 33", name:"Механическая работа. Мощность", sub:"$A = F\\\\Delta r\\\\cos\\\\alpha$" },
|
||||
{ id:"p34", num:"\\u00a7 34", name:"Потенциальная энергия", sub:"$E_п = mgh$" },
|
||||
{ id:"p35", num:"\\u00a7 35", name:"Кинетическая энергия. Полная энергия системы тел", sub:"$E_к = mv^2/2$" },
|
||||
{ id:"p36", num:"\\u00a7 36", name:"Закон сохранения энергии", sub:"$E_к + E_п = \\\\text{const}$" },
|
||||
{ id:"p31", num:"§ 31", name:"Импульс тела. Импульс системы тел", sub:"$\\\\vec p = m\\\\vec v$" },
|
||||
{ id:"p32", num:"§ 32", name:"Закон сохранения импульса. Реактивное движение", sub:"$\\\\sum\\\\vec p = \\\\text{const}$" },
|
||||
{ id:"p33", num:"§ 33", name:"Механическая работа. Мощность", sub:"$A = F\\\\Delta r\\\\cos\\\\alpha$" },
|
||||
{ id:"p34", num:"§ 34", name:"Потенциальная энергия", sub:"$E_п = mgh$" },
|
||||
{ id:"p35", num:"§ 35", name:"Кинетическая энергия. Полная энергия системы тел", sub:"$E_к = mv^2/2$" },
|
||||
{ id:"p36", num:"§ 36", name:"Закон сохранения энергии", sub:"$E_к + E_п = \\\\text{const}$" },
|
||||
{ id:"final4", num:'\u2605', name:'Финал главы', sub:"Итоги · боссы главы 4", final:true }
|
||||
];
|
||||
PARAS.forEach(p => { STATE.progress[p.id] = 0; });
|
||||
@@ -2040,11 +2041,69 @@ function build_final4(){
|
||||
const box = document.getElementById('final4-body');
|
||||
let html = '';
|
||||
html += makeCard('theory', "Финал главы 4", "★", `
|
||||
<p><b>Финал главы 4</b> — этот параграф в разработке (Phase 4+).</p>
|
||||
<p>Здесь появятся: теория, формулы, разобранные примеры и 3–4 интерактива в стиле «физики 10» — векторные диаграммы, графики движения, ползунки и автопроверяемые тренажёры.</p>
|
||||
<p style="margin-top:10px;padding:10px 14px;background:var(--sec-acc-soft);border-radius:9px;font-size:.92rem">
|
||||
<b>Phase 0:</b> создан скелет. <b>Phase 5:</b> наполнение по учебнику «Физика 9» (Исаченкова, Сокольский, Захаревич, 2019).
|
||||
</p>
|
||||
|
||||
<div class="formula-grid" style="margin-bottom:20px">
|
||||
<div class="fcard highlight"><h3>Импульс</h3>
|
||||
<div class="main-f">$\\vec{p} = m\\vec{v}$</div>
|
||||
<p>ЗСИ: $\\sum\\vec{p}_{\\text{до}} = \\sum\\vec{p}_{\\text{после}}$</p>
|
||||
</div>
|
||||
<div class="fcard"><h3>Работа · мощность</h3>
|
||||
<div class="main-f">$A = F\\Delta r\\cos\\alpha$</div>
|
||||
<p>$P = A/\\Delta t$ · $E_к = mv^2/2$ · $E_п = mgh$</p>
|
||||
</div>
|
||||
<div class="fcard"><h3>ЗСЭ</h3>
|
||||
<div class="main-f">$E_к + E_п = \\text{const}$</div>
|
||||
<p>В замкнутой консерв. сист. полная мех. энергия сохраняется</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section-title"><i class="fas fa-star"></i> Интегрированные задачи</div>
|
||||
|
||||
<div class="task-card">
|
||||
<div class="task-num">Задача 1</div>
|
||||
<div class="task-text">Тележка массой $m_1 = 3$ кг движется со скоростью $v_1 = 4$ м/с и сталкивается с покоящейся тележкой массой $m_2 = 1$ кг. После сцепления они движутся вместе. Найдите их общую скорость.</div>
|
||||
<div class="task-hint">ЗСИ: $m_1 v_1 = (m_1 + m_2) v$, отсюда $v = m_1 v_1 / (m_1 + m_2)$.</div>
|
||||
<div class="ans-row"><input type="number" class="ans-inp" id="fin4-q1" step="any"><span class="unit-lbl">м/с</span>
|
||||
<button class="btn btn-pri" onclick="checkNum('fin4-q1', 3, 'м/с', 0.05)">Проверить</button></div>
|
||||
<div class="feedback" id="fb-fin4-q1"></div>
|
||||
</div>
|
||||
|
||||
<div class="task-card">
|
||||
<div class="task-num">Задача 2</div>
|
||||
<div class="task-text">Тело массой $m = 2$ кг падает с высоты $h = 5$ м без начальной скорости. Найдите кинетическую энергию тела в момент удара о землю (сопротивлением воздуха пренебречь). $g = 10$ м/с².</div>
|
||||
<div class="task-hint">ЗСЭ: вся потенциальная энергия переходит в кинетическую. $E_к = mgh$.</div>
|
||||
<div class="ans-row"><input type="number" class="ans-inp" id="fin4-q2" step="any"><span class="unit-lbl">Дж</span>
|
||||
<button class="btn btn-pri" onclick="checkNum('fin4-q2', 100, 'Дж', 1)">Проверить</button></div>
|
||||
<div class="feedback" id="fb-fin4-q2"></div>
|
||||
</div>
|
||||
|
||||
<div class="task-card">
|
||||
<div class="task-num">Задача 3</div>
|
||||
<div class="task-text">Подъёмный кран поднимает груз массой $m = 500$ кг на высоту $h = 12$ м за $t = 30$ с. Найдите среднюю мощность крана. $g = 10$ м/с².</div>
|
||||
<div class="task-hint">$A = mgh$, $P = A/t$.</div>
|
||||
<div class="ans-row"><input type="number" class="ans-inp" id="fin4-q3" step="any"><span class="unit-lbl">Вт</span>
|
||||
<button class="btn btn-pri" onclick="checkNum('fin4-q3', 2000, 'Вт', 10)">Проверить</button></div>
|
||||
<div class="feedback" id="fb-fin4-q3"></div>
|
||||
</div>
|
||||
|
||||
<div class="task-card">
|
||||
<div class="task-num">Задача 4</div>
|
||||
<div class="task-text">Пуля массой $m = 10$ г летит со скоростью $v = 400$ м/с. Найдите модуль её импульса.</div>
|
||||
<div class="task-hint">$p = mv$. Не забудьте перевести массу в кг.</div>
|
||||
<div class="ans-row"><input type="number" class="ans-inp" id="fin4-q4" step="any"><span class="unit-lbl">кг·м/с</span>
|
||||
<button class="btn btn-pri" onclick="checkNum('fin4-q4', 4, 'кг·м/с', 0.05)">Проверить</button></div>
|
||||
<div class="feedback" id="fb-fin4-q4"></div>
|
||||
</div>
|
||||
|
||||
<div class="task-card">
|
||||
<div class="task-num">Задача 5 (повышенный уровень)</div>
|
||||
<div class="task-text">Камень бросают вертикально вверх со скоростью $v_0 = 20$ м/с. На какой высоте $h$ кинетическая энергия камня станет в 3 раза меньше начальной? $g = 10$ м/с².</div>
|
||||
<div class="task-hint">ЗСЭ: $\\dfrac{mv_0^2}{2} = \\dfrac{mv^2}{2} + mgh$. По условию $\\dfrac{mv^2}{2} = \\dfrac{1}{3}\\dfrac{mv_0^2}{2}$. Отсюда $mgh = \\dfrac{2}{3}\\dfrac{mv_0^2}{2}$, т. е. $h = \\dfrac{v_0^2}{3g}$.</div>
|
||||
<div class="ans-row"><input type="number" class="ans-inp" id="fin4-q5" step="any"><span class="unit-lbl">м</span>
|
||||
<button class="btn btn-pri" onclick="checkNum('fin4-q5', 13.3, 'м', 0.3)">Проверить</button></div>
|
||||
<div class="feedback" id="fb-fin4-q5"></div>
|
||||
</div>
|
||||
|
||||
`);
|
||||
html += secNav('p36', null);
|
||||
html += readButton('final4');
|
||||
|
||||
Reference in New Issue
Block a user