Источник тока создаёт и поддерживает эл. поле в цепи. Внутри него «сторонние силы» (химические, механические, световые) переносят заряды против поля — от одного электрода к другому.
'
+ +'
'
+ +'
Гальванический элемент (батарейка) — химическая энергия → электрическая.
'
+ +'
Аккумулятор — то же, но с обратимой реакцией (заряжается).
'
+ +'
Генератор — механическая → электрическая (на электростанции).
Два разных металла (например, медь и цинк) опущенные в раствор кислоты, дают электрический ток. Цинк отдаёт электроны в раствор и становится «−». Медь принимает электроны и становится «+».
'
+ +'
Так устроен гальванический элемент — изобретение Алессандро Вольта (1799 г.). Это была первая в истории батарейка!
'
+ );
+
+ /* IV1 — анимация работы батарейки */
+ h += '
'
+ +'
IV-1
Как работает батарейка
'
+ +'
Включи цепь — увидь, как электроны «бегут» по проводу от $-$ к $+$, а внутри батарейки «насос» переносит их в обратную сторону.
'
+ +''
+ +''
+ +'
';
+
+ /* IV2 — викторина источников */
+ h += '
'
+ +'
IV-2
Какая энергия превращается в электрическую?
'
+ +'
Определи тип источника по принципу работы.
'
+ +''
+ +''
+ +'
Раунд: 1 / 5Правильно: 0
'
+ +'
';
+
+ /* IV3 — DnD «можно/нельзя получить ток» */
+ h += '
'
+ +'
IV-3
Есть ли в этой системе ток?
'
+ +'
Распредели ситуации.
'
+ +''
+ +'
'
+ +'
Есть ток
'
+ +'
Нет тока
'
+ +'
'
+ +''
+ +''
+ +'
';
+
+ /* IV4 — MCQ */
+ h += '
'
+ +'
IV-4
Тренажёр: 6 вопросов
'
+ +'
4+ — +15 XP.
'
+ +''
+ +'
Вопрос: 1 / 6Правильно: 0
'
+ +'
';
+
+ box.innerHTML = h + secNavFor('p19') + readButton('p19');
+ renderMath(box);
+ wireReadBtn('p19');
+
+ _initP19_sim();
+ _initP19_quiz();
+ _initP19_dnd();
+ _initP19_mcq();
+}
+
+function _initP19_sim(){
+ _killSim('p19sim');
+ const svg = document.getElementById('p19-sim'); if(!svg) return;
+ let on = false;
+ const N = 14;
+ const electrons = [];
+ /* Путь: батарея (40,110) → провод вверх → горизонталь → вниз → лампа → возврат */
+ /* Замкнутый контур по часовой стрелке (электроны двигаются ПРОТИВ тока — против часовой) */
+ /* Точки контура */
+ const path = [
+ {x:80, y:170}, /* − батареи (низ) */
+ {x:80, y:60}, /* левый верхний угол */
+ {x:200, y:60}, /* перед лампой */
+ {x:230, y:90}, /* в лампу */
+ {x:260, y:60}, /* выход лампы */
+ {x:380, y:60}, /* правый верхний угол */
+ {x:380, y:170}, /* + батареи (низ) */
+ {x:80, y:170} /* возврат через батарею */
+ ];
+ /* Длина пути */
+ function pathLen(){
+ let L = 0;
+ for(let i=0;i';
+ }
+ /* батарея слева */
+ s += '';
+ s += 'источник';
+ s += '+';
+ s += '−';
+ /* стрелка тока I (внутри цепи) */
+ if(on){
+ s += 'I →';
+ }
+ /* лампа в центре */
+ s += window.PHYS.lightbulbSymbol(230, 90, 18);
+ if(on){
+ /* свечение */
+ s += '';
+ s += '';
+ }
+ /* электроны двигаются против тока — то есть против хода path */
+ for(const e of electrons){
+ const p = posAt(-e.t);
+ s += '';
+ s += '−';
+ }
+ svg.innerHTML = s;
+ _SIMS.p19sim.raf = requestAnimationFrame(tick);
+ }
+ _SIMS.p19sim = { raf: 0 };
+ _SIMS.p19sim.raf = requestAnimationFrame(tick);
+ document.getElementById('p19-on').addEventListener('click', ()=>{
+ on = !on;
+ document.getElementById('p19-on').textContent = on ? 'Разомкнуть' : 'Замкнуть цепь';
+ });
+ document.getElementById('p19-reset').addEventListener('click', ()=>{
+ on = false; document.getElementById('p19-on').textContent = 'Замкнуть цепь';
+ for(let i=0;i'+q.sit+''
+ +'
'
+ +''
+ +''
+ +''
+ +''
+ +'
'
+ +'';
+ document.getElementById('p19-quiz-r').textContent = (i+1);
+ document.getElementById('p19-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('p19-quiz-fb');
+ if(btn.dataset.pick === q.ans){ ok++; fb.className='feedback ok'; fb.innerHTML='✓ Верно. '+q.why; addXp(3,'p19-quiz'); bumpProgress('p19', 4); }
+ else { fb.className='feedback fail'; fb.innerHTML='✗ Не то. '+q.why; }
+ document.getElementById('p19-quiz-ok').textContent = ok;
+ });
+ });
+ }
+ document.getElementById('p19-quiz-next').addEventListener('click', ()=>{ i=(i+1)%QS.length; render(); });
+ render();
+}
+
+function _initP19_dnd(){
+ const items = [
+ {id:'a', cat:'y', html:'медный провод + батарейка + лампа'},
+ {id:'b', cat:'y', html:'раствор соли + 2 угольных электрода + батарейка'},
+ {id:'c', cat:'y', html:'аккумулятор автомобиля при стартере'},
+ {id:'d', cat:'y', html:'солнечная панель в светлый день'},
+ {id:'e', cat:'n', html:'стеклянный стакан + батарейка'},
+ {id:'f', cat:'n', html:'разомкнутый ключ + батарейка'},
+ {id:'g', cat:'n', html:'сухое дерево + батарейка'},
+ {id:'h', cat:'n', html:'медный провод без источника'}
+ ];
+ const dnd = setupSorter({ poolId:'p19-dnd-pool', scopeSelector:'#sec-p19', cats:['y','n'], items, columnLayout:false });
+ document.getElementById('p19-dnd-check').addEventListener('click', ()=>{
+ const fb = document.getElementById('p19-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='✓ Идеально! +15 XP. Нужны: проводник + источник + замкнутая цепь.'; addXp(15,'p19-dnd'); bumpProgress('p19', 20); }
+ else { fb.className='feedback fail'; fb.innerHTML='✗ Ошибок: '+wrong+'. Без источника или с разомкнутой цепью тока нет.'; }
+ });
+ document.getElementById('p19-dnd-reset').addEventListener('click', ()=>{ dnd.reset(); const fb=document.getElementById('p19-dnd-fb'); fb.style.display='none'; });
+}
+
+function _initP19_mcq(){
+ const QS = [
+ {q:'Что такое электрический ток?', opts:['хаос. движение','упорядоченное движение зарядов','нагрев тела','сила поля'], ans:1, why:'Ток = направленное движение свободных зарядов.'},
+ {q:'Что нужно для тока?', opts:['только поле','только проводник','свободные носители + поле','магнит'], ans:2, why:'Носители + поле.'},
+ {q:'В батарейке энергия…', opts:['световая → эл.','химическая → эл.','механическая → эл.','тепловая → эл.'], ans:1, why:'Химическая реакция переносит заряды.'},
+ {q:'Зачем нужен источник тока в цепи?', opts:['греть провод','создавать и поддерживать поле','охлаждать','тратить заряд'], ans:1, 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('p19-mcq'); if(!wrap) return;
+ let h = '
Вопрос '+(i+1)+'. '+q.q+'
';
+ q.opts.forEach((opt,k)=>{ h += ''; });
+ h += '