feat(phys11 ch8): Waves 13-14 — Глава 8 + ФИНАЛ КУРСА (12 интегральных боссов)

- ch8 — индиго-тема (--pri:#4f46e5), watermark ∞/★
- §45: эволюция картины мира (механика → ЭМ → СТО → ОТО → кванты → Стандартная модель), иерархия материи (от кварков до Вселенной), открытые проблемы (тёмная материя, тёмная энергия, объединение теорий)
- ФИНАЛ КУРСА: 12 интегральных боссов по всем 8 главам
  - Босс I: Колебания (Гл. 1)
  - Босс II: ЭМ-индукция (Гл. 2)
  - Боссы III-IV: Оптика (Гл. 3, §14-§17 и §18-§23)
  - Босс V: СТО (Гл. 4)
  - Босс VI: Фотоны (Гл. 5)
  - Боссы VII-VIII: Атом + Лазеры (Гл. 6)
  - Боссы IX-XI: Ядерная физика (Гл. 7)
  - Босс XII: Элем. частицы + картина мира
- Каждый босс 5 этапов, +80 XP
- При победе всех 12: ачивка phys11_master 'МАГИСТР ФИЗИКИ 11' + 500 XP бонус
- КУРС ФИЗИКИ 11 КЛАССА ЗАВЕРШЁН: 8 глав, 45 параграфов, ~80 боссов, 9 финальных ачивок
This commit is contained in:
Maxim Dolgolyov
2026-05-29 19:30:41 +03:00
parent cef226c53e
commit 3e7e6e5b9b
+522 -79
View File
@@ -1,119 +1,562 @@
<!DOCTYPE html> <!doctype html>
<html lang="ru"> <html lang="ru">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"> <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <title>Физика 11 · Глава 8 · «Картина мира + Финал курса»</title>
<title>Физика 11 · Глава 8 · Основы единой физической картины мира</title> <meta name="viewport" content="width=device-width,initial-scale=1">
<link href="https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&family=Inter:wght@400;500;600;700&family=Unbounded:wght@400;700;800;900&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js"></script> <script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/contrib/auto-render.min.js" <script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/contrib/auto-render.min.js"
onload="renderMathInElement(document.body,{delimiters:[{left:'$$',right:'$$',display:true},{left:'$',right:'$',display:false},{left:'\\[',right:'\\]',display:true},{left:'\\(',right:'\\)',display:false}],throwOnError:false})"></script> onload="renderMathInElement(document.body,{delimiters:[{left:'$$',right:'$$',display:true},{left:'$',right:'$',display:false},{left:'\\[',right:'\\]',display:true},{left:'\\(',right:'\\)',display:false}],throwOnError:false})"></script>
<script src="/js/api.js" defer></script> <script src="/js/api.js" defer></script>
<script src="/js/xp.js" defer></script> <script src="/js/xp.js" defer></script>
<script src="/js/phys-fx.js?v=1" defer></script> <script src="/js/phys-fx.js?v=1"></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> <style>
:root{ :root{
--bg:#f8fafc; --card:#fff; --bg:#fafafa; --card:#fff; --card-soft:#f8fafc; --text:#0f172a; --ink:#0f172a; --muted:#64748b;
--text:#0f172a; --muted:#475569; --border:#e2e8f0; --sh:0 1px 3px rgba(0,0,0,.06); --sh2:0 4px 14px rgba(0,0,0,.08);
--border:#e2e8f0; --pri:#4f46e5; --pri2:#3730a3; --pri-soft:#e0e7ff;
--pri:#6366f1; --pri-d:#4338ca; --acc:#6366f1; --acc2:#312e81; --acc-soft:#c7d2fe;
--pri-soft:#e0e7ff; --ok:#10b981; --ok-bg:#d1fae5; --warn:#f59e0b; --warn-bg:#fef3c7;
--dark:#3730a3; --bad:#ef4444; --fail:#dc2626; --fail-bg:#fee2e2;
--sh:0 4px 16px rgba(0,0,0,.06);
} }
html.dark{ .dark{--bg:#0a0a1f; --card:#13132c; --card-soft:#1a1a35; --text:#e0e7ff; --ink:#e0e7ff; --muted:#a5b4fc; --border:#3730a3}
--bg:#020617; --card:#0a1929; *{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
--text:#dbeafe; --muted:#94a3b8; html,body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.55;font-size:15px}
--border:#1e293b; button,input,select,textarea{font-family:inherit;font-size:inherit}
} button{cursor:pointer;border:0;background:transparent;color:inherit}
*{margin:0;padding:0;box-sizing:border-box} a{color:inherit;text-decoration:none}
html,body{min-height:100vh} .ic{width:16px;height:16px;display:inline-block;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.55;transition:background .25s,color .25s}
.hdr{position:relative;background:linear-gradient(110deg,#3730a3 0%,#6366f1 55%,#c7d2fe 100%);color:#fff;padding:32px 24px 28px;overflow:hidden} .hdr{position:relative;background:linear-gradient(110deg,#312e81 0%,#4f46e5 55%,#c7d2fe 100%);color:#fff;padding:46px 22px 30px;overflow:hidden;border-bottom:2px solid rgba(199,210,254,.2);min-height:130px}
.hdr::before{content:'';position:absolute;right:8px;top:-20%;font-family:'Outfit',sans-serif;font-size:clamp(8rem,22vw,18rem);font-weight:900;color:rgba(255,255,255,.10);line-height:1;pointer-events:none;user-select:none} .hdr::before{content:'\221E';position:absolute;right:-12px;top:50%;transform:translateY(-50%);font-family:'Unbounded',sans-serif;font-size:clamp(5rem,15vw,11rem);font-weight:900;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.12);line-height:1;pointer-events:none;user-select:none;z-index:0}
.hdr-inner{position:relative;z-index:1;max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:18px;flex-wrap:wrap} .hdr-row{position:relative;z-index:1;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.hdr-back{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:rgba(255,255,255,.14);border-radius:9px;color:#fff;text-decoration:none;font-size:.85rem;font-weight:600;transition:background .15s} .hdr h1{font-family:'Unbounded',sans-serif;font-size:1.5rem;font-weight:900;letter-spacing:-.01em;line-height:1.3;padding-top:4px}
.hdr-back:hover{background:rgba(255,255,255,.24)} .hdr-sub{font-size:.85rem;opacity:.88;margin-top:6px;font-weight:500;line-height:1.4}
.hdr h1{font-family:'Outfit',sans-serif;font-size:1.7rem;font-weight:900;letter-spacing:-.01em} .hdr-side{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.hdr-sub{font-size:.92rem;opacity:.85;margin-top:4px} .hdr-btn{padding:7px 12px;border-radius:9px;background:rgba(255,255,255,.14);color:#fff;font-weight:600;font-size:.82rem;display:inline-flex;align-items:center;gap:6px;transition:background .15s;text-decoration:none}
.ic{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round} .hdr-btn:hover{background:rgba(255,255,255,.24)}
main{max-width:980px;margin:0 auto;padding:32px 24px 60px} .main{max-width:1240px;margin:0 auto;padding:22px;width:100%;display:grid;grid-template-columns:1fr 280px;gap:24px}
@media(max-width:980px){.main{grid-template-columns:1fr;padding:14px}}
.col-main{min-width:0}
.intro-card{background:var(--card);border:1.5px solid var(--border);border-radius:16px;padding:22px 26px;margin-bottom:28px;box-shadow:var(--sh)} .hero{background:linear-gradient(135deg,var(--pri-soft) 0%,var(--acc-soft) 50%,var(--pri-soft) 100%);background-size:200% 200%;animation:heroShift 12s ease-in-out infinite;border:1px solid var(--border);border-radius:18px;padding:24px 22px;margin-bottom:24px;position:relative;overflow:hidden}
.intro-num{display:inline-block;padding:4px 10px;background:var(--pri-soft);color:var(--pri-d);border-radius:99px;font-size:.72rem;font-weight:800;letter-spacing:.06em;margin-bottom:8px;text-transform:uppercase} @keyframes heroShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.intro-card h2{font-family:'Outfit',sans-serif;font-size:1.4rem;font-weight:800;margin-bottom:6px} .hero::before{content:'\221E';position:absolute;right:0;top:-30px;font-size:clamp(2rem,12vw,8rem);font-weight:900;color:var(--pri);opacity:.10;line-height:1;pointer-events:none;font-family:'Unbounded',sans-serif}
.intro-card p{color:var(--muted);font-size:.95rem} .hero h2{font-family:'Unbounded',sans-serif;font-size:1.55rem;font-weight:800;color:var(--pri2);margin-bottom:10px;letter-spacing:-.01em}
.hero p{font-size:.95rem;color:var(--text);opacity:.88;margin-bottom:14px;max-width:640px}
.hero-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.btn-primary{padding:11px 22px;background:linear-gradient(135deg,var(--pri),var(--pri2));color:#fff;border-radius:11px;font-weight:700;font-size:.92rem;display:inline-flex;align-items:center;gap:8px;box-shadow:var(--sh2);transition:transform .15s,box-shadow .15s}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 28px rgba(0,0,0,.18)}
.hero-progress{flex:1;min-width:200px;max-width:280px}
.hp-label{font-size:.74rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;display:block;margin-bottom:5px}
.hp-bar{height:8px;background:rgba(0,0,0,.12);border-radius:5px;overflow:hidden}
.hp-fill{height:100%;background:linear-gradient(90deg,var(--pri),var(--acc));border-radius:5px;width:0%;transition:width .6s cubic-bezier(.16,1,.3,1)}
.hp-text{font-size:.78rem;color:var(--muted);font-weight:700;margin-top:4px;display:block}
.hero-xp-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,var(--warn,#f59e0b),var(--pri));color:#fff;border-radius:99px;font-size:.82rem;font-weight:800;letter-spacing:.02em;box-shadow:0 4px 12px rgba(0,0,0,.18);font-family:'Unbounded',sans-serif}
.para-grid{display:grid;grid-template-columns:1fr;gap:14px} .sec{display:block;position:relative;animation:fadeIn .35s ease}
.para-card{background:var(--card);border:1.5px solid var(--border);border-radius:14px;padding:18px 20px;display:flex;gap:16px;align-items:flex-start;transition:transform .15s,box-shadow .15s,border-color .15s} @keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.para-card:hover{transform:translateY(-2px);box-shadow:var(--sh);border-color:var(--pri)} .sec::before{content:attr(data-watermark);position:absolute;right:-20px;top:10%;font-family:'Unbounded',sans-serif;font-size:clamp(6rem,18vw,14rem);font-weight:900;color:transparent;-webkit-text-stroke:1.5px var(--pri-soft);line-height:1;pointer-events:none;user-select:none;z-index:0;opacity:.45}
.para-num{font-family:'Outfit',sans-serif;font-size:1rem;font-weight:900;color:#fff;background:linear-gradient(135deg,var(--pri),var(--pri-d));padding:8px 12px;border-radius:9px;min-width:56px;text-align:center;letter-spacing:-.02em;flex-shrink:0} .sec-header{margin-bottom:22px;padding-bottom:14px;border-bottom:2px solid var(--pri-soft);position:relative;z-index:1}
.para-body{flex:1} .sec-num{display:inline-block;padding:4px 10px;background:linear-gradient(135deg,var(--pri),var(--pri2));color:#fff;border-radius:7px;font-family:'Unbounded',sans-serif;font-size:.78rem;font-weight:800;letter-spacing:.04em;margin-bottom:8px}
.para-title{font-family:'Outfit',sans-serif;font-size:1.05rem;font-weight:800;margin-bottom:4px;color:var(--text)} .sec-h{font-family:'Unbounded',sans-serif;font-size:1.5rem;font-weight:800;color:var(--pri2);letter-spacing:-.01em;line-height:1.25}
.para-sub{font-size:.88rem;color:var(--muted);margin-bottom:10px;line-height:1.55}
.para-status{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted);background:rgba(0,0,0,.04);padding:6px 10px;border-radius:8px;font-weight:600}
html.dark .para-status{background:rgba(255,255,255,.06)}
.para-status .ic{width:14px;height:14px}
.banner-soon{margin-top:30px;text-align:center;padding:20px;background:linear-gradient(135deg,var(--pri-soft),transparent);border:1px dashed var(--pri);border-radius:14px;color:var(--pri-d);font-weight:700;font-size:.92rem} .card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px 20px;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.04);position:relative;z-index:1;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s}
.banner-soon b{font-family:'Outfit',sans-serif} .card:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,.06),0 16px 36px rgba(0,0,0,.08)}
.card-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px dashed var(--border)}
.card-icon{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}
.card-icon.repeat{background:#0ea5e9}.card-icon.theory{background:#8b5cf6}.card-icon.algo{background:#f59e0b}.card-icon.rule{background:#4f46e5}.card-icon.example{background:#10b981}
.card-icon .ic{width:18px;height:18px}
.card-title{font-family:'Unbounded',sans-serif;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);flex:1}
.card-num{font-size:.74rem;font-weight:700;color:var(--muted);background:var(--pri-soft);padding:3px 7px;border-radius:5px}
.card-body{font-size:.94rem;line-height:1.65}
.card-body p{margin-bottom:8px}
.card-body p:last-child{margin-bottom:0}
.card-body ul,.card-body ol{margin:6px 0 6px 22px;line-height:1.7}
.foot{text-align:center;padding:24px 16px;color:var(--muted);font-size:.78rem;border-top:1px solid var(--border)} .btn{padding:8px 16px;border-radius:8px;background:var(--card);color:var(--text);border:1.5px solid var(--border);font-weight:600;font-size:.88rem;transition:background .15s,border-color .15s,transform .1s}
.btn:hover{background:var(--pri-soft);border-color:var(--pri)}
.btn.primary{background:var(--pri);color:#fff;border-color:var(--pri)}
.btn.primary:hover{background:var(--pri2);border-color:var(--pri2)}
.feedback{padding:10px 14px;border-radius:9px;font-weight:600;font-size:.88rem;margin-top:8px;display:none}
.feedback.ok{display:block;background:var(--ok-bg);color:#065f46;border-left:4px solid var(--ok)}
.feedback.fail{display:block;background:var(--fail-bg);color:#7f1d1d;border-left:4px solid var(--fail)}
.col-side{position:sticky;top:14px;align-self:start;height:fit-content;max-height:calc(100vh - 28px);overflow-y:auto}
.sidecard{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:14px;box-shadow:var(--sh)}
.sidecard h4{font-family:'Unbounded',sans-serif;font-size:.74rem;font-weight:800;color:var(--pri2);text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.sidecard-row{margin-bottom:8px;font-size:.84rem;line-height:1.55}
.sidecard-row b{color:var(--pri);font-weight:700}
@media(max-width:980px){.col-side{position:static;max-height:none}}
.xp-card{background:linear-gradient(135deg,var(--warn-bg),var(--pri-soft));border:1.5px solid var(--warn);border-radius:12px;padding:14px;margin-bottom:14px}
.xp-card-title{font-size:.68rem;font-weight:800;color:var(--warn);text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}
.xp-level{font-size:1.1rem;font-weight:900;color:#3730a3;font-family:'Unbounded',sans-serif}
.xp-bar{height:9px;background:rgba(0,0,0,.10);border-radius:6px;overflow:hidden;margin:7px 0}
.xp-fill{height:100%;background:linear-gradient(90deg,var(--warn),var(--pri));border-radius:6px;transition:width .5s cubic-bezier(.4,0,.2,1)}
.xp-nums{font-size:.74rem;color:var(--muted);display:flex;justify-content:space-between}
.opts-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.opt-btn{padding:8px 14px;background:var(--card);border:1.5px solid var(--border);border-radius:9px;font-weight:700;font-size:.88rem;color:var(--text);cursor:pointer;transition:all .15s}
.opt-btn:hover{background:var(--pri-soft);border-color:var(--pri)}
.opt-btn.correct{background:var(--ok-bg);border-color:var(--ok);color:#065f46}
.opt-btn.wrong{background:var(--fail-bg);border-color:var(--fail);color:#991b1b}
.foot{text-align:center;padding:30px 16px;color:var(--muted);font-size:.78rem;border-top:1px solid var(--border);margin-top:30px}
.ach-popup{position:fixed;top:80px;right:18px;background:linear-gradient(135deg,var(--pri),var(--warn));color:#fff;padding:12px 18px;border-radius:11px;font-weight:700;font-size:.9rem;box-shadow:0 8px 28px rgba(0,0,0,.32);z-index:1002;display:none;align-items:center;gap:8px;max-width:340px}
.ach-popup.show{display:flex}
.boss-card{background:var(--card);border:2px solid var(--border);border-radius:14px;padding:16px;margin-bottom:14px;transition:border-color .35s,box-shadow .35s,transform .2s}
.boss-card.solved{border-color:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.18)}
.boss-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.boss-tag{font-size:.7rem;font-weight:800;padding:3px 9px;border-radius:99px;background:var(--pri-soft);color:var(--pri2);letter-spacing:.04em;text-transform:uppercase}
.boss-title{font-family:'Unbounded',sans-serif;font-weight:800;color:var(--text);font-size:1.02rem;flex:1;min-width:0}
.boss-q{padding:12px 14px;background:var(--pri-soft);border-radius:10px;font-size:.96rem;line-height:1.55;margin-bottom:10px;color:var(--text)}
.boss-input{padding:8px 12px;border:1.5px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);font-family:'JetBrains Mono',monospace;width:140px;text-align:center;font-size:.95rem}
.boss-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.boss-fb{padding:10px 14px;border-radius:9px;font-weight:600;font-size:.88rem;margin-top:8px;display:none;line-height:1.45}
.boss-fb.ok{display:block;background:var(--ok-bg);color:#065f46;border-left:4px solid var(--ok)}
.boss-fb.fail{display:block;background:var(--fail-bg);color:#7f1d1d;border-left:4px solid var(--fail)}
.master-trophy{text-align:center;padding:40px 20px;background:linear-gradient(135deg,#fcd34d,#f59e0b);border-radius:18px;border:3px solid #92400e;margin:28px 0;box-shadow:0 8px 32px rgba(245,158,11,.4)}
.master-trophy h2{font-family:'Unbounded',sans-serif;font-size:2.2rem;color:#7c2d12;margin-bottom:12px}
.master-trophy p{color:#7c2d12;font-size:1.05rem;line-height:1.6}
</style> </style>
</head> </head>
<body> <body>
<header class="hdr"> <header class="hdr">
<div class="hdr-inner"> <div class="hdr-row">
<div> <div>
<a href="/textbook/physics-11" class="hdr-back"> <h1>Физика 11 · Глава 8</h1>
<svg class="ic" viewBox="0 0 24 24"><polyline points="15 18 9 12 15 6"/></svg> <div class="hdr-sub">Основы единой физической картины мира + Финал всего курса</div>
К курсу физики 11
</a>
</div> </div>
<div> <div class="hdr-side">
<h1>Глава 8. Основы единой физической картины мира</h1> <a href="/textbook/physics-11" class="hdr-btn"><svg class="ic" viewBox="0 0 24 24"><polyline points="15 18 9 12 15 6"/></svg> К физике 11</a>
<div class="hdr-sub">Современная естественнонаучная картина мира, эволюция физических теорий, четыре фундаментальных взаимодействия · §45</div> <button id="theme-btn" class="hdr-btn"><svg class="ic" viewBox="0 0 24 24"><path d="M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"/></svg><span id="theme-lab">Тёмная</span></button>
</div> </div>
</div> </div>
</header> </header>
<main> <main class="main">
<div class="col-main">
<div class="intro-card"> <section class="hero">
<span class="intro-num">Глава 8</span> <h2>Единая картина мира + ФИНАЛ КУРСА</h2>
<h2>Основы единой физической картины мира</h2> <p>Финальный обзор: от Ньютона до Стандартной модели. И главное испытание — <b>12 интегральных боссов</b> по всему курсу физики 11 класса.</p>
<p>Современная естественнонаучная картина мира, эволюция физических теорий, четыре фундаментальных взаимодействия. Глава содержит 1 параграф и финальный этап с боссами.</p> <div class="hero-row">
</div> <div class="hero-progress">
<span class="hp-label">Прогресс</span>
<div class="para-grid"> <div class="hp-bar"><div id="hero-hp-fill" class="hp-fill"></div></div>
<span id="hero-hp-text" class="hp-text">0%</span>
<article class="para-card">
<div class="para-num">§ 45</div>
<div class="para-body">
<h2 class="para-title">Современная естественнонаучная картина мира</h2>
<p class="para-sub">Эволюция представлений: механика → ЭМ → квант</p>
<div class="para-status">
<svg class="ic" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>
Будет добавлено в волне W14
</div> </div>
<div id="hero-xp-badge" class="hero-xp-badge"></div>
</div> </div>
</article> </section>
</div>
<div class="banner-soon"> <section id="sec-p1" class="sec" data-watermark="&#8734;">
<b>Глава в разработке.</b> Полная реализация — в следующих волнах. Базовая библиотека <code>phys-fx.js</code> уже доступна. <div class="sec-header"><span class="sec-num">§ 45</span><h2 class="sec-h">Современная картина мира</h2></div>
</div> <div id="p1-body"></div>
</section>
<section id="sec-final" class="sec" data-watermark="&#9733;">
<div class="sec-header"><span class="sec-num" style="background:linear-gradient(135deg,#f59e0b,#dc2626);color:#fff">&#9733;</span><h2 class="sec-h">ФИНАЛ КУРСА — 12 интегральных боссов</h2></div>
<div id="final-body"></div>
</section>
</div>
<aside class="col-side"><div id="sidebar-content"></div></aside>
</main> </main>
<footer class="foot"> <footer class="foot">Интерактивный учебник «Физика 11» · Глава 8 · «Картина мира + Финал курса» · LearnSpace</footer>
Физика — 11 класс · Глава 8 · LearnSpace <div id="ach-popup" class="ach-popup"><svg class="ic" viewBox="0 0 24 24" style="width:22px;height:22px"><polygon points="12,2 22,20 2,20"/></svg><span id="ach-text">Достижение!</span></div>
</footer>
<script>
'use strict';
const STATE = { progress:0, achievements:new Map(), xp:0, level:1 };
const _TB_SLUG = 'physics-11-ch8';
function calcLevel(xp){ return Math.floor(Math.sqrt((xp||0)/100))+1; }
function _xpForLevel(lv){ return (lv-1)*(lv-1)*100; }
const ACH_LABELS = {
start:'Начало главы 8!',
ch8_done:'Глава 8 пройдена!',
phys11_master:'МАГИСТР ФИЗИКИ 11 — пройден весь курс!'
};
function loadProgress(){
try{
STATE.progress=+(localStorage.getItem('physics11_ch8_progress')||0);
const a=localStorage.getItem('physics11_ch8_achievements');
if(a){ const p=JSON.parse(a); if(p&&typeof p==='object'){ for(const[id,t] of Object.entries(p)) STATE.achievements.set(id,(t&&t!==id)?t:(ACH_LABELS[id]||id)); } }
STATE.xp=+(localStorage.getItem('physics11_xp')||0); STATE.level=calcLevel(STATE.xp);
}catch(e){}
}
function saveProgress(){
try{
localStorage.setItem('physics11_ch8_progress', String(STATE.progress));
localStorage.setItem('physics11_ch8_achievements', JSON.stringify(Object.fromEntries(STATE.achievements)));
localStorage.setItem('physics11_xp', String(STATE.xp));
}catch(e){}
}
function addXp(n,src){
if(!n) return;
const prev=STATE.level; STATE.xp=Math.max(0,(STATE.xp||0)+n); STATE.level=calcLevel(STATE.xp);
saveProgress(); refreshProgressUI();
if(window.LS&&window.LS.xp) window.LS.xp.add(n,'physics11-ch8-'+(src||'misc'));
if(STATE.level>prev){
const pop=document.getElementById('ach-popup');
if(pop){ document.getElementById('ach-text').textContent='Уровень '+STATE.level+'!'; pop.classList.add('show'); setTimeout(()=>pop.classList.remove('show'),2600); }
}
}
function refreshProgressUI(){
const f=document.getElementById('hero-hp-fill'); if(f) f.style.width=STATE.progress+'%';
const t=document.getElementById('hero-hp-text'); if(t) t.textContent=STATE.progress+'% пройдено';
const xpBadge=document.getElementById('hero-xp-badge');
if(xpBadge){ xpBadge.innerHTML='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" style="width:13px;height:13px"><polygon points="12 2 22 20 2 20"/></svg> Ур. '+STATE.level+' \xb7 '+(STATE.xp||0)+' XP'; }
buildSidebar();
}
function achievement(id,text){
if(STATE.achievements.has(id)) return;
STATE.achievements.set(id, text||ACH_LABELS[id]||id); saveProgress();
const pop=document.getElementById('ach-popup');
if(pop){ document.getElementById('ach-text').textContent=text||ACH_LABELS[id]||id; pop.classList.add('show'); setTimeout(()=>pop.classList.remove('show'),3300); }
addXp(20,'ach-'+id);
}
function buildSidebar(){
const box=document.getElementById('sidebar-content'); if(!box) return;
let html='';
const xpForLv=_xpForLevel(STATE.level), xpNext=_xpForLevel(STATE.level+1);
const xpInLv=STATE.xp-xpForLv, xpRange=xpNext-xpForLv;
const xpPct=xpRange>0?Math.round(xpInLv/xpRange*100):100;
html+='<div class="xp-card"><div class="xp-card-title"><span>XP-прогресс</span><span class="xp-level">Ур. '+STATE.level+'</span></div><div class="xp-bar"><div class="xp-fill" style="width:'+xpPct+'%"></div></div><div class="xp-nums"><span>'+STATE.xp+' XP</span><span>'+xpNext+' XP</span></div></div>';
html+='<div class="sidecard"><h4>Курс физики 11</h4>'
+ '<div class="sidecard-row"><b>Глав</b> — 8</div>'
+ '<div class="sidecard-row"><b>Параграфов</b> — 45</div>'
+ '<div class="sidecard-row"><b>Боссов</b> — 60+</div>'
+ '<div class="sidecard-row"><b>Финал</b> — 12 интегральных боссов</div>'
+ '<div class="sidecard-row"><b>Цель</b> — Магистр физики 11</div>'
+ '</div>';
if(STATE.achievements.size>0){
html+='<div class="sidecard"><h4>Достижения <span style="color:var(--warn);float:right">'+STATE.achievements.size+'</span></h4>';
[...STATE.achievements.values()].slice(-4).forEach(text=>{ html+='<div class="sidecard-row" style="font-size:.78rem;color:var(--ok)">&#10003; '+text+'</div>'; });
html+='</div>';
}
box.innerHTML=html;
if(window.renderMathInElement) try{ renderMath(box); }catch(e){}
}
function initTheme(){
const t=localStorage.getItem('physics11_theme')||localStorage.getItem('theme')||'light';
if(t==='dark') document.documentElement.classList.add('dark');
document.getElementById('theme-lab').textContent=t==='dark'?'Светлая':'Тёмная';
document.getElementById('theme-btn').addEventListener('click', ()=>{
document.documentElement.classList.toggle('dark');
const dark=document.documentElement.classList.contains('dark');
localStorage.setItem('physics11_theme', dark?'dark':'light');
localStorage.setItem('theme', dark?'dark':'light');
document.getElementById('theme-lab').textContent=dark?'Светлая':'Тёмная';
});
}
function renderMath(root){ if(window.renderMathInElement){ try{ renderMathInElement(root, {delimiters:[{left:'$$',right:'$$',display:true},{left:'$',right:'$',display:false},{left:'\\[',right:'\\]',display:true},{left:'\\(',right:'\\)',display:false}],throwOnError:false}); }catch(e){} } }
const ICONS = {
theory:'<svg class="ic" viewBox="0 0 24 24"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/></svg>',
rule:'<svg class="ic" viewBox="0 0 24 24"><path d="M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"/><path d="M10.3 21a1.94 1.94 0 0 0 3.4 0"/></svg>',
example:'<svg class="ic" viewBox="0 0 24 24"><path d="M9 18h6"/><path d="M10 22h4"/><path d="M12 2a7 7 0 0 0-4 13c1 1 2 2 2 4h4c0-2 1-3 2-4a7 7 0 0 0-4-13z"/></svg>'
};
function makeCard(kind, title, num, body){
const labels = {theory:'Теория',rule:'Правило',example:'Пример'};
return '<div class="card"><div class="card-header"><div class="card-icon '+kind+'">'+ICONS[kind]+'</div><div class="card-title">'+(labels[kind]||'')+(title&&title!==labels[kind]?' \xb7 '+title:'')+'</div>'+(num?'<div class="card-num">'+num+'</div>':'')+'</div><div class="card-body">'+body+'</div></div>';
}
function normalizeAns(s){ return String(s||'').toLowerCase().replace(/\s+/g,'').replace(/°/g,'').replace(/sqrt/g,'√').replace(/корень/g,'√').replace(/,/g,'.'); }
function makeBoss(id, def){
const stage = (typeof def.stage === 'number') ? def.stage : 0;
const solved = !!def.solved;
const total = def.stages.length;
const stageObj = def.stages[Math.min(stage, total-1)];
let optsHtml = '';
if(solved) return '<div class="boss-card solved" id="boss-'+id+'"><div class="boss-head"><span class="boss-tag">'+(def.tag||'Босс')+'</span><span class="boss-title">'+def.title+'</span></div><div class="boss-q">Побеждён! +'+def.xp+' XP получены.</div></div>';
if(stageObj.type === 'mc'){
optsHtml = '<div class="opts-row">';
stageObj.opts.forEach((o,i)=>{ optsHtml += '<button class="opt-btn" data-i="'+i+'">'+o+'</button>'; });
optsHtml += '</div>';
} else {
optsHtml = '<div class="boss-row"><input class="boss-input" id="boss-'+id+'-inp" placeholder="ответ"><button class="btn primary" id="boss-'+id+'-go">Атака</button></div>';
}
return '<div class="boss-card" id="boss-'+id+'"><div class="boss-head"><span class="boss-tag">'+(def.tag||'Босс')+'</span><span class="boss-title">'+def.title+' — этап '+(stage+1)+' / '+total+'</span></div><div class="boss-q">'+stageObj.q+'</div>'+optsHtml+'<div class="boss-fb" id="boss-'+id+'-fb"></div></div>';
}
function bindBoss(id, def, state, save, onWin){
const card = document.getElementById('boss-'+id);
if(!card || state.solved) return;
const stageObj = def.stages[state.stage];
const fb = document.getElementById('boss-'+id+'-fb');
function advance(){
state.stage++;
if(state.stage >= def.stages.length){
state.solved = true; save(); addXp(def.xp, 'boss-'+id);
if(onWin) onWin();
} else save();
rebuildBoss(id, def, state, save, onWin);
}
if(stageObj.type === 'mc'){
card.querySelectorAll('.opt-btn').forEach(btn=>{
btn.addEventListener('click', ()=>{
const i = +btn.dataset.i;
if(i === stageObj.correct){
btn.classList.add('correct');
fb.className='feedback ok'; fb.innerHTML='&#10003; Верно. '+(stageObj.explain||''); fb.style.display='block'; renderMath(fb);
setTimeout(advance, 700);
} else { btn.classList.add('wrong'); fb.className='feedback fail'; fb.innerHTML='&#10007; Не так. '+(stageObj.explain||''); fb.style.display='block'; renderMath(fb); }
});
});
} else {
const inp = document.getElementById('boss-'+id+'-inp');
const go = document.getElementById('boss-'+id+'-go');
function attack(){
const v = normalizeAns(inp.value);
const ans = Array.isArray(stageObj.a) ? stageObj.a.map(normalizeAns) : [normalizeAns(stageObj.a)];
if(ans.indexOf(v) >= 0){ fb.className='feedback ok'; fb.innerHTML='&#10003; Верно! '+(stageObj.explain||''); fb.style.display='block'; renderMath(fb); setTimeout(advance, 600); }
else { fb.className='feedback fail'; fb.innerHTML='&#10007; Не то. '+(stageObj.explain||''); fb.style.display='block'; renderMath(fb); }
}
go.addEventListener('click', attack);
inp.addEventListener('keydown', e=>{ if(e.key==='Enter'){ e.preventDefault(); attack(); } });
}
}
function rebuildBoss(id, def, state, save, onWin){
const card = document.getElementById('boss-'+id);
if(!card) return;
card.outerHTML = makeBoss(id, Object.assign({}, def, state));
bindBoss(id, def, state, save, onWin);
renderMath(document.getElementById('boss-'+id));
}
function makeAndBindBoss(slotId, id, def, state, save, onWin){
const slot = document.getElementById(slotId); if(!slot) return;
slot.innerHTML = makeBoss(id, Object.assign({}, def, state));
bindBoss(id, def, state, save, onWin);
renderMath(slot);
}
function loadBossState(key){ try{ return JSON.parse(localStorage.getItem('physics11_ch8_'+key)||'null'); }catch(e){ return null; } }
function saveBossState(key, state){ try{ localStorage.setItem('physics11_ch8_'+key, JSON.stringify(state)); }catch(e){} }
function buildP1(){
const box = document.getElementById('p1-body'); if(!box) return;
let html = '';
html += makeCard('theory', 'Эволюция картины мира', '§ 45.1',
'<p>Современная физическая картина мира — это синтез знаний о природе, накопленных за последние 400 лет.</p>'
+ '<ul>'
+ '<li><b>Механика Ньютона</b> (XVII в.) — описание движения тел макромира.</li>'
+ '<li><b>Термодинамика</b> (XIX в.) — энергия, теплота, статистика.</li>'
+ '<li><b>Электродинамика Максвелла</b> (XIX в.) — электромагнетизм + свет как ЭМ-волна.</li>'
+ '<li><b>Специальная теория относительности</b> (1905) — пространство-время при $v \\sim c$.</li>'
+ '<li><b>Общая теория относительности</b> (1915) — гравитация как кривизна пространства-времени.</li>'
+ '<li><b>Квантовая механика</b> (1900-1930) — микромир.</li>'
+ '<li><b>Стандартная модель</b> (1970-е) — единое описание ЭМ, слабого, сильного взаимодействий.</li>'
+ '</ul>');
html += makeCard('rule', 'Иерархия структуры материи', '§ 45.2',
'<p>От малого к большому:</p>'
+ '<ul>'
+ '<li><b>Кварки и лептоны</b> — $\\sim 10^{-18}$ м (предел проверенного).</li>'
+ '<li><b>Нуклоны</b> (протон, нейтрон) — $\\sim 10^{-15}$ м.</li>'
+ '<li><b>Атомные ядра</b> — $\\sim 10^{-14}$ м.</li>'
+ '<li><b>Атомы</b> — $\\sim 10^{-10}$ м.</li>'
+ '<li><b>Молекулы, клетки, организмы</b> — $\\sim 10^{-9} - 10^0$ м.</li>'
+ '<li><b>Планеты</b> — $\\sim 10^7$ м.</li>'
+ '<li><b>Звёзды, галактики</b> — $\\sim 10^{18} - 10^{22}$ м.</li>'
+ '<li><b>Наблюдаемая Вселенная</b> — $\\sim 10^{27}$ м (~ 93 млрд св. лет).</li>'
+ '</ul>');
html += makeCard('example', 'Что мы не знаем (открытые проблемы)', '§ 45.3',
'<p>Современная физика, несмотря на успехи, имеет нерешённые задачи:</p>'
+ '<ul>'
+ '<li><b>Тёмная материя</b> — невидимая, но «весит» в 5 раз больше обычной.</li>'
+ '<li><b>Тёмная энергия</b> — заставляет Вселенную расширяться ускоренно. ~68% всей энергии.</li>'
+ '<li><b>Объединение теорий</b> — пока нет единой теории, включающей и квантовую механику, и гравитацию (СТО+ОТО).</li>'
+ '<li><b>Природа массы</b> — почему частицы имеют именно такие массы?</li>'
+ '<li><b>Жизнь, сознание</b> — как физика связана с этим?</li>'
+ '</ul>'
+ '<p>Физика — самая древняя наука и одновременно самая молодая. Перед вами открыты все вопросы.</p>');
html += '<div style="margin-top:18px;display:flex;justify-content:center"><button class="btn primary" id="p1-read-btn">'
+ '<svg class="ic" viewBox="0 0 24 24"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/></svg>'
+ ' Я прочитал §45 (+15 XP)</button></div>';
box.innerHTML = html;
const btn = document.getElementById('p1-read-btn');
btn.addEventListener('click', ()=>{
addXp(15, 'p1-read');
STATE.progress = Math.max(STATE.progress, 50); saveProgress(); refreshProgressUI();
btn.textContent='Прочитано! +15 XP'; btn.disabled=true; btn.style.opacity=.6;
achievement('ch8_done');
});
renderMath(box);
}
function buildFinal(){
const box = document.getElementById('final-body'); if(!box) return;
let html = '';
html += '<div class="card" style="background:linear-gradient(135deg,#fee2e2,#fca5a5);border-color:#dc2626">'
+ '<div class="card-header"><div class="card-icon rule" style="background:#dc2626;color:#fff">'
+ '<svg class="ic" viewBox="0 0 24 24" stroke-width="2"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg>'
+ '</div><div class="card-title">ФИНАЛ КУРСА ФИЗИКИ 11</div><div class="card-num">★ ★ ★</div></div>'
+ '<div class="card-body">'
+ '<p>Перед тобой — <b>12 интегральных боссов</b>, покрывающих все 8 глав и 45 параграфов курса физики 11 класса.</p>'
+ '<p>Каждый босс — 5 этапов. Победив всех 12 — ты получишь титул <b>МАГИСТР ФИЗИКИ 11</b> и +500 XP бонус.</p>'
+ '<p>Темы: колебания, ЭМ-индукция, оптика, СТО, фотоэффект, атом Бора, лазеры, ядро, радиоактивность, реактор, синтез, элементарные частицы.</p>'
+ '</div></div>';
for (let i = 1; i <= 12; i++){
html += '<div id="boss-final-'+i+'-slot"></div>';
}
html += '<div class="master-trophy" id="master-trophy" style="display:none">'
+ '<h2>МАГИСТР ФИЗИКИ 11</h2>'
+ '<p><b>Все 12 интегральных боссов финала курса побеждены!</b></p>'
+ '<p>Ты прошёл весь курс физики 11 класса: от механических колебаний до элементарных частиц, от классической электродинамики до Стандартной модели.</p>'
+ '<p>Бонус: <b>+500 XP</b>.</p>'
+ '<p style="margin-top:14px;font-size:.95rem">Впереди — высшее образование. Удачи!</p>'
+ '</div>';
box.innerHTML = html;
for (let i = 1; i <= 12; i++){
const key = 'boss-final-' + i;
const bs = loadBossState(key) || { stage:0, solved:false };
makeAndBindBoss(key+'-slot', 'final-'+i, COURSE_FINAL_DEFS['fb'+i], bs,
()=>{ saveBossState(key, bs); checkCourseFinal(); }, ()=>{ checkCourseFinal(); });
}
renderMath(box);
}
function checkCourseFinal(){
let all = true;
for (let i = 1; i <= 12; i++){
const s = loadBossState('boss-final-'+i);
if (!s || !s.solved){ all = false; break; }
}
if (all){
const v = document.getElementById('master-trophy'); if (v) v.style.display = '';
STATE.progress = 100; saveProgress(); refreshProgressUI();
if (!STATE.achievements.has('phys11_master')){
achievement('phys11_master');
addXp(500, 'phys11-master-bonus');
}
}
}
const COURSE_FINAL_DEFS = {
fb1: { title:'Босс I — Колебания (Гл. 1)', tag:'Гл. 1', xp:80, stages:[
{ q:'$T$ матем. маятника:', type:'mc', opts:['$2\\pi\\sqrt{l/g}$','$2\\pi\\sqrt{g/l}$','$\\sqrt{l/g}$','$lg$'], correct:0, explain:'$T = 2\\pi\\sqrt{l/g}$.' },
{ q:'$l = 1$ м, $g = 10$ м/с². $T$ (с) ≈?', type:'input', a:['1.99','2.0','2'], explain:'$\\approx 2$.' },
{ q:'Резонанс — это:', type:'mc', opts:['Расхождение фаз','Совпад. $\\omega$ с собств.','Затухание','Демпфирование'], correct:1, explain:'$\\omega = \\omega_0$.' },
{ q:'Скорость звука в воздухе (м/с) ≈?', type:'input', a:'340', explain:'$\\sim 340$.' },
{ q:'$v$ ЭМ-волны в вакууме = ?', type:'mc', opts:['340 м/с','$c = 3\\cdot 10^8$ м/с','$\\infty$','Завис. от $\\nu$'], correct:1, explain:'$c$.' }
]},
fb2: { title:'Босс II — ЭМ-индукция (Гл. 2)', tag:'Гл. 2', xp:80, stages:[
{ q:'Период LC-контура:', type:'mc', opts:['$2\\pi\\sqrt{LC}$','$\\sqrt{LC}$','$LC$','$1/LC$'], correct:0, explain:'$T = 2\\pi\\sqrt{LC}$.' },
{ q:'Закон Фарадея:', type:'mc', opts:['$E = -d\\Phi/dt$','$E = q/r$','$F = qE$','$\\Phi = BS$'], correct:0, explain:'ЭДС = $-d\\Phi/dt$.' },
{ q:'Трансформатор $k = N_2/N_1$. $U_2 = ?$', type:'mc', opts:['$U_1 k$','$U_1/k$','$U_1 k^2$','$U_1$'], correct:0, explain:'$U_2 = k U_1$.' },
{ q:'$L = 1$ Гн, $C = 1$ мкФ. $\\nu_0$ (Гц) ≈?', type:'input', a:'159', explain:'$1/(2\\pi\\sqrt{LC}) \\approx 159$.' },
{ q:'Спектр видимого света (нм):', type:'mc', opts:['100-400','380-760','760-1000','1-100'], correct:1, explain:'380-760 нм.' }
]},
fb3: { title:'Босс III — Оптика I (Гл. 3 §14-§17)', tag:'Гл. 3', xp:80, stages:[
{ q:'$c$ (м/с)?', type:'input', a:['3e8','3·10⁸','300000000'], explain:'$3 \\cdot 10^8$.' },
{ q:'Условие max интерференции:', type:'mc', opts:['$\\Delta = k\\lambda$','$\\Delta = \\lambda/2$','$\\Delta = 0$','$\\Delta = \\lambda^2$'], correct:0, explain:'$\\Delta = k\\lambda$.' },
{ q:'Формула решётки:', type:'mc', opts:['$d\\sin\\varphi = k\\lambda$','$\\lambda = d\\nu$','$\\sin\\varphi = d$','$d = \\lambda$'], correct:0, explain:'$d\\sin\\varphi = k\\lambda$.' },
{ q:'Закон отражения:', type:'mc', opts:['$\\alpha_п=\\alpha_о$','$\\alpha_п>\\alpha_о$','$\\alpha_п<\\alpha_о$','Не связ.'], correct:0, explain:'Равны.' },
{ q:'Изобр. в плоск. зеркале:', type:'mc', opts:['Действит.','Мнимое прямое равное','Уменьш.','Увелич.'], correct:1, explain:'Мнимое.' }
]},
fb4: { title:'Босс IV — Оптика II (Гл. 3 §18-§23)', tag:'Гл. 3', xp:80, stages:[
{ q:'Закон Снелла:', type:'mc', opts:['$n_1\\sin\\alpha = n_2\\sin\\beta$','$n_1\\alpha = n_2\\beta$','$\\sin\\alpha = n_1 n_2$','$\\cos\\alpha = n$'], correct:0, explain:'$n_1\\sin\\alpha = n_2\\sin\\beta$.' },
{ q:'$F = 0{,}25$ м. $D$ (дптр)?', type:'input', a:'4', explain:'$1/F$.' },
{ q:'Лупа $F = 5$ см. $\\Gamma$?', type:'input', a:'5', explain:'$25/5 = 5$.' },
{ q:'Телескоп $\\Gamma = ?$', type:'mc', opts:['$F_{ок}/F_{об}$','$F_{об}/F_{ок}$','$F_{об}+F_{ок}$','$F_{об}\\cdot F_{ок}$'], correct:1, explain:'$F_{об}/F_{ок}$.' },
{ q:'Оптоволокно использует:', type:'mc', opts:['Дифракцию','ПВО','Поляризацию','Дисперсию'], correct:1, explain:'ПВО.' }
]},
fb5: { title:'Босс V — СТО (Гл. 4)', tag:'Гл. 4', xp:80, stages:[
{ q:'II постулат СТО:', type:'mc', opts:['$c$ const во всех ИСО','$c$ зависит от ИСО','$c = \\infty$','$c$ зависит от источника'], correct:0, explain:'Инвариант. $c$.' },
{ q:'$\\beta = 0{,}6$. $\\gamma$?', type:'input', a:'1.25', explain:'$1/0{,}8$.' },
{ q:'$L_0 = 100$, $\\beta = 0{,}8$. $L$?', type:'input', a:'60', explain:'$L_0 / \\gamma = 60$.' },
{ q:'$E_0 = ?$', type:'mc', opts:['$mv^2/2$','$mc^2$','$mc$','$pc$'], correct:1, explain:'$mc^2$.' },
{ q:'$E^2 = ?$', type:'mc', opts:['$pc + mc^2$','$(pc)^2 + (mc^2)^2$','$mc^4$','$p^2 + m^2$'], correct:1, explain:'Релятив. Пифагор.' }
]},
fb6: { title:'Босс VI — Фотоны (Гл. 5)', tag:'Гл. 5', xp:80, stages:[
{ q:'$E$ фотона = ?', type:'mc', opts:['$mv^2/2$','$h\\nu$','$mc$','$E_0$'], correct:1, explain:'$h\\nu$.' },
{ q:'$\\lambda = 620$ нм. $E$ (эВ)?', type:'input', a:'2', explain:'$1240/620$.' },
{ q:'Уравнение Эйнштейна:', type:'mc', opts:['$h\\nu = A + E_к$','$h\\nu = mc^2$','$E = pc$','$\\lambda = h/p$'], correct:0, explain:'Ф/э.' },
{ q:'$p$ фотона = ?', type:'mc', opts:['$mv$','$h\\nu/c$','$h\\nu$','$E$'], correct:1, explain:'$h/\\lambda$.' },
{ q:'Длина волны де Бройля:', type:'mc', opts:['$\\lambda = h/p$','$\\lambda = c/\\nu$','$\\lambda = E/p$','$\\lambda = h\\nu$'], correct:0, explain:'$h/p$.' }
]},
fb7: { title:'Босс VII — Атом и спектры (Гл. 6 §30-§32)', tag:'Гл. 6', xp:80, stages:[
{ q:'Опыт Резерфорда (год)?', type:'input', a:'1911', explain:'1911.' },
{ q:'$E_n$ атома H:', type:'mc', opts:['$-13{,}6/n$','$-13{,}6/n^2$','$13{,}6 n^2$','$h\\nu$'], correct:1, explain:'$-13{,}6/n^2$.' },
{ q:'$n=2$. $E$ (эВ)?', type:'input', a:'-3.4', explain:'$-3{,}4$.' },
{ q:'Серия Бальмера на:', type:'input', a:'2', explain:'$m=2$.' },
{ q:'Энергия иониз. H (эВ)?', type:'input', a:'13.6', explain:'$|E_1|$.' }
]},
fb8: { title:'Босс VIII — Лазеры (Гл. 6 §33-§34)', tag:'Гл. 6', xp:80, stages:[
{ q:'Кто ввёл инд. излучение?', type:'mc', opts:['Планк','Бор','Эйнштейн','Резерфорд'], correct:2, explain:'1916.' },
{ q:'Инверсная населённость:', type:'mc', opts:['$N_1 > N_2$','$N_2 > N_1$','$N_1 = N_2$','$N=0$'], correct:1, explain:'$N_2 > N_1$.' },
{ q:'Лазер (год)?', type:'input', a:'1960', explain:'Мейман.' },
{ q:'Свойство лазера:', type:'mc', opts:['Расходится','Когерентен','Полихромат.','Случайная фаза'], correct:1, explain:'Когерент.' },
{ q:'$\\lambda$ рубина (нм)?', type:'input', a:'694', explain:'694.' }
]},
fb9: { title:'Босс IX — Ядро (Гл. 7 §35-§37)', tag:'Гл. 7', xp:80, stages:[
{ q:'Нуклоны это:', type:'mc', opts:['$e^-$','$p + n$','Только $p$','Кварки'], correct:1, explain:'$p$ + $n$.' },
{ q:'${}^{235}_{92}\\text{U}$ — $N$?', type:'input', a:'143', explain:'$235 - 92$.' },
{ q:'1 а.е.м. (МэВ)?', type:'input', a:'931.5', explain:'931,5.' },
{ q:'Дефект массы:', type:'mc', opts:['$m_я > \\sum m_n$','$m_я < \\sum m_n$','$m_я = 0$','$\\sum m_n = 0$'], correct:1, explain:'Меньше.' },
{ q:'Макс. $\\varepsilon$ у:', type:'mc', opts:['H','Fe','U','He'], correct:1, explain:'Fe-56.' }
]},
fb10: { title:'Босс X — Радиоактивность и реактор (Гл. 7 §38-§41)', tag:'Гл. 7', xp:80, stages:[
{ q:'α-частица:', type:'mc', opts:['$e^-$','${}^4\\text{He}$','γ','n'], correct:1, explain:'He-4.' },
{ q:'$N_0 = 800$, $t = 3T$. $N$?', type:'input', a:'100', explain:'$800/8$.' },
{ q:'$k = 1$ — режим:', type:'mc', opts:['Бомба','Стационар','Затухание','Пуск'], correct:1, explain:'Реактор.' },
{ q:'Делящееся:', type:'mc', opts:['U-238','U-235, Pu-239','Fe','C'], correct:1, explain:'U-235.' },
{ q:'Чернобыль (год)?', type:'input', a:'1986', explain:'1986.' }
]},
fb11: { title:'Босс XI — Синтез и дозиметрия (Гл. 7 §42-§43)', tag:'Гл. 7', xp:80, stages:[
{ q:'Топливо термояда:', type:'mc', opts:['U','D + T','Pu','C'], correct:1, explain:'D + T.' },
{ q:'Энергия D+T (МэВ)?', type:'input', a:'17.6', explain:'17,6.' },
{ q:'Зиверт измер.:', type:'mc', opts:['$D$','$H$','$A$','Время'], correct:1, explain:'$H$.' },
{ q:'Норма населения (мЗв/год)?', type:'input', a:'1', explain:'1 мЗв.' },
{ q:'Удержание плазмы:', type:'mc', opts:['Стенками','Магн. полем','Гравит.','Не нужно'], correct:1, explain:'Маг. поле.' }
]},
fb12: { title:'Босс XII — Элем. частицы и картина мира (Гл. 7-8)', tag:'Гл. 7-8', xp:80, stages:[
{ q:'Сколько кварков?', type:'input', a:'6', explain:'6.' },
{ q:'Сколько фунд. взаимод.?', type:'input', a:'4', explain:'4.' },
{ q:'Бозон Хиггса (год)?', type:'input', a:'2012', explain:'LHC.' },
{ q:'Тёмная материя:', type:'mc', opts:['Видна','Не видна, но «весит»','Антиматерия','Не существует'], correct:1, explain:'~85% массы.' },
{ q:'Тёмная энергия — % от всей энергии Вселенной ≈?', type:'mc', opts:['5%','25%','68%','100%'], correct:2, explain:'$\\sim 68$%.' }
]}
};
function init(){
loadProgress(); initTheme(); buildSidebar();
buildP1(); buildFinal(); refreshProgressUI();
if(!STATE.achievements.has('start')) achievement('start');
}
if(document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init);
else init();
</script>
</body> </body>
</html> </html>