diff --git a/backend/tests/chemistry7-page.test.js b/backend/tests/chemistry7-page.test.js index dc4c4c6..bfef7eb 100644 --- a/backend/tests/chemistry7-page.test.js +++ b/backend/tests/chemistry7-page.test.js @@ -148,6 +148,20 @@ test('ch2 Волна 1: интерактивы §13 + ЛО2 + §14 + §15 мон assert.deepEqual(errors, [], 'нет ошибок: ' + errors.join(' | ')); }); +test('ch2 Волна 2: §16 + §17 + ПР2 + финал главы монтируются', async () => { + const { doc, errors } = await loadDom('chemistry_7_ch2.html'); + doc.defaultView.goTo('p16'); await wait(100); + assert.ok(doc.querySelector('#p16-bld #p16-el'), 'конструктор оксида §16'); + assert.ok(doc.querySelector('#p16-cls .c7-chip'), 'классификатор оксид/не оксид §16'); + doc.defaultView.goTo('p17'); await wait(100); + assert.ok(doc.querySelector('#p17-prod #p17-pick'), 'схема получения O2 §17'); + doc.defaultView.goTo('pr2'); await wait(100); + assert.ok(doc.querySelector('#pr2-test #pr2-go'), 'проверка кислорода ПР2'); + doc.defaultView.goTo('final2'); await wait(120); + assert.ok(doc.querySelectorAll('#navDotsfinal2 .nav-dot').length >= 6, 'боссы финала главы 2'); + assert.deepEqual(errors, [], 'нет ошибок: ' + errors.join(' | ')); +}); + /* ── Хаб: каталог глав + финал курса ── */ function buildHub() { let html = readF('frontend/textbooks/chemistry_7_hub.html'); diff --git a/frontend/textbooks/chemistry_7_ch2.html b/frontend/textbooks/chemistry_7_ch2.html index 4842c14..1e124e2 100644 --- a/frontend/textbooks/chemistry_7_ch2.html +++ b/frontend/textbooks/chemistry_7_ch2.html @@ -90,18 +90,28 @@ window.PARAS = [ ]; window.ACH_LABELS = { start:'Начало главы 2!', p13_done:'§13 изучен!', lo2_done:'Лабораторный опыт 2 выполнен!', - p14_done:'§14 изучен!', p15_done:'§15 изучен!', final2_tasks:'Глава 2 пройдена!' }; + p14_done:'§14 изучен!', p15_done:'§15 изучен!', + p16_done:'§16 изучен!', p17_done:'§17 изучен!', pr2_done:'Практическая работа 2 выполнена!', + final2_tasks:'Глава 2 пройдена! Вы — Повелитель кислорода!' }; window.SIDEBARS = { p13:{ title:'Шпаргалка §13', rows:[['Воздух','смесь газов'],['$N_2$','≈ 78 %'],['$O_2$','≈ 21 %']] }, lo2:{ title:'Лаб. опыт 2', rows:[['Прибор','пробирка + трубка'],['Собирание','воздуха или воды']] }, p14:{ title:'Шпаргалка §14', rows:[['Элемент','O, $Z=8$'],['Вещество','$O_2$'],['Озон','$O_3$']] }, - p15:{ title:'Шпаргалка §15', rows:[['Горение','+ $O_2$'],['Продукт','оксид'],['Окисление','медленное и быстрое']] } + p15:{ title:'Шпаргалка §15', rows:[['Горение','+ $O_2$'],['Продукт','оксид'],['Окисление','медленное и быстрое']] }, + p16:{ title:'Шпаргалка §16', rows:[['Оксид','Э + O'],['O','валентность II'],['Формула','$Э_xO_y$']] }, + p17:{ title:'Шпаргалка §17', rows:[['Лаборатория','разложение'],['Катализатор','ускоряет, не тратится'],['Промышленность','из воздуха']] }, + pr2:{ title:'Практическая 2', rows:[['Получить','разложением'],['Доказать','тлеющая лучинка']] }, + final2:{ title:'Финал главы 2', rows:[['§§13–17','кислород'],['Награда','ачивка + XP']] } }; window.TIPS = [ { sec:'p13', html:'Воздух — смесь газов: примерно $78\\,\\%$ азота $N_2$ и $21\\,\\%$ кислорода $O_2$, около $1\\,\\%$ — другие газы.' }, { sec:'lo2', html:'Газ, который тяжелее воздуха (как $O_2$), собирают в сосуд отверстием вверх; легче воздуха ($H_2$) — отверстием вниз; нерастворимый — вытеснением воды.' }, { sec:'p14', html:'$O$ — элемент (атом в составе веществ). $O_2$ — простое вещество. Кислород $O_2$ и озон $O_3$ — разные простые вещества одного элемента.' }, - { sec:'p15', html:'При горении вещество соединяется с кислородом — образуется оксид. Реакции с кислородом называют реакциями окисления.' } + { sec:'p15', html:'При горении вещество соединяется с кислородом — образуется оксид. Реакции с кислородом называют реакциями окисления.' }, + { sec:'p16', html:'Оксид — сложное вещество из двух элементов, один из которых кислород (валентность II). Формулу составляют по валентности: оксид алюминия — $Al_2O_3$.' }, + { sec:'p17', html:'В лаборатории $O_2$ получают разложением веществ, богатых кислородом. Катализатор ($MnO_2$) ускоряет реакцию, но сам не расходуется.' }, + { sec:'pr2', html:'Кислород доказывают тлеющей лучинкой: в кислороде она ярко вспыхивает.' }, + { sec:'final2', html:'Собери всё: состав воздуха, кислород-элемент и $O_2$, горение и оксиды, получение кислорода и катализатор.' } ]; window.POOLS = { @@ -122,6 +132,26 @@ window.POOLS = { {q:'При горении серы в кислороде образуется…',opts:['$\\text{SO}_2$','$\\text{H}_2\\text{S}$','$\\text{S}$','$\\text{SO}_3$ только'],a:0,ex:'$S+O_2=SO_2$ (с резким запахом).'}, {q:'Реакция $\\text{C}+\\text{O}_2=\\text{CO}_2$ относится к реакциям…',opts:['Разложения','Соединения','Обмена','Замещения'],a:1,ex:'Из двух веществ одно — соединение.'}, {q:'В уравнении $2\\text{Mg}+\\text{O}_2=2\\text{MgO}$ коэффициент перед $\\text{MgO}$ равен…',hint:'смотри на оксид',unit:'',a:2,ex:'Коэффициент 2.'} + ], + p16:[ + {q:'Оксид — это…',opts:['Соль','Сложное вещество из двух элементов, один из которых кислород','Простое вещество','Кислота'],a:1,ex:'Оксид — соединение элемента с кислородом.'}, + {q:'Какое вещество является оксидом?',opts:['NaCl','CO₂','H₂SO₄','HCl'],a:1,ex:'$CO_2$ — оксид углерода(IV).'}, + {q:'Какова валентность меди в оксиде $\\text{CuO}$ (кислород — II)?',hint:'равна валентности O',unit:'',a:2,ex:'Cu — II.'}, + {q:'Какова формула оксида фосфора, в котором фосфор пятивалентен?',opts:['PO','P₂O₅','P₂O₃','PO₂'],a:1,ex:'P(V), O(II) → $P_2O_5$.'} + ], + p17:[ + {q:'Как получают кислород в лаборатории?',opts:['Разложением веществ, богатых кислородом','Из поваренной соли','Сжиганием угля','Из песка'],a:0,ex:'Например, разложением $KMnO_4$ или $H_2O_2$.'}, + {q:'Катализатор — это вещество, которое…',opts:['Расходуется в реакции','Ускоряет реакцию и не расходуется','Замедляет реакцию','Само горит'],a:1,ex:'Катализатор ускоряет реакцию, оставаясь неизменным.'}, + {q:'Реакция $2\\text{KMnO}_4=\\text{K}_2\\text{MnO}_4+\\text{MnO}_2+\\text{O}_2$ — это реакция…',opts:['Соединения','Разложения','Замещения','Обмена'],a:1,ex:'Из одного вещества — несколько: разложение.'}, + {q:'Откуда в промышленности получают кислород?',opts:['Из воздуха','Из поваренной соли','Из угля','Из песка'],a:0,ex:'Кислород выделяют из жидкого воздуха.'} + ], + final2:[ + {q:'Объёмная доля кислорода в воздухе (%)?',hint:'≈ 21',unit:'%',a:21,ex:'21 %.'}, + {q:'Валентность серы в оксиде $\\text{SO}_2$ (O — II)?',hint:'$2\\cdot\\text{II}$',unit:'',a:4,ex:'IV.'}, + {q:'В уравнении $2\\text{Mg}+\\text{O}_2=2\\text{MgO}$ коэффициент перед $\\text{O}_2$?',hint:'',unit:'',a:1,ex:'1.'}, + {q:'Продукт горения углерода в кислороде — это…',opts:['CO₂','CO только','C','H₂O'],a:0,ex:'$C+O_2=CO_2$.'}, + {q:'Катализатор в реакции…',opts:['Расходуется','Не расходуется','Сгорает','Испаряется'],a:1,ex:'Катализатор не расходуется.'}, + {q:'Сколько атомов кислорода в формуле оксида фосфора $\\text{P}_2\\text{O}_5$?',hint:'индекс при O',unit:'',a:5,ex:'5.'} ] }; @@ -195,6 +225,66 @@ function build_p15(){ wireReadBtn('p15'); } +function build_p16(){ + document.getElementById('p16-body').innerHTML = + '
§ 16 · Химия 7

Оксиды

' + +'
$Э_x\\text{O}_y$
' + +'
Что такое оксиды, как составляют их формулы и названия.
' + +'
оксидвалентность O — II
' + +makeCard('theory','Что такое оксид','§16','
Оксид — сложное вещество, состоящее из двух элементов, один из которых — кислород (в оксидах он имеет валентность II).
' + +'

Примеры: $\\text{CuO}$, $\\text{CO}_2$, $\\text{SO}_2$, $\\text{P}_2\\text{O}_5$, $\\text{Fe}_3\\text{O}_4$, $\\text{H}_2\\text{O}$, $\\text{CaO}$. Формулу оксида составляют по валентности, как и любую формулу.

') + +makeCard('example','Названия оксидов',null,'

Название: «оксид» + название элемента. Если элемент имеет переменную валентность, её указывают римской цифрой: $\\text{CuO}$ — оксид меди(II), $\\text{CO}_2$ — оксид углерода(IV).

') + +wgt('Конструктор оксида','
') + +wgt('Распредели: оксид или не оксид?','
') + +rememberBox(['Оксид — соединение элемента с кислородом.','Кислород в оксидах двухвалентен (II).','Название: «оксид» + элемент (+ валентность, если переменная).']) + +qList(['Дай определение оксида.','Составь формулу оксида кальция (Ca — II).','Назови оксид $\\text{SO}_2$.']) + +secNav('p15','p17')+readButton('p16'); + wireReadBtn('p16'); +} + +function build_p17(){ + document.getElementById('p17-body').innerHTML = + '
§ 17 · Химия 7

Получение кислорода

' + +'
Как получают кислород в лаборатории и в промышленности и что такое катализатор.
' + +'
разложениекатализатор
' + +makeCard('theory','Получение в лаборатории','§17','

В лаборатории кислород получают разложением веществ, богатых кислородом: перманганата калия $\\text{KMnO}_4$ (при нагревании) или пероксида водорода $\\text{H}_2\\text{O}_2$.

' + +'
Реакция разложения — реакция, в которой из одного сложного вещества образуется несколько других веществ.
') + +makeCard('rule','Катализатор','§17','

Разложение $\\text{H}_2\\text{O}_2$ ускоряет катализатор — оксид марганца(IV) $\\text{MnO}_2$.

' + +'
Катализатор — вещество, которое ускоряет химическую реакцию, но само в ней не расходуется.
' + +'

В промышленности кислород получают из воздуха (разделяя сжиженный воздух).

') + +wgt('Схема получения кислорода','
') + +rememberBox(['В лаборатории $O_2$ — разложением $KMnO_4$ или $H_2O_2$.','Катализатор ускоряет реакцию и не расходуется.','В промышленности кислород получают из воздуха.']) + +qList(['Что такое реакция разложения?','Какую роль играет $\\text{MnO}_2$ при разложении пероксида водорода?','Откуда получают кислород в промышленности?']) + +secNav('p16','pr2')+readButton('p17'); + wireReadBtn('p17'); +} + +function build_pr2(){ + document.getElementById('pr2-body').innerHTML = + '
Практическая работа 2

Получение кислорода и изучение его свойств

' + +'
Получить кислород, собрать его и доказать, что это именно кислород.
' + +makeCard('lab','Ход работы',null,'
  1. Собери прибор для получения газа (пробирка с газоотводной трубкой).
  2. Получи кислород разложением вещества, богатого кислородом.
  3. Собери кислород в сосуд (вытеснением воздуха — отверстием вверх, или вытеснением воды).
  4. Внеси в сосуд тлеющую лучинку — она ярко вспыхнет: это доказывает, что газ — кислород.
  5. Сделай вывод о свойствах кислорода.
' + +'
Нагревай пробирку осторожно; не направляй её отверстием на людей.
') + +wgt('Докажи, что газ — кислород','
') + +secNav('p17','final2')+readButton('pr2'); + wireReadBtn('pr2'); +} + +function build_final2(){ + document.getElementById('final2-body').innerHTML = + '
Финал главы 2

Босс: кислород

' + +'
воздух · $O_2$ · горение · оксиды · получение
' + +'
Шесть задач на всю главу. Реши все — получи звание «Повелитель кислорода».
' + +makeCard('rule','Шпаргалка главы 2',null,'') + +'

Реши задачи ниже — за каждую +5 XP, за полный разгром босса — звание и бонус.

' + +secNav('pr2',null); +} + /* заглушки для ещё не наполненных § (следующая волна) */ (function(){ var P = window.PARAS, B = {}; @@ -221,6 +311,10 @@ window.BUILDERS.p13 = build_p13; window.BUILDERS.lo2 = build_lo2; window.BUILDERS.p14 = build_p14; window.BUILDERS.p15 = build_p15; +window.BUILDERS.p16 = build_p16; +window.BUILDERS.p17 = build_p17; +window.BUILDERS.pr2 = build_pr2; +window.BUILDERS.final2 = build_final2;