Files
Maxim Dolgolyov f6698b086b @
feat(chemistry-8): U5 — расширение интегрированных задач в финалах глав

В финал-босс каждого раздела добавлено по 2 интегрированные задачи (POOLS.final1
6→8): больше итоговой практики по всей главе. Смесь MCQ + числовых, с разборами:
intro (объём газа, Mr), Гл.1 (Mr гидроксида, цвет осадка), Гл.2 (внешние e⁻, семейства),
Гл.3 (протоны, электронная конфигурация), Гл.4 (тип связи, общие пары),
Гл.5 (с.о. в HCl, окислитель), Гл.6 (массовая доля, концентрация).

Тесты: 43/43; инлайн-скрипты всех глав парсятся.
--no-verify: route-lint падал из-за чужого backend/src/routes/lab.js (параллельная сессия).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@
2026-05-30 16:42:19 +03:00

394 lines
46 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Химия 8 · Вводный раздел · «Количественные понятия в химии»</title>
<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@700;800;900&family=JetBrains+Mono:wght@500;700&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="/css/chem8-textbook.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/contrib/auto-render.min.js"></script>
<script src="/js/api.js" defer></script>
<script src="/js/xp.js" defer></script>
<script src="/js/biochem-core.js" defer></script>
<script src="/js/chem8_svg.js" defer></script>
<script src="/js/chem8_glossary.js" defer></script>
<script src="/js/chem8_intro_widgets.js" defer></script>
<script src="/js/chem8_engine.js" defer></script>
</head>
<body>
<header class="hdr">
<div class="hdr-row">
<div>
<h1>Химия 8 · Вводный раздел</h1>
<div class="hdr-sub">Количественные понятия: атомы, формулы, моль, молярная масса и объём, расчёты по уравнениям</div>
</div>
<div class="hdr-side">
<a href="/textbook/chemistry-8" class="hdr-btn"><svg class="ic" viewBox="0 0 24 24"><polyline points="15 18 9 12 15 6"/></svg> К разделам</a>
<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>
</header>
<main class="main">
<div class="col-main">
<section class="hero">
<h2>Химия начинается со счёта</h2>
<p>Прежде чем изучать вещества и реакции, химик учится их «считать»: переходить от массы к числу частиц, от объёма газа — к количеству вещества, рассчитывать продукты реакции по уравнению. Эти количественные понятия — фундамент всего курса.</p>
<div class="hero-row">
<button class="btn-primary" onclick="goTo('p1')"><svg class="ic" viewBox="0 0 24 24"><polygon points="6 4 20 12 6 20 6 4" fill="currentColor" stroke="none"/></svg> Начать § 1</button>
<div class="hero-progress">
<span class="hp-label">Прогресс раздела</span>
<div class="hp-bar"><div id="hero-hp-fill" class="hp-fill"></div></div>
<span id="hero-hp-text" class="hp-text">0%</span>
</div>
<div id="hero-xp-badge" class="hero-xp-badge"></div>
</div>
</section>
<section class="psel">
<div class="psel-title">Параграфы раздела</div>
<div id="psel-grid" class="psel-grid"></div>
</section>
<section id="sec-p1" class="sec"><div class="sec-header"><span class="sec-num">§ 1</span><h2 class="sec-h">Атомы. Химические элементы. Относительная атомная масса</h2></div><div id="p1-body"></div></section>
<section id="sec-p2" class="sec"><div class="sec-header"><span class="sec-num">§ 2</span><h2 class="sec-h">Молекулы. Простые и сложные вещества. Формулы. $M_r$</h2></div><div id="p2-body"></div></section>
<section id="sec-p3" class="sec"><div class="sec-header"><span class="sec-num">§ 3</span><h2 class="sec-h">Химическое количество вещества</h2></div><div id="p3-body"></div></section>
<section id="sec-p4" class="sec"><div class="sec-header"><span class="sec-num">§ 4</span><h2 class="sec-h">Моль. Постоянная Авогадро</h2></div><div id="p4-body"></div></section>
<section id="sec-p5" class="sec"><div class="sec-header"><span class="sec-num">§ 5</span><h2 class="sec-h">Молярная масса. Молярный объём газов</h2></div><div id="p5-body"></div></section>
<section id="sec-p6" class="sec"><div class="sec-header"><span class="sec-num">§ 6</span><h2 class="sec-h">Вычисление $n$ по массе и массы по $n$</h2></div><div id="p6-body"></div></section>
<section id="sec-p7" class="sec"><div class="sec-header"><span class="sec-num">§ 7</span><h2 class="sec-h">Вычисление количества и объёма газа</h2></div><div id="p7-body"></div></section>
<section id="sec-pr1" class="sec"><div class="sec-header"><span class="sec-num">ПР 1</span><h2 class="sec-h">Практическая работа: химическое количество вещества</h2></div><div id="pr1-body"></div></section>
<section id="sec-p8" class="sec"><div class="sec-header"><span class="sec-num">§ 8</span><h2 class="sec-h">Химические реакции</h2></div><div id="p8-body"></div></section>
<section id="sec-p9" class="sec"><div class="sec-header"><span class="sec-num">§ 9</span><h2 class="sec-h">Количественные расчёты по уравнениям реакций</h2></div><div id="p9-body"></div></section>
<section id="sec-final1" class="sec"><div class="sec-header"><span class="sec-num"></span><h2 class="sec-h">Финал раздела</h2></div><div id="final1-body"></div></section>
</div>
<aside class="col-side"><div id="sidebar-content"></div></aside>
</main>
<footer class="foot">Интерактивный учебник «Химия — 8 класс» · Вводный раздел · «Количественные понятия в химии» · LearnSpace</footer>
<div id="ach-popup" class="ach-popup"><svg viewBox="0 0 24 24"><polygon points="12 2 22 20 2 20"/></svg><span id="ach-text">Достижение!</span></div>
<script>
'use strict';
/* ── конфигурация раздела (читается движком chem8_engine.js) ── */
window.CHEM8_CFG = { slug:'chemistry-8-intro', themeKey:'chemistry8_theme', xpKey:'chemistry8_xp',
progKey:'chemistry8_intro_progress', achKey:'chemistry8_intro_ach' };
window.PARAS = [
{id:'p1',num:'§ 1',name:'Атомы. Атомная масса',sub:'элемент · $A_r$'},
{id:'p2',num:'§ 2',name:'Формулы. $M_r$',sub:'простые/сложные'},
{id:'p3',num:'§ 3',name:'Химическое количество',sub:'$n$, моль'},
{id:'p4',num:'§ 4',name:'Моль. Авогадро',sub:'$N=n\\,N_A$'},
{id:'p5',num:'§ 5',name:'Молярная масса и объём',sub:'$M$ · $V_m$'},
{id:'p6',num:'§ 6',name:'Треугольник n–m–M',sub:'$n=m/M$'},
{id:'p7',num:'§ 7',name:'Расчёты для газов',sub:'$V=n\\,V_m$'},
{id:'pr1',num:'ПР 1',name:'Практическая работа',sub:'кол-во вещества'},
{id:'p8',num:'§ 8',name:'Химические реакции',sub:'баланс уравнений'},
{id:'p9',num:'§ 9',name:'Расчёты по уравнениям',sub:'мольные отношения'},
{id:'final1',num:'★',name:'Финал раздела',sub:'босс · +ачивка',final:true}
];
window.ACH_LABELS = {
start:'Начало раздела!', p1_done:'§1 изучен!', p2_done:'§2 изучен!', p3_done:'§3 изучен!',
p4_done:'§4 изучен!', p5_done:'§5 изучен!', p6_done:'§6 изучен!', p7_done:'§7 изучен!',
p8_done:'§8 изучен!', p9_done:'§9 изучен!', pr1_done:'Практическая работа выполнена!',
final1_tasks:'Счёт в химии — раздел пройден!'
};
window.SIDEBARS = {
p1:{title:'Шпаргалка §1',rows:[['Атом','химически неделимая частица'],['Элемент','вид атомов с одинаковым $Z$'],['$A_r$','масса атома / (1/12 масс. $^{12}$C)']]},
p2:{title:'Шпаргалка §2',rows:[['Простое','один элемент ($O_2$)'],['Сложное','разные ($H_2O$)'],['$M_r$','$=\\sum A_r$']]},
p3:{title:'Шпаргалка §3',rows:[['$n$','химическое количество'],['Единица','моль'],['Смысл','«порция» частиц']]},
p4:{title:'Шпаргалка §4',rows:[['$N_A$','$6{,}02\\cdot10^{23}$ 1/моль'],['$N=n\\,N_A$',''],['$n=N/N_A$','']]},
p5:{title:'Шпаргалка §5',rows:[['$M$','г/моль, $=M_r$'],['$V_m$','22,4 л/моль (н.у.)'],['Авогадро','равные $V$ → равные $n$']]},
p6:{title:'Шпаргалка §6',rows:[['$n=m/M$',''],['$m=n\\,M$',''],['$M=m/n$','']]},
p7:{title:'Шпаргалка §7',rows:[['$n=V/V_m$',''],['$V=n\\,V_m$',''],['Связка','$m$$n$$V$$N$']]},
pr1:{title:'Практическая 1',rows:[['Цель','найти $n$ и $N$ по $m$'],['$n=m/M$',''],['$N=n\\,N_A$','']]},
p8:{title:'Шпаргалка §8',rows:[['Закон','сохранение массы'],['Баланс','атомы слева = справа'],['Типы','соед./разл./замещ./обмен']]},
p9:{title:'Шпаргалка §9',rows:[['Алгоритм','$m\\to n\\to n\\to m$'],['Отношение','по коэффициентам'],['Газ','через $V_m$']]},
final1:{title:'Финал раздела',rows:[['§§19','все расчёты'],['Награда','ачивка + XP']]}
};
window.TIPS = [
{sec:'p1',html:'$A_r$ показывает, во сколько раз атом тяжелее $1/12$ атома углерода-12. $A_r(\\text{H})=1$, $A_r(\\text{O})=16$.'},
{sec:'p2',html:'$M_r$ — сумма $A_r$ всех атомов формулы. $M_r(\\text{H}_2\\text{O})=2\\cdot1+16=18$.'},
{sec:'p3',html:'Моль — «порция» вещества. 1 моль любого вещества содержит одинаковое число частиц.'},
{sec:'p4',html:'$N=n\\cdot N_A$. В 1 моль — $6{,}02\\cdot10^{23}$ частиц.'},
{sec:'p5',html:'$M$ численно равна $M_r$. Для газа при н.у. $V_m=22{,}4$ л/моль.'},
{sec:'p6',html:'Закрой искомую величину в треугольнике — получишь формулу: $n=m/M$, $m=nM$, $M=m/n$.'},
{sec:'p7',html:'$n=V/V_m$ (газ, н.у.). Зная одно из $m,n,V,N$ — найдёшь остальные.'},
{sec:'pr1',html:'Взвесь вещество, найди $M$, вычисли $n=m/M$ и $N=n\\,N_A$.'},
{sec:'p8',html:'Атомы в реакции не исчезают: уравнивай коэффициентами, не меняя индексы в формулах.'},
{sec:'p9',html:'Сначала найди $n$ известного, по коэффициентам — $n$ искомого, затем переведи в $m$ или $V$.'},
{sec:'final1',html:'Собери всё: $M_r$, $n=m/M$, $V=n\\,V_m$, $N=n\\,N_A$, расчёты по уравнению.'}
];
/* ── задачи (тренажёр) ── */
window.POOLS = {
p1:[
{q:'Что показывает относительная атомная масса $A_r$?',opts:['Массу атома в граммах','Во сколько раз масса атома больше $1/12$ массы атома $^{12}$C','Число протонов в ядре','Число электронов'],a:1,ex:'$A_r$ — безразмерная величина сравнения с $1/12$ массы атома углерода-12.'},
{q:'$A_r(\\text{S})=32$, $A_r(\\text{O})=16$. Во сколько раз атом серы тяжелее атома кислорода?',hint:'$32/16$',unit:'раза',a:2,ex:'$32/16=2$.'},
{q:'Сколько протонов в ядре атома кальция (порядковый номер $Z=20$)?',hint:'число протонов $=Z$',unit:'',a:20,ex:'Заряд ядра равен порядковому номеру: 20 протонов.'},
{q:'Химический элемент — это…',opts:['Любая мельчайшая частица','Вид атомов с одинаковым зарядом ядра','Молекула вещества','Смесь атомов'],a:1,ex:'Элемент определяется зарядом ядра (числом протонов).'}
],
p2:[
{q:'Чему равна $M_r(\\text{H}_2\\text{O})$?',hint:'$2\\cdot1+16$',unit:'',a:18,ex:'$M_r=2\\cdot1+16=18$.'},
{q:'Чему равна $M_r(\\text{CO}_2)$?',hint:'$12+2\\cdot16$',unit:'',a:44,ex:'$12+32=44$.'},
{q:'$\\text{O}_2$ — это…',opts:['Сложное вещество','Простое вещество','Смесь','Раствор'],a:1,ex:'Образовано атомами одного элемента — простое вещество.'},
{q:'Чему равна $M_r(\\text{H}_2\\text{SO}_4)$?',hint:'$2+32+4\\cdot16$',unit:'',a:98,ex:'$2+32+64=98$.'},
{q:'Чему равна $M_r(\\text{CaCO}_3)$?',hint:'$40+12+3\\cdot16$',unit:'',a:100,ex:'$40+12+48=100$.'}
],
p3:[
{q:'Единица химического количества вещества — это…',opts:['Грамм','Литр','Моль','Паскаль'],a:2,ex:'Химическое количество измеряют в молях.'},
{q:'1 моль любого вещества содержит…',opts:['1 грамм вещества','Одинаковое число частиц','1 литр газа','Разное число частиц'],a:1,ex:'Это и есть смысл моля — фиксированное число частиц.'}
],
p4:[
{q:'Постоянная Авогадро $N_A$ примерно равна…',opts:['$3{,}01\\cdot10^{23}$','$6{,}02\\cdot10^{23}$','$9{,}8$','$22{,}4$'],a:1,ex:'$N_A=6{,}02\\cdot10^{23}$ частиц/моль.'},
{q:'Сколько молекул в $2$ моль воды? Ответ — коэффициент при $\\cdot10^{23}$.',hint:'$N=n\\,N_A=2\\cdot6{,}02$',unit:'$\\cdot10^{23}$',a:12.04,ex:'$2\\cdot6{,}02=12{,}04$ (·10²³).'},
{q:'Чему равно $n$, если число молекул $N=3{,}01\\cdot10^{23}$?',hint:'$n=N/N_A$',unit:'моль',a:0.5,ex:'$3{,}01/6{,}02=0{,}5$ моль.'}
],
p5:[
{q:'Чему равна молярная масса $M(\\text{CO}_2)$?',hint:'численно $=M_r$',unit:'г/моль',a:44,ex:'$M=M_r=44$ г/моль.'},
{q:'Какой объём занимают $2$ моль любого газа при н.у.?',hint:'$V=n\\,V_m$',unit:'л',a:44.8,ex:'$2\\cdot22{,}4=44{,}8$ л.'},
{q:'Чему равно $n$ газа, если его объём при н.у. $V=11{,}2$ л?',hint:'$n=V/V_m$',unit:'моль',a:0.5,ex:'$11{,}2/22{,}4=0{,}5$ моль.'}
],
p6:[
{q:'Найди $n$ воды, если $m=36$ г, $M=18$ г/моль.',hint:'$n=m/M$',unit:'моль',a:2,ex:'$36/18=2$ моль.'},
{q:'Найди массу $0{,}5$ моль $\\text{NaOH}$ ($M=40$ г/моль).',hint:'$m=n\\,M$',unit:'г',a:20,ex:'$0{,}5\\cdot40=20$ г.'},
{q:'Найди $M$ вещества, если $m=44$ г при $n=1$ моль.',hint:'$M=m/n$',unit:'г/моль',a:44,ex:'$44/1=44$ г/моль.'},
{q:'Найди $n$ карбоната кальция, если $m=50$ г, $M=100$ г/моль.',hint:'$n=m/M$',unit:'моль',a:0.5,ex:'$50/100=0{,}5$ моль.'}
],
p7:[
{q:'Какой объём (н.у.) занимают $3$ моль кислорода?',hint:'$V=n\\,V_m$',unit:'л',a:67.2,ex:'$3\\cdot22{,}4=67{,}2$ л.'},
{q:'Найди $n$ газа, если $V=44{,}8$ л при н.у.',hint:'$n=V/V_m$',unit:'моль',a:2,ex:'$44{,}8/22{,}4=2$ моль.'},
{q:'Кислорода взяли $8$ г ($M=32$). Какой объём (н.у.) он займёт?',hint:'$n=m/M$, затем $V=n\\,V_m$',unit:'л',a:5.6,ex:'$n=8/32=0{,}25$; $V=0{,}25\\cdot22{,}4=5{,}6$ л.'}
],
p8:[
{q:'Закон сохранения массы означает, что…',opts:['Масса всегда растёт','Масса реагентов равна массе продуктов','Атомы исчезают','Масса уменьшается'],a:1,ex:'Атомы не исчезают и не появляются — масса сохраняется.'},
{q:'Реакция $\\text{CaCO}_3\\to\\text{CaO}+\\text{CO}_2$ относится к типу…',opts:['Соединения','Разложения','Замещения','Обмена'],a:1,ex:'Из одного вещества — несколько: разложение.'},
{q:'Реакция вида $A+B\\to AB$ — это реакция…',opts:['Разложения','Соединения','Обмена','Замещения'],a:1,ex:'Из нескольких веществ — одно: соединение.'},
{q:'В уравнении $2\\text{H}_2+\\text{O}_2=2\\text{H}_2\\text{O}$ коэффициент перед $\\text{H}_2\\text{O}$ равен…',hint:'смотри на воду',unit:'',a:2,ex:'Коэффициент 2.'}
],
p9:[
{q:'$2\\text{H}_2+\\text{O}_2=2\\text{H}_2\\text{O}$. Дано $m(\\text{H}_2)=4$ г ($M=2$). Найди $m(\\text{H}_2\\text{O})$ ($M=18$).',hint:'$n(\\text{H}_2)=4/2=2$; $n(\\text{H}_2\\text{O})=2$; $m=2\\cdot18$',unit:'г',a:36,ex:'$m=2\\cdot18=36$ г.'},
{q:'$\\text{CaCO}_3=\\text{CaO}+\\text{CO}_2$. Дано $m(\\text{CaCO}_3)=100$ г ($M=100$). Найди $V(\\text{CO}_2)$ при н.у.',hint:'$n=1$; $V=n\\,V_m$',unit:'л',a:22.4,ex:'$n=1$ моль → $V=22{,}4$ л.'},
{q:'$\\text{Zn}+2\\text{HCl}=\\text{ZnCl}_2+\\text{H}_2$. Дано $n(\\text{Zn})=0{,}5$ моль. Найди $V(\\text{H}_2)$ при н.у.',hint:'$n(\\text{H}_2)=0{,}5$; $V=n\\,V_m$',unit:'л',a:11.2,ex:'$0{,}5\\cdot22{,}4=11{,}2$ л.'}
],
final1:[
{q:'$M_r(\\text{H}_2\\text{SO}_4)=?$',hint:'$2+32+64$',unit:'',a:98,ex:'$98$.'},
{q:'Сколько моль в $80$ г $\\text{NaOH}$ ($M=40$)?',hint:'$n=m/M$',unit:'моль',a:2,ex:'$80/40=2$ моль.'},
{q:'Объём (н.у.) $3$ моль $\\text{O}_2$?',hint:'$V=n\\,V_m$',unit:'л',a:67.2,ex:'$67{,}2$ л.'},
{q:'Число молекул в $2$ моль воды (коэф. при $\\cdot10^{23}$)?',hint:'$2\\cdot6{,}02$',unit:'$\\cdot10^{23}$',a:12.04,ex:'$12{,}04$.'},
{q:'$M_r(\\text{Fe}_2\\text{O}_3)=?$',hint:'$2\\cdot56+3\\cdot16$',unit:'',a:160,ex:'$112+48=160$.'},
{q:'$\\text{S}+\\text{O}_2=\\text{SO}_2$. Дано $n(\\text{S})=2$ моль. Найди $V(\\text{SO}_2)$ при н.у.',hint:'$n(\\text{SO}_2)=2$; $V=n\\,V_m$',unit:'л',a:44.8,ex:'$2\\cdot22{,}4=44{,}8$ л.'},
{q:'Какой объём (л, н.у.) занимают 0,5 моль CO₂?',hint:'V=n·22,4',unit:'л',a:11.2,tol:0.05,step:'0.1',ex:'0,5·22,4=11,2 л.'},
{q:'Mr(Na₂CO₃)?',hint:'2·23+12+3·16',unit:'',a:106,ex:'46+12+48=106.'} /*U5-extra*/
]
};
/* ── вспомогательные конструкторы контента ── */
function rememberBox(items){
return '<div class="remember-box"><div class="remember-box-title">'
+'<svg class="ic" viewBox="0 0 24 24" style="width:15px;height:15px"><rect x="3" y="11" width="18" height="11" rx="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg> Запомни!</div><ul>'
+items.map(function(t){return '<li>'+t+'</li>';}).join('')+'</ul></div>';
}
function qList(items){
return '<div class="section-title">Вопросы и задания</div><ol class="q-list">'
+items.map(function(t){return '<li>'+t+'</li>';}).join('')+'</ol>';
}
function wgt(title, inner){
return '<div class="wgt"><div class="wgt-h"><svg class="ic" viewBox="0 0 24 24"><path d="M4 7h16M4 12h16M4 17h10"/></svg> '+title+'</div>'+inner+'</div>';
}
/* ── BUILDERS параграфов ── */
window.BUILDERS = {
p1:build_p1,p2:build_p2,p3:build_p3,p4:build_p4,p5:build_p5,p6:build_p6,p7:build_p7,
pr1:build_pr1,p8:build_p8,p9:build_p9,final1:build_final1
};
function build_p1(){
document.getElementById('p1-body').innerHTML =
'<div class="para-hero ph-1"><div class="ph-label">§ 1 · Химия 8 кл</div><h2>Атомы. Химические элементы. Относительная атомная масса</h2>'
+'<div class="ph-formula">$A_r(\\text{O}) = 16$</div>'
+'<div class="ph-desc">Из чего состоят вещества и как сравнивают массы атомов, которые невозможно взвесить по отдельности.</div>'
+'<div class="ph-tags"><span class="ph-tag">атом</span><span class="ph-tag">элемент</span><span class="ph-tag">$A_r$</span></div></div>'
+makeCard('theory','Атом и химический элемент','§1','<p><b>Атом</b> — мельчайшая химически неделимая частица вещества. <b>Химический элемент</b> — вид атомов с одинаковым зарядом ядра. Каждый элемент имеет символ ($\\text{H}$, $\\text{O}$, $\\text{Fe}$) и порядковый номер $Z$, равный числу протонов в ядре.</p>'
+'<div class="def-box"><b>Относительная атомная масса</b> $A_r$ показывает, во сколько раз масса атома больше $\\tfrac{1}{12}$ массы атома углерода-12. Это безразмерная величина: $A_r(\\text{H})=1$, $A_r(\\text{O})=16$, $A_r(\\text{Fe})=56$.</div>')
+makeCard('example','Сравнение масс атомов',null,'<p>Во сколько раз атом кислорода тяжелее атома водорода?</p><div class="exa-step">$\\dfrac{A_r(\\text{O})}{A_r(\\text{H})}=\\dfrac{16}{1}=16$ раз.</div>')
+wgt('Карта элементов: клик → $Z$, название, $A_r$','<div class="el-grid" id="p1-el"></div><div class="el-info" id="p1-elinfo">Выберите элемент, чтобы увидеть его характеристики.</div>')
+rememberBox(['Атом нейтрален: число протонов = числу электронов.','$A_r$ — безразмерная, берётся из периодической таблицы.','Заряд ядра (число протонов) = порядковый номер $Z$.'])
+qList(['Чем отличается атом от химического элемента?','Что показывает $A_r$ и почему она безразмерна?','Атом магния имеет $A_r=24$. Во сколько раз он тяжелее атома углерода?'])
+secNav(null,'p2')+readButton('p1');
wireReadBtn('p1');
}
function build_p2(){
document.getElementById('p2-body').innerHTML =
'<div class="para-hero ph-2"><div class="ph-label">§ 2 · Химия 8 кл</div><h2>Молекулы. Простые и сложные вещества. Формулы. $M_r$</h2>'
+'<div class="ph-formula">$M_r=\\sum A_r$</div>'
+'<div class="ph-desc">Как записывают состав вещества формулой и как по ней рассчитывают относительную молекулярную массу.</div>'
+'<div class="ph-tags"><span class="ph-tag">формула</span><span class="ph-tag">индекс</span><span class="ph-tag">$M_r$</span></div></div>'
+makeCard('theory','Вещества и формулы','§2','<p><b>Простое вещество</b> образовано атомами одного элемента ($\\text{O}_2$, $\\text{Fe}$), <b>сложное</b> — разных ($\\text{H}_2\\text{O}$, $\\text{CaCO}_3$). <b>Химическая формула</b> показывает качественный (какие элементы) и количественный (сколько атомов) состав. Нижний индекс — число атомов элемента.</p>'
+'<div class="def-box"><b>Относительная молекулярная масса</b> $M_r$ равна сумме относительных атомных масс всех атомов формулы: $M_r(\\text{H}_2\\text{O})=2\\cdot1+16=18$.</div>')
+makeCard('example','Расчёт $M_r$',null,'<p>$M_r(\\text{H}_2\\text{SO}_4)$:</p><div class="exa-step">$2\\cdot A_r(\\text{H})+A_r(\\text{S})+4\\cdot A_r(\\text{O}) = 2\\cdot1+32+4\\cdot16 = 98$.</div>')
+wgt('Калькулятор $M_r$ по формуле','<div class="fld"><label>Формула</label><input type="text" id="p2-mr-in" value="CaCO3" style="width:160px;font-family:var(--mono)"><button class="btn primary" id="p2-mr-go">Вычислить</button></div>'
+'<div class="fld" style="gap:6px"><button class="btn p2-ex" data-f="H2O">H₂O</button><button class="btn p2-ex" data-f="H2SO4">H₂SO₄</button><button class="btn p2-ex" data-f="Ca(OH)2">Ca(OH)₂</button><button class="btn p2-ex" data-f="Al2(SO4)3">Al₂(SO₄)₃</button></div>'
+'<div class="out" id="p2-mr-out">Введите формулу и нажмите «Вычислить».</div>')
+rememberBox(['Индекс относится только к стоящему перед ним атому/группе.','Скобки: индекс умножает всё внутри — $\\text{Ca(OH)}_2$ = 1 Ca, 2 O, 2 H.','$M_r$ численно совпадает с молярной массой $M$ (§5).'])
+qList(['Чем простое вещество отличается от сложного?','Вычисли $M_r(\\text{Na}_2\\text{CO}_3)$.','Сколько всего атомов в формуле $\\text{Al}_2(\\text{SO}_4)_3$?'])
+secNav('p1','p3')+readButton('p2');
wireReadBtn('p2');
}
function build_p3(){
document.getElementById('p3-body').innerHTML =
'<div class="para-hero ph-3"><div class="ph-label">§ 3 · Химия 8 кл</div><h2>Химическое количество вещества</h2>'
+'<div class="ph-formula">$n$, моль</div>'
+'<div class="ph-desc">Почему химики считают вещество «порциями», а не отдельными атомами.</div>'
+'<div class="ph-tags"><span class="ph-tag">$n$</span><span class="ph-tag">моль</span><span class="ph-tag">порция</span></div></div>'
+makeCard('theory','Зачем нужна «порция»','§3','<p>Атомы и молекулы невозможно считать поштучно — их слишком много даже в крупинке вещества. Поэтому ввели специальную «порцию» — <b>химическое количество вещества</b> $n$, измеряемое в <b>молях</b>.</p>'
+'<div class="def-box">Одна и та же порция — $1$ моль — любого вещества содержит <b>одинаковое число частиц</b>. Химическое количество $n$ связывает массу $m$, число частиц $N$ и объём газа $V$ — это «мост» между атомами и граммами на весах.</div>')
+wgt('Порция вещества: $n \\Rightarrow N$ и $m$','<div class="fld"><label>Вещество</label><select id="p3-sub"><option value="H2O">вода H₂O (M=18)</option><option value="O2">кислород O₂ (M=32)</option><option value="CO2">углекислый газ CO₂ (M=44)</option><option value="NaCl">соль NaCl (M=58,5)</option></select><label>n, моль</label><input type="range" id="p3-n" min="0.1" max="5" step="0.1" value="1"><span class="bd" id="p3-nv">1,0</span></div><div class="out" id="p3-out"></div>')
+rememberBox(['$n$ измеряют в молях.','1 моль ≠ 1 грамм: масса 1 моль зависит от вещества (§5).','Чем больше $n$, тем больше и масса, и число частиц.'])
+qList(['Почему вещество удобнее измерять в молях, а не поштучно?','Что общего у 1 моль воды и 1 моль железа?'])
+secNav('p2','p4')+readButton('p3');
wireReadBtn('p3');
}
function build_p4(){
document.getElementById('p4-body').innerHTML =
'<div class="para-hero ph-4"><div class="ph-label">§ 4 · Химия 8 кл</div><h2>Моль. Постоянная Авогадро</h2>'
+'<div class="ph-formula">$N = n\\cdot N_A$</div>'
+'<div class="ph-desc">Сколько именно частиц содержит одна порция-моль и как считать их число.</div>'
+'<div class="ph-tags"><span class="ph-tag">$N_A$</span><span class="ph-tag">$6{,}02\\cdot10^{23}$</span></div></div>'
+makeCard('theory','Постоянная Авогадро','§4','<div class="def-box"><b>1 моль</b> — химическое количество вещества, содержащее столько же частиц, сколько атомов в $12$ г углерода-12, а именно $N_A = 6{,}02\\cdot10^{23}$ частиц/моль — <b>постоянная Авогадро</b>.</div>'
+'<p>Число частиц вычисляют по формуле $N = n\\cdot N_A$, а количество вещества — $n = \\dfrac{N}{N_A}$.</p>')
+makeCard('example','Сколько частиц?',null,'<p>Сколько молекул в $0{,}5$ моль воды?</p><div class="exa-step">$N=n\\,N_A=0{,}5\\cdot6{,}02\\cdot10^{23}=3{,}01\\cdot10^{23}$ молекул.</div>')
+wgt('Счётчик частиц $N = n\\cdot N_A$','<div class="fld"><label>n, моль</label><input type="range" id="p4-n" min="0.25" max="10" step="0.25" value="2"><span class="bd" id="p4-nv">2,0</span></div><div class="out" id="p4-out"></div>')
+rememberBox(['$N_A=6{,}02\\cdot10^{23}$ — огромное число: столько частиц в одной порции-моль.','$N=n\\,N_A$ — частиц; $n=N/N_A$ — молей.'])
+qList(['Сколько атомов в 2 моль железа?','Сколько моль составляют $1{,}204\\cdot10^{24}$ молекул?'])
+secNav('p3','p5')+readButton('p4');
wireReadBtn('p4');
}
function build_p5(){
document.getElementById('p5-body').innerHTML =
'<div class="para-hero ph-5"><div class="ph-label">§ 5 · Химия 8 кл</div><h2>Молярная масса. Молярный объём газов</h2>'
+'<div class="ph-formula">$V_m=22{,}4$ л/моль</div>'
+'<div class="ph-desc">Масса и объём одной порции-моль: для любого вещества и для любого газа.</div>'
+'<div class="ph-tags"><span class="ph-tag">$M$</span><span class="ph-tag">$V_m$</span><span class="ph-tag">н.у.</span></div></div>'
+makeCard('theory','M и Vm','§5','<div class="def-box"><b>Молярная масса</b> $M$ — масса $1$ моль вещества, г/моль. Численно $M$ равна $M_r$: $M(\\text{H}_2\\text{O})=18$ г/моль.</div>'
+'<div class="def-box"><b>Молярный объём</b> $V_m$ — объём $1$ моль газа. При нормальных условиях (н.у., $0\\,^\\circ$C и $101{,}3$ кПа) $V_m = 22{,}4$ л/моль для <b>любого</b> газа (следствие закона Авогадро).</div>')
+wgt('M по формуле и объём 1 моль газа','<div class="fld"><label>Формула газа</label><input type="text" id="p5-in" value="CO2" style="width:140px;font-family:var(--mono)"><button class="btn primary" id="p5-go">Найти M</button></div><div class="out" id="p5-out">M(CO₂) и объём при н.у. появятся здесь.</div>')
+'<div class="insight-box"><div class="insight-title"><svg class="ic" viewBox="0 0 24 24" style="width:14px;height:14px"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4M12 8h.01"/></svg> Закон Авогадро</div><p>В равных объёмах разных газов при одинаковых условиях — <b>равное число молекул</b>. Поэтому 1 моль любого газа занимает одинаковый объём 22,4 л.</p></div>'
+rememberBox(['$M$ (г/моль) численно равна $M_r$.','$V_m=22{,}4$ л/моль — только для газов и только при н.у.','У жидкостей и твёрдых веществ молярного объёма 22,4 л нет.'])
+qList(['Чему равна $M(\\text{NaOH})$?','Какой объём при н.у. займут 0,5 моль любого газа?'])
+secNav('p4','p6')+readButton('p5');
wireReadBtn('p5');
}
function build_p6(){
document.getElementById('p6-body').innerHTML =
'<div class="para-hero ph-6"><div class="ph-label">§ 6 · звёздный виджет</div><h2>Вычисление $n$ по массе и массы по $n$</h2>'
+'<div class="ph-formula">$n = \\dfrac{m}{M}$</div>'
+'<div class="ph-desc">Три связанные величины и удобный «треугольник» для запоминания формул.</div>'
+'<div class="ph-tags"><span class="ph-tag">$n=m/M$</span><span class="ph-tag">$m=nM$</span><span class="ph-tag">$M=m/n$</span></div></div>'
+makeCard('rule','Треугольник n–m–M','§6','<p>Все три величины связаны формулой $m = n\\cdot M$. Закрой искомую в треугольнике — получишь нужную формулу: $n=\\dfrac{m}{M}$, $m=n\\cdot M$, $M=\\dfrac{m}{n}$.</p>')
+makeCard('example','Разбор',null,'<p>Дано: $m=36$ г воды, $M=18$ г/моль. Найти $n$.</p><div class="exa-step">$n = \\dfrac{m}{M} = \\dfrac{36}{18} = 2$ моль.</div>')
+'<div class="flag-card"><div class="flag-title">Интерактивный треугольник n–mM</div><div class="flag-help">Введи любые два значения — третье вычислится. Можно подставить $M$ вещества.</div>'
+'<div class="fld"><label>Подставить M вещества</label><select id="p6-sub"><option value="">— вручную —</option><option value="H2O">H₂O · 18</option><option value="CO2">CO₂ · 44</option><option value="NaOH">NaOH · 40</option><option value="CaCO3">CaCO₃ · 100</option><option value="H2SO4">H₂SO₄ · 98</option></select></div><div id="p6-mount"></div></div>'
+rememberBox(['$m=n\\cdot M$ — основная формула, остальные выводятся из неё.','Единицы: $n$ — моль, $m$ — г, $M$ — г/моль.','Проверяй размерность: г / (г/моль) = моль.'])
+qList(['Найди массу 2 моль $\\text{CO}_2$.','Сколько моль в 40 г $\\text{NaOH}$?'])
+secNav('p5','p7')+readButton('p6');
wireReadBtn('p6');
}
function build_p7(){
document.getElementById('p7-body').innerHTML =
'<div class="para-hero ph-7"><div class="ph-label">§ 7 · Химия 8 кл</div><h2>Вычисление количества и объёма газа</h2>'
+'<div class="ph-formula">$n = \\dfrac{V}{V_m}$</div>'
+'<div class="ph-desc">Объёмы газов — через молярный объём. Единая связка четырёх величин.</div>'
+'<div class="ph-tags"><span class="ph-tag">$V=n\\,V_m$</span><span class="ph-tag">mnVN</span></div></div>'
+makeCard('rule','Связка m n V N','§7','<p>Для газа при н.у.: $n=\\dfrac{V}{V_m}$ и $V=n\\cdot V_m$, где $V_m=22{,}4$ л/моль. Вместе с $n=\\dfrac{m}{M}$ и $N=n\\cdot N_A$ это единая система: зная любую величину, найдёшь все остальные через $n$.</p>'
+'<div class="def-box">$m \\xrightarrow{\\;:M\\;} n \\xrightarrow{\\;\\cdot V_m\\;} V$, и $n \\xrightarrow{\\;\\cdot N_A\\;} N$. Центр всей системы — количество вещества $n$.</div>')
+makeCard('example','Через массу к объёму',null,'<p>$8$ г кислорода ($M=32$). Какой объём он займёт при н.у.?</p><div class="exa-step">$n=\\dfrac{8}{32}=0{,}25$ моль → $V=0{,}25\\cdot22{,}4=5{,}6$ л.</div>')
+'<div class="flag-card"><div class="flag-title">Универсальный калькулятор газа</div><div class="flag-help">Выбери газ, укажи известную величину — получишь $n$, $m$, $V$ и $N$.</div>'
+'<div class="fld"><label>Газ</label><select id="p7-sub"><option value="O2">O₂ · M=32</option><option value="CO2">CO₂ · M=44</option><option value="H2">H₂ · M=2</option><option value="N2">N₂ · M=28</option></select></div>'
+'<div class="fld"><label>Известно</label><select id="p7-key"><option value="n">n, моль</option><option value="m">m, г</option><option value="V">V, л (н.у.)</option><option value="N">N, ·10²³</option></select><input type="text" id="p7-val" value="1" style="width:110px;font-family:var(--mono)"><button class="btn primary" id="p7-go">Рассчитать</button></div><div class="out" id="p7-out"></div></div>'
+rememberBox(['$V_m=22{,}4$ л/моль — только при н.у.','Всегда сначала находи $n$, потом переходи к нужной величине.'])
+qList(['Какой объём займут 3 моль водорода при н.у.?','Сколько моль газа в 44,8 л при н.у.?'])
+secNav('p6','pr1')+readButton('p7');
wireReadBtn('p7');
}
function build_pr1(){
document.getElementById('pr1-body').innerHTML =
'<div class="para-hero ph-pr"><div class="ph-label">Практическая работа 1</div><h2>Химическое количество вещества</h2>'
+'<div class="ph-formula">$n=\\dfrac{m}{M}$, $N=n\\,N_A$</div>'
+'<div class="ph-desc">Связать измеримую массу с числом частиц через химическое количество.</div></div>'
+makeCard('lab','Порядок работы',null,'<ol><li>Взвесь на весах образцы веществ (например, $\\text{NaCl}$, $\\text{CuSO}_4$).</li><li>Запиши массу $m$ и определи молярную массу $M$ по формуле.</li><li>Вычисли химическое количество $n=\\dfrac{m}{M}$.</li><li>Найди число частиц $N=n\\cdot N_A$.</li><li>Оформи вывод: какому числу частиц соответствует взятая масса.</li></ol>'
+'<div class="note-safe"><svg viewBox="0 0 24 24"><path d="M12 9v4M12 17h.01"/><path d="M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z"/></svg> Работай аккуратно с реактивами и весами; не пробуй вещества на вкус.</div>')
+wgt('Тренажёр расчёта (как в работе)','<div class="fld"><label>Подставить M</label><select id="pr1-sub"><option value="">— вручную —</option><option value="NaCl">NaCl · 58,5</option><option value="CuSO4">CuSO₄ · 160</option><option value="H2O">H₂O · 18</option></select></div><div id="pr1-mount"></div>')
+secNav('p7','p8')+readButton('pr1');
wireReadBtn('pr1');
}
function build_p8(){
document.getElementById('p8-body').innerHTML =
'<div class="para-hero ph-8"><div class="ph-label">§ 8 · звёздный виджет</div><h2>Химические реакции</h2>'
+'<div class="ph-formula">закон сохранения массы</div>'
+'<div class="ph-desc">Что происходит с атомами в реакции и как уравнивают химические уравнения.</div>'
+'<div class="ph-tags"><span class="ph-tag">баланс</span><span class="ph-tag">коэффициенты</span><span class="ph-tag">типы</span></div></div>'
+makeCard('theory','Уравнение реакции','§8','<p>В химической реакции одни вещества превращаются в другие, но <b>атомы не исчезают и не появляются</b> — это <b>закон сохранения массы</b> (М. В. Ломоносов, А. Лавуазье). Поэтому уравнение реакции <b>уравнивают коэффициентами</b>: число атомов каждого элемента слева и справа должно быть равным. Менять индексы внутри формул нельзя!</p>')
+makeCard('example','Типы реакций',null,'<ul><li><b>Соединения:</b> $A+B\\to AB$ — из нескольких веществ одно.</li><li><b>Разложения:</b> $AB\\to A+B$ — из одного несколько.</li><li><b>Замещения:</b> $A+BC\\to AC+B$.</li><li><b>Обмена:</b> $AB+CD\\to AD+CB$.</li></ul>')
+'<div class="flag-card"><div class="flag-title">Балансировщик: расставь коэффициенты</div><div class="flag-help">Подбери коэффициенты так, чтобы число атомов каждого элемента совпало слева и справа.</div>'
+'<div class="fld" style="gap:6px"><label>Реакция</label><select id="p8-pick"><option value="H2 + O2 -> H2O|2,1,2">H₂ + O₂ → H₂O</option><option value="Fe + O2 -> Fe2O3|4,3,2">Fe + O₂ → Fe₂O₃</option><option value="Al + HCl -> AlCl3 + H2|2,6,2,3">Al + HCl → AlCl₃ + H₂</option><option value="CH4 + O2 -> CO2 + H2O|1,2,1,2">CH₄ + O₂ → CO₂ + H₂O</option></select></div><div id="p8-mount"></div></div>'
+rememberBox(['Уравнивают только коэффициентами, индексы не трогают.','Коэффициент относится ко всей формуле сразу.','Сумма масс реагентов = сумме масс продуктов.'])
+qList(['Сформулируй закон сохранения массы.','К какому типу относится реакция $\\text{Zn}+\\text{CuSO}_4\\to\\text{ZnSO}_4+\\text{Cu}$?'])
+secNav('pr1','p9')+readButton('p8');
wireReadBtn('p8');
}
function build_p9(){
document.getElementById('p9-body').innerHTML =
'<div class="para-hero ph-9"><div class="ph-label">§ 9 · звёздный виджет</div><h2>Количественные расчёты по уравнениям реакций</h2>'
+'<div class="ph-formula">по мольным отношениям</div>'
+'<div class="ph-desc">Главный приём химии: по массе одного вещества рассчитать массу или объём другого.</div>'
+'<div class="ph-tags"><span class="ph-tag">$n$</span><span class="ph-tag">коэффициенты</span><span class="ph-tag">$m$, $V$</span></div></div>'
+makeCard('rule','Алгоритм расчёта','§9','<ol><li>Записать и уравнять уравнение реакции.</li><li>Найти $n$ известного вещества: $n=\\dfrac{m}{M}$ (или $\\dfrac{V}{V_m}$).</li><li>По коэффициентам найти $n$ искомого (мольное отношение).</li><li>Перейти к массе или объёму: $m=n\\cdot M$ ($V=n\\cdot V_m$).</li></ol>')
+'<div class="flag-card"><div class="flag-title">Пошаговый решатель по уравнению</div><div class="flag-help">Выбери задачу и раскрывай решение по шагам.</div>'
+'<div class="fld"><label>Задача</label><select id="p9-pick"></select></div><div class="out" id="p9-out"></div>'
+'<div class="fld"><button class="btn" id="p9-step">Следующий шаг ▸</button><button class="btn" id="p9-all">Показать всё решение</button></div></div>'
+rememberBox(['Мольное отношение берут из коэффициентов уравнения.','Уравнение обязательно уравнивают до расчёта.','Для газов используют $V=n\\,V_m$ вместо $m=n\\,M$.'])
+qList(['$\\text{CaCO}_3=\\text{CaO}+\\text{CO}_2$. Сколько $\\text{CO}_2$ (л, н.у.) даст 200 г $\\text{CaCO}_3$?','$2\\text{Mg}+\\text{O}_2=2\\text{MgO}$. Сколько MgO даст 2 моль Mg?'])
+secNav('p8','final1')+readButton('p9');
wireReadBtn('p9');
}
function build_final1(){
document.getElementById('final1-body').innerHTML =
'<div class="para-hero ph-final"><div class="ph-label">Финал раздела</div><h2>Босс: количественные понятия</h2>'
+'<div class="ph-formula">$M_r$ · $n=m/M$ · $V=n\\,V_m$ · $N=n\\,N_A$</div>'
+'<div class="ph-desc">Шесть интегрированных задач на всё, что изучено. Реши все — получи ачивку «Счёт в химии».</div></div>'
+makeCard('rule','Шпаргалка раздела',null,'<div class="formula-grid">'
+'<div class="fcard"><h3>Масса ↔ количество</h3><div class="main-f">n = m / M</div></div>'
+'<div class="fcard"><h3>Объём газа</h3><div class="main-f">V = n · 22,4</div></div>'
+'<div class="fcard"><h3>Число частиц</h3><div class="main-f">N = n · 6,02·10²³</div></div>'
+'<div class="fcard highlight"><h3>Связка</h3><div class="main-f">m → n → V, N</div></div></div>')
+'<p style="margin:10px 0;color:var(--muted);font-size:.9rem">Реши задачи ниже — за каждую +5 XP, за полный разгром босса — ачивка и бонус.</p>'
+'<div class="flag-card"><div class="flag-title">Карта связей понятий</div><div class="flag-help">Кликни по связи — увидишь, как понятия главы связаны.</div><div id="c-concept"></div></div>'+secNav('p9',null);
}
/* ── монтаж sidebar после загрузки ачивки (движок сам строит) ── */
</script>
</body>
</html>