'
+'';
- /* IV6 — Heat Conductor Bench (Phase 1.2) */
+ /* IV6 — flagship интерактив (заглушка Phase 1, наполнение в Phase 1.2) */
h += '
'
- +'
IV-6
Тепловая лавочка — какой материал быстрее проводит тепло?
'
- +'
Перетащи один из стержней (медь, дерево, стекло, серебро) на горелку. Цветовая карта покажет, как тепло движется по стержню. Чем больше λ — тем быстрее.
'
- +''
- +'
'
- +'
Материал—
'
- +'
λ—Вт/(м·К)
'
- +'
T дальнего конца—°C
'
+ +'
IV-6
Новый интерактив §2
'
+ +'
Готовится: интерактивная визуализация с drag-and-drop для углубления темы. Скоро будет доступна.
'
+ +'
'
+ +''
+ +'
Phase 1.2 — coming soon
'
+'
'
+'
';
-
+ box.innerHTML = h + secNavFor('p2') + readButton('p2');
+ renderMath(box);
+ wireReadBtn('p2');
+ _initp2_iv5();
+
+ _initP2_sim();
+ _initP2_quiz();
+ _initP2_dnd();
+ _initP2_mcq();
+}
+
+function _initp2_iv5(){
+ const TASKS = [{"q":"Газу передали $Q = 200$ Дж теплоты, и он совершил работу $A = 60$ Дж. На сколько увеличилась его внутренняя энергия? ($\\Delta U = Q - A$)","ans":140,"tol":2,"why":"$\\Delta U = Q - A = 200 - 60 = 140$ Дж (первое начало термодинамики)."},{"q":"Над газом совершили работу $A_{внеш} = 150$ Дж, газ отдал $Q = 50$ Дж тепла. На сколько изменилась $U$?","ans":100,"tol":2,"why":"$\\Delta U = A_{внеш} - Q_{отд} = 150 - 50 = 100$ Дж."},{"q":"Газ адиабатно (без теплообмена, $Q = 0$) расширился, совершив $A = 80$ Дж. Найдите $|\\Delta U|$.","ans":80,"tol":2,"why":"При $Q = 0$: $\\Delta U = -A = -80$ Дж. Модуль изменения $|\\Delta U| = 80$ Дж."},{"q":"Молотом массой $0{,}5$ кг, движущимся со скоростью $v = 4$ м/с, ударили по гвоздю. Вся кинетическая энергия перешла в тепло. На сколько Джоулей увеличилась $U$ гвоздя?","ans":4,"tol":0.1,"why":"$E_к = \\dfrac{mv^2}{2} = \\dfrac{0{,}5 \\cdot 16}{2} = 4$ Дж $= \\Delta U$."},{"q":"Газу сообщили $Q = 500$ Дж, при этом $\\Delta U = 350$ Дж. Какую работу совершил газ?","ans":150,"tol":3,"why":"$A = Q - \\Delta U = 500 - 350 = 150$ Дж."}];
+ let i = 0, ok = 0, awarded = false;
+ function render(){
+ const t = TASKS[i]; const wrap = document.getElementById('p2-tasks5'); if(!wrap) return;
+ wrap.innerHTML =
+ '
Задача '+(i+1)+'. '+t.q+'
'
+ +'
'
+ +''
+ +''
+ +'
'
+ +'Решение
'+t.why+'
'
+ +'';
+ if (window.renderMathInElement) try { renderMathInElement(wrap, {delimiters:[{left:'$',right:'$',display:false}],throwOnError:false}); } catch(e){}
+ document.getElementById('p2-iv5-go').onclick = () => {
+ const v = parseFloat(document.getElementById('p2-iv5-inp').value.replace(',','.'));
+ const fb = document.getElementById('p2-iv5-fb');
+ const wh = document.getElementById('p2-iv5-why-wrap');
+ if (Math.abs(v - t.ans) <= t.tol) {
+ fb.className = 'feedback ok'; fb.innerHTML = 'Верно!'; ok++;
+ document.getElementById('p2-tasks5-ok').textContent = ok;
+ wh.style.display = 'block';
+ } else {
+ fb.className = 'feedback fail'; fb.innerHTML = 'Не совсем. Ожидался $' + t.ans + '$. Загляни в подсказку.';
+ if (window.renderMathInElement) try { renderMathInElement(fb, {delimiters:[{left:'$',right:'$',display:false}],throwOnError:false}); } catch(e){}
+ }
+ };
+ document.getElementById('p2-iv5-hint').onclick = () => {
+ const wh = document.getElementById('p2-iv5-why-wrap');
+ wh.style.display = wh.style.display === 'block' ? 'none' : 'block';
+ };
+ document.getElementById('p2-iv5-next').onclick = () => {
+ i = (i + 1) % TASKS.length;
+ document.getElementById('p2-tasks5-i').textContent = i + 1;
+ render();
+ if (ok === TASKS.length && !awarded) { awarded = true; if (typeof addXp === 'function') addXp(20, 'p2-iv5'); }
+ };
+ }
+ render();
+}
+
+/* === §2 IV-1: симуляция «работа vs теплопередача» === */
+function _initP2_sim(){
+ _killSim('p2sim');
+ const svg = document.getElementById('p2-sim'); if(!svg) return;
+ const W=460, H=200;
+ /* левая сцена: брусок скользит по доске */
+ /* правая сцена: два тела касаются, температуры → среднее */
+ let running = false;
+ let tA = 20; /* температура бруска */
+ let tH = 90, tC = 10; /* контакт горячий/холодный */
+ let blockX = 60;
+ let t = 0;
+ function reset(){
+ tA = 20; tH = 90; tC = 10; blockX = 60; t = 0;
+ document.getElementById('p2-tA').textContent = '20';
+ document.getElementById('p2-uA').textContent = '0';
+ document.getElementById('p2-tH').textContent = '90';
+ document.getElementById('p2-tC').textContent = '10';
+ paint();
+ }
+ function paint(){
+ let s = '';
+ /* === ЛЕВАЯ СЦЕНА: трение === */
+ /* доска */
+ s += '';
+ /* штриховка под доской */
+ for(let i=22;i<218;i+=10) s += '';
+ /* брусок (цвет по температуре) */
+ const cA = window.PHYS.tempColor(tA, 20, 80);
+ s += '';
+ /* стрелка-сила F (рука толкает) */
+ s += window.PHYS.drawArrow ? window.PHYS.drawArrow(blockX-30, 106, blockX-5, 106, '#10b981', 2.2, 9) : '';
+ s += 'F';
+ /* трение (внизу бруска) */
+ s += 'трение нагревает';
+ /* термометр для бруска */
+ s += window.PHYS.thermometer(220, 50, 80, 0, 100, tA);
+ /* подпись */
+ s += 'РАБОТА (трение)';
+ /* === разделитель === */
+ s += '';
+ /* === ПРАВАЯ СЦЕНА: контакт === */
+ const cH = window.PHYS.tempColor(tH, 0, 100);
+ const cCo = window.PHYS.tempColor(tC, 0, 100);
+ s += '';
+ s += '';
+ /* стрелки потока тепла */
+ s += window.PHYS.drawArrow ? window.PHYS.drawArrow(326, 100, 344, 100, '#dc2626', 2.2, 8) : '';
+ s += window.PHYS.drawArrow ? window.PHYS.drawArrow(326, 120, 344, 120, '#dc2626', 2.2, 8) : '';
+ s += 'Q';
+ /* подписи температур */
+ s += ''+tH.toFixed(0)+' °C';
+ s += ''+tC.toFixed(0)+' °C';
+ s += 'ТЕПЛОПЕРЕДАЧА';
+ svg.innerHTML = s;
+ }
+ function tick(){
+ if(!running){ _SIMS.p2sim.raf = requestAnimationFrame(tick); return; }
+ if(!_isVisible('p2')){ _SIMS.p2sim.raf = requestAnimationFrame(tick); return; }
+ t += 1;
+ /* брусок двигается слева направо и нагревается */
+ blockX += 0.8;
+ if(blockX > 170){ blockX = 60; }
+ if(tA < 80) tA += 0.18;
+ /* контакт: tH и tC сходятся к среднему */
+ const avg = (tH + tC) / 2;
+ if(Math.abs(tH - avg) > 0.05){
+ tH -= (tH - avg) * 0.012;
+ tC += (avg - tC) * 0.012;
+ }
+ document.getElementById('p2-tA').textContent = tA.toFixed(0);
+ document.getElementById('p2-uA').textContent = (tA - 20).toFixed(0) === '0' ? '0' : '+'+(tA - 20).toFixed(0);
+ document.getElementById('p2-tH').textContent = tH.toFixed(0);
+ document.getElementById('p2-tC').textContent = tC.toFixed(0);
+ paint();
+ _SIMS.p2sim.raf = requestAnimationFrame(tick);
+ }
+ document.getElementById('p2-sim-start').addEventListener('click', ()=>{
+ running = !running;
+ document.getElementById('p2-sim-start').textContent = running ? 'Пауза' : 'Запустить';
+ });
+ document.getElementById('p2-sim-reset').addEventListener('click', ()=>{
+ running = false;
+ document.getElementById('p2-sim-start').textContent = 'Запустить';
+ reset();
+ });
+ _SIMS.p2sim = { raf: 0 };
+ reset();
+ _SIMS.p2sim.raf = requestAnimationFrame(tick);
+}
+
+/* === §2 IV-2: викторина работа/теплопередача === */
+function _initP2_quiz(){
+ const QS = [
+ {sit:'Долго трёшь руки одна о другую — они нагреваются.', ans:'W', why:'Работа сил трения переходит во внутреннюю энергию рук.'},
+ {sit:'Чай в стакане остывает на столе.', ans:'H', why:'Теплопередача от чая в воздух и стенки стакана — без совершения работы.'},
+ {sit:'Велосипедный насос нагревается при накачивании колеса.', ans:'W', why:'Воздух в насосе сжимается — над ним совершается работа.'},
+ {sit:'Металлическая ложка в горячем чае нагревается.', ans:'H', why:'Теплопередача (теплопроводность) от чая к ложке.'},
+ {sit:'Гвоздь забивают молотком — шляпка гвоздя нагревается.', ans:'W', why:'Кинетическая энергия молотка переходит в работу деформации/трения.'},
+ {sit:'Лёд в холодильнике плавится, если открыть дверцу.', ans:'H', why:'Тёплый воздух комнаты передаёт энергию льду.'},
+ {sit:'Греется проволока в фене — горячий воздух дует на руки.', ans:'H', why:'Конвекция: поток горячего воздуха переносит энергию.'},
+ {sit:'Спички в коробке от долгой тряски нагрелись.', ans:'W', why:'Работа сил трения внутри коробки.'}
+ ];
+ let i = 0, ok = 0;
+ function render(){
+ const q = QS[i];
+ const wrap = document.getElementById('p2-quiz');
+ if(!wrap) return;
+ wrap.innerHTML =
+ '
'+q.sit+'
'
+ +'
'
+ +''
+ +''
+ +'
'
+ +'';
+ document.getElementById('p2-quiz-r').textContent = (i+1);
+ document.getElementById('p2-quiz-ok').textContent = ok;
+ wrap.querySelectorAll('[data-pick]').forEach(btn=>{
+ btn.addEventListener('click', ()=>{
+ if(btn.disabled) return;
+ const pick = btn.dataset.pick;
+ wrap.querySelectorAll('[data-pick]').forEach(b=>b.disabled=true);
+ const fb = document.getElementById('p2-quiz-fb');
+ if(pick === q.ans){
+ ok++;
+ fb.className='feedback ok'; fb.innerHTML='✓ Верно. '+q.why;
+ addXp(3,'p2-quiz'); bumpProgress('p2', 4);
+ } else {
+ fb.className='feedback fail'; fb.innerHTML='✗ Не то. '+q.why;
+ }
+ document.getElementById('p2-quiz-ok').textContent = ok;
+ });
+ });
+ }
+ document.getElementById('p2-quiz-next').addEventListener('click', ()=>{
+ i = (i+1) % QS.length; render();
+ });
+ render();
+}
+
+/* === §2 IV-3: DnD сортировка === */
+function _initP2_dnd(){
+ const items = [
+ {id:'a', cat:'work', html:'трение ладонями'},
+ {id:'b', cat:'work', html:'сжатие воздуха в насосе'},
+ {id:'c', cat:'work', html:'удар молотком по гвоздю'},
+ {id:'d', cat:'work', html:'строгание доски рубанком'},
+ {id:'e', cat:'heat', html:'остывание чая в стакане'},
+ {id:'f', cat:'heat', html:'нагрев ложки в супе'},
+ {id:'g', cat:'heat', html:'Солнце греет асфальт'},
+ {id:'h', cat:'heat', html:'батарея греет комнату'}
+ ];
+ const dnd = setupSorter({
+ poolId:'p2-dnd-pool',
+ scopeSelector:'#sec-p2',
+ cats:['work','heat'],
+ items: items,
+ columnLayout:false
+ });
+ document.getElementById('p2-dnd-check').addEventListener('click', ()=>{
+ const fb = document.getElementById('p2-dnd-fb');
+ let wrong = 0, total = items.length;
+ items.forEach(it=>{ if(dnd.placed[it.id] !== it.cat) wrong++; });
+ if(wrong === 0){
+ fb.className='feedback ok'; fb.innerHTML='✓ Идеально! +15 XP. Работа связана с движением макротел, теплопередача — с разностью температур.';
+ addXp(15,'p2-dnd'); bumpProgress('p2', 20);
+ } else {
+ fb.className='feedback fail'; fb.innerHTML='✗ Ошибок: '+wrong+' из '+total+'. Подсказка: трение, сжатие, удар, строгание — это работа.';
+ }
+ });
+ document.getElementById('p2-dnd-reset').addEventListener('click', ()=>{
+ dnd.reset();
+ const fb = document.getElementById('p2-dnd-fb'); fb.style.display='none';
+ });
+}
+
+/* === §2 IV-4: MCQ тренажёр === */
+function _initP2_mcq(){
+ const QS = [
+ {q:'Какими способами можно изменить $U$ тела?', opts:['Только работой','Только теплопередачей','Работой и теплопередачей','Только нагревом'], ans:2, why:'Это два равноправных способа.'},
+ {q:'Что нагревает наковальню при ковке?', opts:['Теплопередача','Работа удара','Излучение','Конвекция'], ans:1, why:'Кинетическая энергия молотка совершает работу деформации.'},
+ {q:'Какой вид теплопередачи греет руку от костра, если не подходить близко?', opts:['Теплопроводность','Конвекция','Излучение','Работа'], ans:2, why:'Через воздух (плохой проводник) и без контакта — это излучение.'},
+ {q:'Чай в термосе долго не остывает, потому что…', opts:['у термоса большая масса','стенки термоса тонкие','двойные стенки и вакуум между ними подавляют все виды теплопередачи','чай совершает работу'], ans:2, why:'Вакуум — нет конвекции и проводности; зеркальные стенки уменьшают излучение.'},
+ {q:'Какой пример НЕ относится к теплопередаче?', opts:['Ложка нагрелась в супе','Воздух у радиатора поднимается вверх','Снег тает на солнце','Гвоздь нагрелся, когда его забили молотком'], ans:3, why:'Гвоздь нагрелся работой удара.'},
+ {q:'Знак $\\Delta U$ для остывающего тела?', opts:['$\\Delta U > 0$','$\\Delta U < 0$','$\\Delta U = 0$','зависит от массы'], ans:1, why:'$T$ падает $\\Rightarrow$ $U$ уменьшается $\\Rightarrow$ $\\Delta U < 0$.'}
+ ];
+ let i = 0, ok = 0, done = 0, awarded = false;
+ function render(){
+ const q = QS[i];
+ const wrap = document.getElementById('p2-mcq');
+ if(!wrap) return;
+ let h = '
Вопрос '+(i+1)+'. '+q.q+'
';
+ h += '
';
+ q.opts.forEach((opt, k)=>{
+ h += '';
+ });
+ h += '
Теплопроводность — передача внутренней энергии от более горячих частей тела к более холодным без переноса вещества.
'
+ +'
Механизм: быстрые молекулы (в горячей части) сталкиваются с медленными (в холодной) и передают им часть своей $E_k$. Так энергия путешествует через тело молекула за молекулой.
'
+ +'
Само вещество при этом остаётся на месте — двигается только энергия.
'
+ );
+ h += makeCard('rule', 'Хорошие и плохие проводники', '§ 3.2',
+ '
Хорошие проводники тепла:
'
+ +'
металлы: серебро, медь, алюминий, железо;
в них свободные электроны быстро переносят энергию.
'
+ +'
Плохие проводники (тепловые изоляторы):
'
+ +'
дерево, стекло, кирпич, пластик;
шерсть, мех, пух, вата (они «держат» воздух между волокнами);
сами газы и жидкости (кроме ртути);
вакуум — идеальный изолятор: нет частиц $\\Rightarrow$ нечем передавать.
'
+ );
+ h += makeCard('example', 'Зачем это нам', '§ 3.3',
+ '
'
+ +'
Ручка сковороды — из дерева или пластика, чтобы не обжечь руку.
'
+ +'
Шуба греет не сама — между волосками много воздуха.
'
+ +'
Стеклопакет: два стекла + воздух между ними плохо проводят тепло.
'
+ +'
В термосе между двумя стенками — вакуум (минимум теплопроводности).
Один конец стержня — горячий ($T_{гор}$), другой — холодный ($T_{хол}$). Тепло перетекает с горячего конца на холодный. Цвет показывает температуру вдоль стержня. Меняй $\\alpha$ — коэффициент теплопроводности.
';
- /* IV6 — Heat Mixer (Phase 1.2) */
+ /* IV6 — flagship интерактив (заглушка Phase 1, наполнение в Phase 1.4) */
h += '
'
- +'
IV-6
Смесь двух жидкостей — рассчитай конечную T
'
- +'
Перетащи ёмкости друг к другу — они смешаются. Масса и начальная температура каждой — на скрубберах ниже. Конечная температура считается по уравнению теплового баланса $c m_1 (T_1 - T) = c m_2 (T - T_2)$.
'
- +''
- +'
'
- +'
m₁0.5кг
'
- +'
T₁80°C
'
- +'
m₂1.0кг
'
- +'
T₂20°C
'
- +'
'
- +'
'
- +'
T_итог—°C
'
- +''
- +''
+ +'
IV-6
Новый интерактив §4
'
+ +'
Готовится: интерактивная визуализация с drag-and-drop для углубления темы. Скоро будет доступна.
'
+ +'
'
+ +''
+ +'
Phase 1.4 — coming soon
'
+'
'
+'
';
-
+ box.innerHTML = h + secNavFor('p4') + readButton('p4');
+ renderMath(box);
+ wireReadBtn('p4');
+ _initp4_iv5();
+
+ _initP4_sim();
+ _initP4_quiz();
+ _initP4_dnd();
+ _initP4_mcq();
+}
+
+function _initp4_iv5(){
+ const TASKS = [{"q":"Плотность тёплого воздуха в $\\rho_1 = 1{,}1$ кг/м³, холодного $\\rho_2 = 1{,}3$ кг/м³. На сколько % холодный плотнее? $((\\rho_2 - \\rho_1)/\\rho_1) \\cdot 100$.","ans":18,"tol":1,"why":"$(1{,}3 - 1{,}1)/1{,}1 \\cdot 100 \\approx 18\\,\\%$."},{"q":"Радиатор отдаёт мощность $P = 1500$ Вт, нагревая воздух массой $m = 50$ кг за $t = 60$ с. На сколько $\\Delta T$ нагрелся воздух? ($c_{возд} = 1000$ Дж/(кг·К))","ans":1.8,"tol":0.1,"why":"$\\Delta T = Q/(cm) = (P\\cdot t)/(cm) = (1500 \\cdot 60)/(1000 \\cdot 50) = 1{,}8$ К."},{"q":"Вода нагревается снизу. Где будет тёплая вода: $a)$ снизу, $b)$ сверху? Введите 2, если сверху, 1, если снизу.","ans":2,"tol":0.1,"why":"Тёплая вода легче — поднимается вверх. Это и есть конвекция."},{"q":"Холодильник остужает $m = 2$ кг воздуха с $T_1 = 25$ до $T_2 = 5\\,^\\circ$C. Какое тепло (в кДж) он унёс? ($c = 1000$)","ans":40,"tol":1,"why":"$Q = cm\\Delta T = 1000 \\cdot 2 \\cdot 20 = 40\\,000$ Дж $= 40$ кДж."},{"q":"Ветер охлаждает кожу. Если без ветра тело отдаёт $P_0 = 50$ Вт, а с ветром $P = 200$ Вт, во сколько раз быстрее идёт теплоотдача?","ans":4,"tol":0.1,"why":"$P/P_0 = 200/50 = 4$ раза."}];
+ let i = 0, ok = 0, awarded = false;
+ function render(){
+ const t = TASKS[i]; const wrap = document.getElementById('p4-tasks5'); if(!wrap) return;
+ wrap.innerHTML =
+ '
Излучение — передача энергии электромагнитными волнами. Не требует среды: идёт через вакуум.
'
+ +'
Любое тело с температурой выше абсолютного нуля излучает. Чем выше $T$, тем интенсивнее излучение и тем более коротковолновое (горячая печь — инфракрасный диапазон; Солнце — видимый свет).
'
+ +'
Так Солнце греет Землю, прошив 150 млн км вакуума за 8 минут.
'
+ );
+ h += makeCard('rule', 'Поглощение и отражение', '§ 5.2',
+ '
'
+ +'
Тёмные и шероховатые поверхности — хорошо поглощают излучение (нагреваются быстрее).
'
+ +'
Светлые и зеркальные — отражают излучение (нагреваются медленнее).
'
+ +'
Те же тёмные поверхности и излучают сильнее: чёрный чайник остывает быстрее.
'
+ +'
'
+ +'
Правило: что хорошо поглощает, то хорошо и излучает.
Прочитай утверждение и реши, правдиво оно или нет.
'
+ +''
+ +''
+ +'
Раунд: 1 / 7Правильно: 0
'
+ +'
';
+
+ /* IV3 — DnD 3 вида теплопередачи */
+ h += '
'
+ +'
IV-3
3 вида теплопередачи
'
+ +'
Сортируй примеры на три группы: проводность, конвекция, излучение.
'
+ +''
+ +'
'
+ +'
Проводность
'
+ +'
Конвекция
'
+ +'
Излучение
'
+ +'
'
+ +''
+ +''
+ +'
';
+
+ /* IV4 — MCQ */
+ h += '
'
+ +'
IV-4
Тренажёр: 6 вопросов
'
+ +'
4+ правильных — +15 XP.
'
+ +''
+ +'
Вопрос: 1 / 6Правильно: 0
'
+ +'
';
+
+ /* IV5 — Расчётные задачи (auto-injected) */
+ h += '
'
+ +'
IV-5
Тренажёр: 5 расчётных задач
'
+ +'
Введи числовой ответ (можно с точкой как разделителем). Решено все верно — +20 XP.
'
+ +''
+ +'
Задача: 1 / 5Правильно: 0
'
+ +'
';
+
+ /* IV6 — flagship интерактив (заглушка Phase 1, наполнение в Phase 1.5) */
+ h += '
'
+ +'
IV-6
Новый интерактив §5
'
+ +'
Готовится: интерактивная визуализация с drag-and-drop для углубления темы. Скоро будет доступна.
'
+ +'
'
+ +''
+ +'
Phase 1.5 — coming soon
'
+ +'
'
+ +'
';
+
+ box.innerHTML = h + secNavFor('p5') + readButton('p5');
+ renderMath(box);
+ wireReadBtn('p5');
+ _initp5_iv5();
+
+ _initP5_sim();
+ _initP5_quiz();
+ _initP5_dnd();
+ _initP5_mcq();
+}
+
+function _initp5_iv5(){
+ const TASKS = [{"q":"Солнце нагревает квадратный метр земной поверхности с мощностью $P = 1000$ Вт. Сколько теплоты получит $S = 5$ м² за $t = 60$ с?","ans":300000,"tol":5000,"why":"$Q = P \\cdot S \\cdot t = 1000 \\cdot 5 \\cdot 60 = 300\\,000$ Дж = $300$ кДж."},{"q":"Черное тело излучает в 2 раза эффективнее белого. Если белое тело отдаёт $P_1 = 100$ Вт, сколько отдаст чёрное при той же $T$?","ans":200,"tol":5,"why":"$P_{черн} = 2 \\cdot P_{белого} = 2 \\cdot 100 = 200$ Вт."},{"q":"Какая температура (в К) горячей плиты, если её излучение в 16 раз сильнее излучения тела при $T_0 = 300$ К? ($P \\propto T^4$)","ans":600,"tol":10,"why":"$P/P_0 = (T/T_0)^4 = 16$, откуда $T/T_0 = 2$, $T = 600$ К."},{"q":"Какой цвет одежды летом холоднее: белый или чёрный? Введите 1, если чёрный, 2, если белый.","ans":2,"tol":0.1,"why":"Белая отражает солнечное излучение лучше — в ней прохладнее."},{"q":"Тело площадью $S = 0{,}5$ м² излучает $P = 200$ Вт. Найдите интенсивность излучения $I = P/S$ (Вт/м²).","ans":400,"tol":10,"why":"$I = P/S = 200/0{,}5 = 400$ Вт/м²."}];
+ let i = 0, ok = 0, awarded = false;
+ function render(){
+ const t = TASKS[i]; const wrap = document.getElementById('p5-tasks5'); if(!wrap) return;
+ wrap.innerHTML =
+ '
Задача '+(i+1)+'. '+t.q+'
'
+ +'
'
+ +''
+ +''
+ +'
'
+ +'Решение
'+t.why+'
'
+ +'';
+ if (window.renderMathInElement) try { renderMathInElement(wrap, {delimiters:[{left:'$',right:'$',display:false}],throwOnError:false}); } catch(e){}
+ document.getElementById('p5-iv5-go').onclick = () => {
+ const v = parseFloat(document.getElementById('p5-iv5-inp').value.replace(',','.'));
+ const fb = document.getElementById('p5-iv5-fb');
+ const wh = document.getElementById('p5-iv5-why-wrap');
+ if (Math.abs(v - t.ans) <= t.tol) {
+ fb.className = 'feedback ok'; fb.innerHTML = 'Верно!'; ok++;
+ document.getElementById('p5-tasks5-ok').textContent = ok;
+ wh.style.display = 'block';
+ } else {
+ fb.className = 'feedback fail'; fb.innerHTML = 'Не совсем. Ожидался $' + t.ans + '$. Загляни в подсказку.';
+ if (window.renderMathInElement) try { renderMathInElement(fb, {delimiters:[{left:'$',right:'$',display:false}],throwOnError:false}); } catch(e){}
+ }
+ };
+ document.getElementById('p5-iv5-hint').onclick = () => {
+ const wh = document.getElementById('p5-iv5-why-wrap');
+ wh.style.display = wh.style.display === 'block' ? 'none' : 'block';
+ };
+ document.getElementById('p5-iv5-next').onclick = () => {
+ i = (i + 1) % TASKS.length;
+ document.getElementById('p5-tasks5-i').textContent = i + 1;
+ render();
+ if (ok === TASKS.length && !awarded) { awarded = true; if (typeof addXp === 'function') addXp(20, 'p5-iv5'); }
+ };
+ }
+ render();
+}
+
+function _initP5_sim(){
+ _killSim('p5sim');
+ const svg = document.getElementById('p5-sim'); if(!svg) return;
+ const W=460, H=240;
+ let sunOn = false;
+ let tB = 20, tW = 20; /* black, white plate temps */
+ function reset(){ tB=20; tW=20; sunOn=false; document.getElementById('p5-on').textContent='Включить Солнце'; document.getElementById('p5-tb').textContent='20'; document.getElementById('p5-tw').textContent='20'; }
+ function tick(){
+ if(!_isVisible('p5')){ _SIMS.p5sim.raf = requestAnimationFrame(tick); return; }
+ if(sunOn){
+ /* чёрная: поглощает 0.92, белая: 0.15 */
+ if(tB < 75) tB += 0.32;
+ if(tW < 35) tW += 0.05;
+ } else {
+ if(tB > 20) tB -= 0.10;
+ if(tW > 20) tW -= 0.10;
+ }
+ document.getElementById('p5-tb').textContent = tB.toFixed(0);
+ document.getElementById('p5-tw').textContent = tW.toFixed(0);
+ /* draw */
+ let s = '';
+ /* Солнце */
+ const cx = 230, cy = 36;
+ s += '';
+ if(sunOn){
+ for(let i=0;i<12;i++){
+ const a = i*Math.PI/6;
+ const x1 = cx + 26*Math.cos(a), y1 = cy + 26*Math.sin(a);
+ const x2 = cx + 36*Math.cos(a), y2 = cy + 36*Math.sin(a);
+ s += '';
+ }
+ }
+ /* Лучи к пластинам */
+ if(sunOn){
+ const ray = (x1,y1,x2,y2,col)=>'';
+ /* к чёрной */
+ s += ray(cx-22, cy+18, 120, 175, '#fbbf24');
+ s += ray(cx-10, cy+22, 145, 175, '#fbbf24');
+ s += ray(cx, cy+22, 170, 175, '#fbbf24');
+ /* к белой */
+ s += ray(cx+22, cy+18, 340, 175, '#fbbf24');
+ s += ray(cx+10, cy+22, 315, 175, '#fbbf24');
+ s += ray(cx, cy+22, 290, 175, '#fbbf24');
+ /* отражённые от белой (вверх) */
+ s += '';
+ s += '';
+ s += '';
+ }
+ /* чёрная пластина */
+ const cB = sunOn ? window.PHYS.tempColor(tB, 20, 80) : '#1f2937';
+ s += '';
+ s += ''+tB.toFixed(0)+' °C';
+ s += 'ЧЁРНАЯ';
+ /* белая пластина */
+ s += '';
+ s += ''+tW.toFixed(0)+' °C';
+ s += 'БЕЛАЯ';
+ svg.innerHTML = s;
+ _SIMS.p5sim.raf = requestAnimationFrame(tick);
+ }
+ _SIMS.p5sim = { raf: 0 };
+ _SIMS.p5sim.raf = requestAnimationFrame(tick);
+ document.getElementById('p5-on').addEventListener('click', ()=>{
+ sunOn = !sunOn;
+ document.getElementById('p5-on').textContent = sunOn ? 'Выключить Солнце' : 'Включить Солнце';
+ });
+ document.getElementById('p5-reset').addEventListener('click', reset);
+}
+
+function _initP5_quiz(){
+ const QS = [
+ {st:'Излучение требует среды (например, воздуха) для распространения.', ans:'F', why:'Излучение проходит через вакуум, что и доказывает солнечный свет.'},
+ {st:'Тёмные тела сильнее нагреваются под Солнцем, чем светлые.', ans:'T', why:'Тёмная поверхность поглощает большую долю излучения.'},
+ {st:'Любое тело с $T > 0$ К излучает.', ans:'T', why:'Тепловое излучение есть всегда, чем горячее — тем сильнее.'},
+ {st:'Чем горячее тело, тем меньше излучения оно отдаёт.', ans:'F', why:'Наоборот: интенсивность излучения резко растёт с температурой.'},
+ {st:'Хороший поглотитель — хороший излучатель.', ans:'T', why:'Это правило Кирхгофа: $a = \\varepsilon$.'},
+ {st:'Зеркальная поверхность плохо излучает.', ans:'T', why:'Зеркало почти всё отражает — а значит и излучает мало.'},
+ {st:'Излучение нельзя обнаружить, если тело не светится видимым светом.', ans:'F', why:'Тело при комнатной температуре излучает инфракрасные волны — их видит тепловизор.'}
+ ];
+ let i = 0, ok = 0;
+ function render(){
+ const q = QS[i]; const wrap = document.getElementById('p5-quiz'); if(!wrap) return;
+ wrap.innerHTML =
+ '
"'+q.st+'"
'
+ +'
'
+ +''
+ +''
+ +'
'
+ +'';
+ document.getElementById('p5-quiz-r').textContent = (i+1);
+ document.getElementById('p5-quiz-ok').textContent = ok;
+ wrap.querySelectorAll('[data-pick]').forEach(btn=>{
+ btn.addEventListener('click', ()=>{
+ if(btn.disabled) return; wrap.querySelectorAll('[data-pick]').forEach(b=>b.disabled=true);
+ const fb = document.getElementById('p5-quiz-fb');
+ if(btn.dataset.pick === q.ans){ ok++; fb.className='feedback ok'; fb.innerHTML='✓ Верно. '+q.why; addXp(3,'p5-quiz'); bumpProgress('p5', 4); }
+ else { fb.className='feedback fail'; fb.innerHTML='✗ Не то. '+q.why; }
+ document.getElementById('p5-quiz-ok').textContent = ok;
+ renderMath(wrap);
+ });
+ });
+ renderMath(wrap);
+ }
+ document.getElementById('p5-quiz-next').addEventListener('click', ()=>{ i=(i+1)%QS.length; render(); });
+ render();
+}
+
+function _initP5_dnd(){
+ const items = [
+ {id:'spoon', cat:'cond', html:'нагрев ложки в супе'},
+ {id:'bar', cat:'cond', html:'нагрев конца железного прута'},
+ {id:'iron', cat:'cond', html:'утюг гладит бельё'},
+ {id:'rad', cat:'conv', html:'батарея греет комнату'},
+ {id:'ket', cat:'conv', html:'вода в кипящем чайнике'},
+ {id:'wnd', cat:'conv', html:'ветры в атмосфере'},
+ {id:'sun', cat:'rad', html:'Солнце греет Землю'},
+ {id:'fire', cat:'rad', html:'тепло от костра на расстоянии'},
+ {id:'lamp', cat:'rad', html:'нагрев руки под лампой накаливания'}
+ ];
+ const dnd = setupSorter({ poolId:'p5-dnd-pool', scopeSelector:'#sec-p5', cats:['cond','conv','rad'], items, columnLayout:false });
+ document.getElementById('p5-dnd-check').addEventListener('click', ()=>{
+ const fb = document.getElementById('p5-dnd-fb');
+ let wrong = 0; items.forEach(it=>{ if(dnd.placed[it.id] !== it.cat) wrong++; });
+ if(wrong===0){ fb.className='feedback ok'; fb.innerHTML='✓ Идеально! +20 XP. Ты освоил все 3 вида теплопередачи.'; addXp(20,'p5-dnd'); bumpProgress('p5', 25); }
+ else { fb.className='feedback fail'; fb.innerHTML='✗ Ошибок: '+wrong+'. Проверь: контакт = проводность; потоки = конвекция; через пустоту = излучение.'; }
+ });
+ document.getElementById('p5-dnd-reset').addEventListener('click', ()=>{ dnd.reset(); const fb=document.getElementById('p5-dnd-fb'); fb.style.display='none'; });
+}
+
+function _initP5_mcq(){
+ const QS = [
+ {q:'Через какую среду НЕ может идти излучение?', opts:['Через воздух','Через стекло','Через вакуум','Излучение проходит через всё перечисленное'], ans:3, why:'Излучение распространяется и в среде, и в вакууме.'},
+ {q:'Какая поверхность нагреется сильнее на Солнце?', opts:['Зеркальная','Белая','Чёрная','Прозрачная'], ans:2, why:'Чёрная поглощает больше всего излучения.'},
+ {q:'Какие тела излучают?', opts:['Только горячие','Только светящиеся','Любые с $T > 0$ К','Только Солнце'], ans:2, why:'Тепловое излучение существует у любого тела с ненулевой температурой.'},
+ {q:'Какой вид теплопередачи переносит тепло от Солнца к Земле?', opts:['Теплопроводность','Конвекция','Излучение','Все три'], ans:2, why:'Между Солнцем и Землёй вакуум — работает только излучение.'},
+ {q:'Чем покрашен правильный термос изнутри?', opts:['Чёрной краской','Зеркальной плёнкой','Деревом','Стеклом'], ans:1, why:'Зеркальная поверхность плохо излучает — тепло сохраняется.'},
+ {q:'Чёрная футболка в жару нагревается потому что…', opts:['легче белой','лучше поглощает излучение','быстрее остывает','тоньше'], ans:1, why:'Тёмная ткань поглощает большую часть солнечного излучения.'}
+ ];
+ let i = 0, ok = 0, done = 0, awarded = false;
+ function render(){
+ const q = QS[i]; const wrap = document.getElementById('p5-mcq'); if(!wrap) return;
+ let h = '
Вопрос '+(i+1)+'. '+q.q+'
';
+ h += '
';
+ q.opts.forEach((opt, k)=>{ h += ''; });
+ h += '
В термос налили $m_1$ кг воды при $T_1$ °C и долили $m_2$ кг воды при $T_2$ °C. Какая будет итоговая температура (без потерь)? Формула: $T = (m_1 T_1 + m_2 T_2)/(m_1 + m_2)$.
'
+ +'
'
+ +''
+ +''
+ +''
+ +''
+ +'
'
+ +'
$T_{итог} = $ 36.7 °C
'
+ +'
';
+
+ /* IV3 — DnD ранжирование c */
+ h += '
'
+ +'
IV-3
У какого вещества $c$ больше?
'
+ +'
Перетащи вещества так, чтобы они шли от меньшего $c$ к большему. Подсказка: у воды $c$ рекордно велика, у металлов — мала.
'
+ +''
+ +'
'
+ +'
1. Меньше всех
'
+ +'
2
'
+ +'
3
'
+ +'
4
'
+ +'
5. Больше всех
'
+ +'
'
+ +''
+ +''
+ +'
';
+
+ /* IV4 — тренажёр расчётных задач */
+ h += '
'
+'';
- /* IV6 — Phase Diagram T(t) (Phase 1.2) */
+ /* IV6 — flagship интерактив (заглушка Phase 1, наполнение в Phase 1.7) */
h += '
'
- +'
IV-6
График плавления — почему T не растёт?
'
- +'
Запусти нагрев льда и наблюдай за графиком T(t). При плавлении энергия идёт на разрушение кристаллической решётки — T держится постоянной (плато при 0°C). Двигай ползунок мощности нагревателя — крутизна меняется.
'
- +''
- +'
'
- +'
Мощность500Вт
'
- +'
Фазалёд
'
- +'
T-20°C
'
- +''
- +''
+ +'
IV-6
Новый интерактив §7
'
+ +'
Готовится: интерактивная визуализация с drag-and-drop для углубления темы. Скоро будет доступна.
'
+ +'
'
+ +''
+ +'
Phase 1.7 — coming soon
'
+'
'
+'
';
-
+ box.innerHTML = h + secNavFor('p7') + readButton('p7');
+ renderMath(box);
+ wireReadBtn('p7');
+
+ _initP7_calc();
+ _initP7_quiz();
+ _initP7_dnd();
+ _initP7_tasks();
+}
+
+function _initP7_calc(){
+ const svg = document.getElementById('p7-sim'); if(!svg) return;
+ function update(){
+ const q = +document.getElementById('p7-fuel').value;
+ const m = +document.getElementById('p7-m').value;
+ document.getElementById('p7-mv').textContent = m.toFixed(1);
+ document.getElementById('p7-qv').innerHTML = q.toExponential(1).replace('+','').replace('e', ' × 10')+'';
+ const Q = q * m;
+ document.getElementById('p7-q').innerHTML = (Q/1e6).toFixed(1)+' МДж';
+ document.getElementById('p7-qkw').textContent = (Q/3.6e6).toFixed(2);
+ /* эквивалент: нагрев воды от 20 до 100 → ΔT=80, Q=cmΔT, m = Q/(c·80) */
+ document.getElementById('p7-eqkg').textContent = (Q/(4200*80)).toFixed(1);
+ /* SVG: огонь + котелок */
+ let s = '';
+ /* печь */
+ s += '';
+ /* пламя */
+ const flameH = 30 + Math.min(50, m*5);
+ s += '';
+ s += '';
+ /* топливо */
+ s += ''+m.toFixed(1)+' кг';
+ /* стрелка-энергия */
+ s += 'Q = q m';
+ s += '= '+q.toExponential(1).replace('+','')+' · '+m.toFixed(1)+'';
+ s += 'Q = '+(Q/1e6).toFixed(1)+' МДж';
+ s += ''+(Q/3.6e6).toFixed(2)+' кВт·ч';
+ svg.innerHTML = s;
+ }
+ document.getElementById('p7-fuel').addEventListener('change', update);
+ document.getElementById('p7-m').addEventListener('input', update);
+ update();
+}
+
+function _initP7_quiz(){
+ const QS = [
+ {A:'дрова', B:'бензин', ans:'B', why:'У бензина $q \\approx 4{,}6 \\cdot 10^7$, у дров $\\approx 10^7$ — бензин в 4,5 раза мощнее.'},
+ {A:'торф', B:'каменный уголь', ans:'B', why:'У угля $q$ вдвое больше, чем у торфа.'},
+ {A:'спирт', B:'природный газ', ans:'B', why:'У газа $4{,}4 \\cdot 10^7$, у спирта $2{,}7 \\cdot 10^7$.'},
+ {A:'керосин', B:'дрова', ans:'A', why:'Керосин — продукт переработки нефти, $q$ в 4,6 раза больше.'},
+ {A:'нефть', B:'бензин', ans:'B', why:'У бензина чуть больше: $4{,}6$ против $4{,}4 \\cdot 10^7$.'},
+ {A:'торф', B:'дрова', ans:'B', why:'У дров $q \\approx 10^7$, у торфа $1{,}5 \\cdot 10^7$ — торф мощнее. Правильный ответ: торф, ответ A.', flip:true}
+ ];
+ let i = 0, ok = 0;
+ function render(){
+ const q = QS[i]; const wrap = document.getElementById('p7-quiz'); if(!wrap) return;
+ /* для flip-задачи правильный ответ A */
+ const correctAns = q.flip ? 'A' : q.ans;
+ wrap.innerHTML =
+ '
Плавление — переход вещества из твёрдого состояния в жидкое.
'
+ +'
У каждого кристаллического вещества есть своя температура плавления $T_{пл}$ — она одинакова и для плавления, и для обратного процесса — кристаллизации.
'
+ +'
Во время плавления температура смеси «твёрдое + жидкое» не меняется, пока всё не расплавится. Подведённая теплота тратится на разрушение кристаллической решётки.