feat(phys10 phase7 final): итоговая шпаргалка + 10 боссов + ачивка «Магистр физики 10» (+150 XP)

This commit is contained in:
Maxim Dolgolyov
2026-05-29 18:46:10 +03:00
parent 27a67d0866
commit 7a703bd184
+207 -12
View File
@@ -152,11 +152,17 @@ main{max-width:1100px;margin:0 auto;padding:32px 24px 60px}
.cheat-card.c1::before{background:linear-gradient(180deg,var(--ch1),var(--ch1-d))}
.cheat-card.c2::before{background:linear-gradient(180deg,var(--ch2),var(--ch2-d))}
.cheat-card.c3::before{background:linear-gradient(180deg,var(--ch3),var(--ch3-d))}
.cheat-card.c4::before{background:linear-gradient(180deg,var(--ch4),var(--ch4-d))}
.cheat-card.c5::before{background:linear-gradient(180deg,var(--ch5),var(--ch5-d))}
.cheat-card.c6::before{background:linear-gradient(180deg,var(--ch6),var(--ch6-d))}
.cheat-head{display:flex;align-items:center;gap:9px;margin-bottom:9px;padding-left:6px}
.cheat-badge{font-size:.7rem;font-weight:800;padding:2px 8px;border-radius:99px;color:#fff;letter-spacing:.05em;text-transform:uppercase}
.cheat-card.c1 .cheat-badge{background:var(--ch1)}
.cheat-card.c2 .cheat-badge{background:var(--ch2)}
.cheat-card.c3 .cheat-badge{background:var(--ch3)}
.cheat-card.c4 .cheat-badge{background:var(--ch4)}
.cheat-card.c5 .cheat-badge{background:var(--ch5)}
.cheat-card.c6 .cheat-badge{background:var(--ch6)}
.cheat-title{font-weight:800;color:var(--text);font-size:.98rem}
.cheat-list{list-style:none;padding-left:6px;margin:0}
.cheat-list li{padding:6px 0;border-bottom:1px dashed var(--border);font-size:.92rem;line-height:1.5;color:var(--text)}
@@ -374,18 +380,110 @@ html.dark .final-cta-sub{color:#fcd34d}
<div class="final-head-text">
<div class="final-head-tag">Финал курса</div>
<div class="final-head-title">Босс-проверка по всему курсу</div>
<div class="final-head-sub">Шпаргалка курса и интегрированные боссы по всем 6 главам. В разработке (Phase 7).</div>
<div class="final-head-sub">Шпаргалка курса и 10 интегрированных боссов по всем 6 главам. Победи всех — получи «Магистр физики 10» и +150 XP.</div>
</div>
<div class="final-chevron"><svg viewBox="0 0 24 24"><polyline points="6 9 12 15 18 9"/></svg></div>
</div>
<div class="final-body" id="final-body">
<div class="fin-placeholder">
<h3>Финал курса — в разработке</h3>
<p>Итоговая шпаргалка по всем 37 параграфам и 8&ndash;10 интегрированных боссов появятся в Phase 7 (после завершения всех 6 глав).</p>
<div class="fin-section-title">
<svg viewBox="0 0 24 24"><path d="M4 6h16M4 12h16M4 18h10"/></svg>
Шпаргалка курса
</div>
<div id="fin-bosses-container" style="display:none"></div>
<div class="cheat-grid">
<div class="cheat-card c1">
<div class="cheat-head">
<span class="cheat-badge">Гл. 1</span>
<span class="cheat-title">МКТ</span>
</div>
<ul class="cheat-list">
<li>$\nu = N/N_A$, $\; N_A = 6 \cdot 10^{23}$</li>
<li>$p = \dfrac{1}{3} n m \overline{v^2} = \dfrac{2}{3} n \overline{E_k}$</li>
<li>$\overline{E_k} = \dfrac{3}{2} k_B T$</li>
<li>$pV = \nu RT$ (Клапейрон–Менделеев)</li>
<li>Изопроцессы: $pV/T = \text{const}$</li>
<li>Влажность: $\varphi = p/p_н$</li>
</ul>
</div>
<div class="cheat-card c2">
<div class="cheat-head">
<span class="cheat-badge">Гл. 2</span>
<span class="cheat-title">Термодинамика</span>
</div>
<ul class="cheat-list">
<li>$U = \dfrac{3}{2} \nu RT$ (одноатомный)</li>
<li>$A = p \Delta V$ (изобарно)</li>
<li>$Q = cm\Delta T$, $\; Q = \lambda m$</li>
<li>$\Delta U = Q - A_{газ}$ (1-й закон)</li>
<li>$\eta = \dfrac{Q_1 - Q_2}{Q_1}$</li>
<li>$\eta_{\text{Карно}} = 1 - \dfrac{T_2}{T_1}$</li>
</ul>
</div>
<div class="cheat-card c3">
<div class="cheat-head">
<span class="cheat-badge">Гл. 3</span>
<span class="cheat-title">Электростатика</span>
</div>
<ul class="cheat-list">
<li>$F = \dfrac{kq_1 q_2}{r^2}$ (Кулон)</li>
<li>$E = \dfrac{kq}{r^2}$, $\; \varphi = \dfrac{kq}{r}$</li>
<li>$A = qU$</li>
<li>$C = q/U = \dfrac{\varepsilon \varepsilon_0 S}{d}$</li>
<li>$W = \dfrac{CU^2}{2}$</li>
</ul>
</div>
<div class="cheat-card c4">
<div class="cheat-head">
<span class="cheat-badge">Гл. 4</span>
<span class="cheat-title">Постоянный ток</span>
</div>
<ul class="cheat-list">
<li>$I = q/t$</li>
<li>$\mathcal{E} = A_{ст}/q$ (ЭДС)</li>
<li>$I = \dfrac{\mathcal{E}}{R+r}$ (полная цепь)</li>
<li>$\eta = \dfrac{R}{R+r}$</li>
</ul>
</div>
<div class="cheat-card c5">
<div class="cheat-head">
<span class="cheat-badge">Гл. 5</span>
<span class="cheat-title">Магнетизм и ЭМИ</span>
</div>
<ul class="cheat-list">
<li>$F_A = BIL\sin\alpha$ (Ампер)</li>
<li>$F_L = qvB\sin\alpha$ (Лоренц)</li>
<li>$\Phi = BS\cos\alpha$</li>
<li>$\mathcal{E}_i = -N \dfrac{\Delta\Phi}{\Delta t}$ (Фарадей)</li>
<li>$W_L = \dfrac{LI^2}{2}$</li>
</ul>
</div>
<div class="cheat-card c6">
<div class="cheat-head">
<span class="cheat-badge">Гл. 6</span>
<span class="cheat-title">Ток в средах</span>
</div>
<ul class="cheat-list">
<li>Металлы: электроны, $R = \rho L/S$</li>
<li>Электролиты: $m = \dfrac{MIt}{Fn}$, $F = 96500$</li>
<li>Газы: ионизация; тлеющий, дуговой, искровой, коронный разряды</li>
<li>Полупроводники: электроны + дырки, p-n переход</li>
</ul>
</div>
</div>
<div class="fin-section-title">
<svg viewBox="0 0 24 24"><path d="M14.5 3.5l-5 5L4 4l1.5 6L3 12l5 1 1 5 2.5-2.5 6 1.5-4.5-5.5 5-5"/></svg>
10 интегрированных боссов
</div>
<div class="boss-overall-bar">
<div class="lab" id="fin-boss-lab">Боссов побеждено: 0 / 10</div>
<div class="bar"><div class="fill" id="fin-boss-fill" style="width:0%"></div></div>
</div>
<div id="fin-bosses-container"></div>
<div class="final-cta" id="final-cta">
<div class="final-cta-icon">
@@ -393,7 +491,7 @@ html.dark .final-cta-sub{color:#fcd34d}
</div>
<div class="final-cta-txt">
<div class="final-cta-title">Курс Физика 10 пройден!</div>
<div class="final-cta-sub">Вы прошли всю итоговую проверку курса. +50 XP, ачивка «Магистр физики 10» получена.</div>
<div class="final-cta-sub">Вы прошли всю итоговую проверку курса. +150 XP, ачивка «Магистр физики 10» получена.</div>
</div>
<a href="/textbooks" class="final-cta-btn">
К каталогу учебников
@@ -516,7 +614,104 @@ function renderProgress(children) {
/* COURSE FINAL — lazy bosses */
var FIN_BOSS_KEY = 'physics10_course_bosses';
var FIN_BOSSES = [];
var FIN_BOSSES = [
{
n: 1,
title: 'МКТ + Термодинамика',
tag: 'Гл. 1 + 2',
q: '1 моль одноатомного идеального газа изохорно нагрели от $T_1 = 300$ К до $T_2 = 600$ К. Найди изменение внутренней энергии $\\Delta U$ в Дж. ($R = 8{,}3$ Дж/(моль·К))',
hint: 'Для одноатомного газа $\\Delta U = \\dfrac{3}{2} \\nu R \\Delta T = 1{,}5 \\cdot 1 \\cdot 8{,}3 \\cdot 300 \\approx 3735$ Дж.',
ans: 3735,
tol: 50,
step: '1'
},
{
n: 2,
title: 'Изопроцесс + Работа',
tag: 'Гл. 1 + 2',
q: 'Газ изобарно при давлении $p = 2$ атм расширили от объёма $V_1 = 5$ л до $V_2 = 15$ л. Найди работу газа в Дж. (1 атм $\\approx 10^5$ Па)',
hint: '$A = p\\Delta V = 2 \\cdot 10^5 \\cdot (15 - 5) \\cdot 10^{-3} = 2 \\cdot 10^5 \\cdot 10^{-2} = 2000$ Дж.',
ans: 2000,
tol: 30,
step: '1'
},
{
n: 3,
title: 'Цикл Карно',
tag: 'Гл. 2',
q: 'Идеальный двигатель Карно работает между нагревателем $T_1 = 600$ К и холодильником $T_2 = 300$ К. Каков КПД в процентах?',
hint: '$\\eta = 1 - \\dfrac{T_2}{T_1} = 1 - \\dfrac{300}{600} = 0{,}5 = 50\\%$.',
ans: 50,
step: '1'
},
{
n: 4,
title: 'Закон Кулона',
tag: 'Гл. 3',
q: 'Два точечных заряда по $+2$ мкКл расположены на расстоянии $0{,}1$ м друг от друга в вакууме. Найди силу взаимодействия в Н. ($k = 9 \\cdot 10^9$ Н·м²/Кл²)',
hint: '$F = \\dfrac{k q_1 q_2}{r^2} = \\dfrac{9 \\cdot 10^9 \\cdot (2 \\cdot 10^{-6})^2}{(0{,}1)^2} = \\dfrac{9 \\cdot 10^9 \\cdot 4 \\cdot 10^{-12}}{10^{-2}} = 3{,}6$ Н.',
ans: 3.6,
tol: 0.2,
step: '0.01'
},
{
n: 5,
title: 'Энергия конденсатора',
tag: 'Гл. 3',
q: 'Конденсатор ёмкостью $C = 100$ мкФ заряжен до напряжения $U = 200$ В. Найди энергию электрического поля конденсатора в Дж.',
hint: '$W = \\dfrac{CU^2}{2} = \\dfrac{10^{-4} \\cdot 200^2}{2} = \\dfrac{10^{-4} \\cdot 4 \\cdot 10^4}{2} = 2$ Дж.',
ans: 2,
step: '1'
},
{
n: 6,
title: 'Закон Ома для полной цепи',
tag: 'Гл. 4',
q: 'Источник тока имеет ЭДС $\\mathcal{E} = 12$ В и внутреннее сопротивление $r = 1$ Ом. Внешнее сопротивление $R = 5$ Ом. Найди КПД источника в процентах (округли до целых).',
hint: '$\\eta = \\dfrac{R}{R+r} = \\dfrac{5}{5+1} = \\dfrac{5}{6} \\approx 0{,}833 \\approx 83\\%$.',
ans: 83,
tol: 1,
step: '1'
},
{
n: 7,
title: 'Сила Лоренца + Радиус',
tag: 'Гл. 5',
q: 'Протон ($m = 1{,}67 \\cdot 10^{-27}$ кг, $q = 1{,}6 \\cdot 10^{-19}$ Кл) влетает перпендикулярно в магнитное поле $B = 1$ Тл со скоростью $v = 10^6$ м/с. Найди радиус его траектории в мм (допуск 0{,}5).',
hint: '$R = \\dfrac{mv}{qB} = \\dfrac{1{,}67 \\cdot 10^{-27} \\cdot 10^6}{1{,}6 \\cdot 10^{-19} \\cdot 1} \\approx 1{,}04 \\cdot 10^{-2}$ м $\\approx 10{,}4$ мм.',
ans: 10.4,
tol: 0.5,
step: '0.01'
},
{
n: 8,
title: 'Закон Фарадея',
tag: 'Гл. 5',
q: 'Катушка из $N = 200$ витков пронизывается магнитным потоком, изменяющимся на $\\Delta\\Phi = 0{,}5$ Вб за $\\Delta t = 0{,}1$ с. Найди модуль ЭДС индукции в В.',
hint: '$|\\mathcal{E}_i| = N \\dfrac{\\Delta\\Phi}{\\Delta t} = 200 \\cdot \\dfrac{0{,}5}{0{,}1} = 200 \\cdot 5 = 1000$ В.',
ans: 1000,
step: '1'
},
{
n: 9,
title: 'Энергия катушки',
tag: 'Гл. 5',
q: 'Катушка с индуктивностью $L = 0{,}5$ Гн, по которой течёт ток $I = 4$ А. Найди энергию магнитного поля катушки в Дж.',
hint: '$W = \\dfrac{LI^2}{2} = \\dfrac{0{,}5 \\cdot 16}{2} = 4$ Дж.',
ans: 4,
step: '1'
},
{
n: 10,
title: 'Магистр электродинамики',
tag: 'синтез курса',
q: 'В электролитической ванне через раствор CuSO$_4$ пропускают ток $I = 5$ А в течение $t = 1$ часа. Сколько меди выделится на катоде в граммах? ($M_{Cu} = 64$ г/моль, валентность $n = 2$, постоянная Фарадея $F = 96\\,500$ Кл/моль; округли до сотых, допуск 0{,}05).',
hint: 'Закон Фарадея для электролиза: $m = \\dfrac{MIt}{Fn} = \\dfrac{64 \\cdot 5 \\cdot 3600}{96\\,500 \\cdot 2} = \\dfrac{1\\,152\\,000}{193\\,000} \\approx 5{,}97$ г.',
ans: 5.97,
tol: 0.05,
step: '0.01'
}
];
function loadFinBossState(){
try { return JSON.parse(localStorage.getItem(FIN_BOSS_KEY) || '{}') || {}; }
@@ -557,21 +752,21 @@ function maybeUnlockMaster(state){
localStorage.setItem(FIN_ACH_KEY, '1');
/* +50 XP */
/* +150 XP — Физика 10 самый крупный курс (37 параграфов, 6 глав) */
var xp = parseInt(localStorage.getItem('physics10_xp') || '0', 10) || 0;
localStorage.setItem('physics10_xp', String(xp + 50));
localStorage.setItem('physics10_xp', String(xp + 150));
/* trigger global XP system if available */
try {
if (window.LS && typeof window.LS.addXp === 'function') {
window.LS.addXp(50, 'physics10-master');
window.LS.addXp(150, 'physics10-master');
} else if (typeof window.addXp === 'function') {
window.addXp(50, 'physics10-master');
window.addXp(150, 'physics10-master');
}
} catch(e){}
/* confetti */
try { if (typeof window.confetti === 'function') window.confetti({particleCount: 160, spread: 90, origin: {y: .6}}); } catch(e){}
try { if (typeof window.confetti === 'function') window.confetti({particleCount: 220, spread: 110, origin: {y: .6}}); } catch(e){}
/* light up ach-strip */
var strip = document.getElementById('ach-strip');