';
}
function wireQuiz(host, onAllCorrect){
const root = document.getElementById(host);
if(!root) return;
const all = root.querySelectorAll('.qz-q');
const done = new Set();
all.forEach(qDiv => {
const opts = qDiv.querySelectorAll('.qz-opt');
const correct = +qDiv.querySelector('.qz-opts').dataset.correct;
const explain = qDiv.querySelector('.qz-opts').dataset.explain;
const fb = qDiv.querySelector('.qz-fb');
opts.forEach(o => o.addEventListener('click', () => {
if(done.has(qDiv)) return;
const i = +o.dataset.i;
opts.forEach(x => x.disabled = true);
if(i === correct){
o.style.background = '#d1fae5'; o.style.borderColor = '#10b981'; o.style.color = '#065f46';
fb.style.display = 'block'; fb.style.background = '#d1fae5'; fb.style.color = '#065f46'; fb.style.borderLeft = '4px solid #10b981';
fb.innerHTML = '✓ Верно!' + (explain ? ' ' + explain : '');
done.add(qDiv);
if(done.size === all.length && typeof onAllCorrect === 'function') onAllCorrect();
} else {
o.style.background = '#fee2e2'; o.style.borderColor = '#dc2626'; o.style.color = '#7f1d1d';
opts[correct].style.background = '#d1fae5'; opts[correct].style.borderColor = '#10b981'; opts[correct].style.color = '#065f46';
fb.style.display = 'block'; fb.style.background = '#fee2e2'; fb.style.color = '#7f1d1d'; fb.style.borderLeft = '4px solid #dc2626';
fb.innerHTML = '✗ Неверно. Правильно: «' + opts[correct].textContent + '».' + (explain ? ' ' + explain : '');
done.add(qDiv);
}
// Renable click-через-кнопки запрещён, но повторное прохождение через reset:
}));
});
}
/* ========================================================== */
/* §1 — Физика — наука о природе. Связь с другими науками */
/* ========================================================== */
function add_p1(){
const body = document.getElementById('p1-body');
if(!body) return;
let h = '';
/* 3 теоретические карточки */
h += makeCard('theory', 'Что изучает физика', '§ 1.1',
'Физика — это наука о природе. Она изучает физические явления: '
+ 'падение тел, движение машин, нагрев и охлаждение, свет, звук, электрический ток, магниты. '
+ 'Слово «физика» произошло от греческого фюзис — «природа».');
h += makeCard('rule', 'Связь с другими науками', '§ 1.2',
'
'
+ '
Астрономия — изучает звёзды и планеты, использует физические законы движения.
'
+ '
Химия — превращения веществ; в основе лежит строение атомов (физика).
'
+ '
Биология — живые организмы; физика помогает понять работу сердца, глаза, мышц.
'
+ '
География — погода, ветра, реки — это всё движущиеся вещества и силы.
'
+ '
Техника — машины, компьютеры, мобильная связь — всё построено на физике.
'
+ '
');
h += makeCard('example', 'Примеры физических явлений', '§ 1.3',
'
'
+ '
Радуга световое явление
'
+ '
Гром звуковое явление
'
+ '
Северное сияние электрическое
'
+ '
Падение яблока механическое
'
+ '
Кипение чайника тепловое
'
+ '
Тающий лёд фазовое
'
+ '
');
/* IV-1: галерея явлений (визуализатор) */
h += wgWrap('p1-iv1', 'СИМ', 'Явления вокруг нас', 'Наведи курсор на иконку, чтобы увидеть, какую сторону природы изучает физика.',
'
'
+ quizQuestion('p1-q', 0,
'Что НЕ изучает физика?',
['Падение тел','Образование облаков','Историю Древнего Рима','Электрический ток'],
2, 'История — это гуманитарная наука; физика изучает явления природы.')
+ quizQuestion('p1-q', 1,
'От какого греческого слова произошло название «физика»?',
['Фюзис (природа)','Космос (мир)','Логос (учение)','Софос (мудрость)'],
0, 'Греческое фюзис = «природа», поэтому физика — наука о природе.')
+ quizQuestion('p1-q', 2,
'Какая наука изучает планеты и звёзды и опирается на физику?',
['Биология','Астрономия','География','Химия'],
1, 'Астрономия — наука о небесных телах.')
+ '
'
+ quizQuestion('p2-tr', 0, 'Что НЕ является телом?', ['Воздушный шар','Капля воды','Скорость','Кирпич'], 2, 'Скорость — величина, а не тело.')
+ quizQuestion('p2-tr', 1, 'Стакан с молоком: молоко в стакане — это…', ['Тело','Вещество','Явление','Величина'], 0, 'Молоко в этой ситуации — отдельное тело со своей формой (формой стакана).')
+ quizQuestion('p2-tr', 2, 'Парусник, плывущий в океане. Назови явление.', ['Парусник','Дерево (мачта)','Движение','Длина паруса'], 2)
+ quizQuestion('p2-tr', 3, 'Что нужно для записи величины?', ['Только число','Только единица','Число + единица','Только название'], 2, 'Например: $v = 20$ м/с — число 20 и единица м/с.')
+ '
');
h += readButton('p2');
body.innerHTML = h;
wireDnd('p2-dnd', [
{ id:'a1', cat:'body' },{ id:'a2', cat:'body' },{ id:'a3', cat:'body' },
{ id:'b1', cat:'subst' },{ id:'b2', cat:'subst' },{ id:'b3', cat:'subst' },
{ id:'c1', cat:'phen' },{ id:'c2', cat:'phen' },{ id:'c3', cat:'phen' },
{ id:'d1', cat:'val' },{ id:'d2', cat:'val' },{ id:'d3', cat:'val' }
], []);
wireQuiz('p2-q-host', () => { if(window.addXp) window.addXp(10, 'quiz-p2'); });
wireQuiz('p2-tn-host', () => { if(window.addXp) window.addXp(10, 'tn-p2'); });
wireQuiz('p2-tr-host', () => { if(window.addXp) window.addXp(15, 'tr-p2'); });
wireReadBtn('p2');
renderMath(body);
}
/* ========================================================== */
/* §3 — Методы исследования в физике */
/* ========================================================== */
function add_p3(){
const body = document.getElementById('p3-body');
if(!body) return;
let h = '';
h += makeCard('theory', 'Как физики изучают природу', '§ 3.1',
'Физика использует три метода познания:'
+ ''
+ '
Наблюдение — изучение явления без вмешательства. Учёный смотрит, фиксирует, не изменяя условий.
'
+ '
Эксперимент — целенаправленное воссоздание явления в нужных условиях с измерениями.
'
+ '
Теоретическое описание — построение модели, формул, законов; гипотеза сначала, потом — проверка.
'
+ '');
h += makeCard('rule', 'Чем отличаются?', '§ 3.2',
'Наблюдение: смотрим за грозой — не запускаем её сами. '
+ 'Эксперимент: бросаем шары разной массы в трубке без воздуха и измеряем время падения. '
+ 'Гипотеза: «может быть, тела падают одинаково в вакууме?» — её надо проверить экспериментом. '
+ 'Теория: подтверждённая гипотеза становится частью знаний — например, закон всемирного тяготения.');
h += makeCard('example', 'Опыт Галилея с Пизанской башней', '§ 3.3',
'По легенде, в конце XVI века Галилео Галилей поднялся на наклонную Пизанскую башню '
+ 'и одновременно бросил с её вершины два шара разной массы — тяжёлый и лёгкий. '
+ 'Шары упали на землю почти одновременно. Это был эксперимент, '
+ 'опровергнувший представление Аристотеля о том, что тяжёлые тела падают быстрее. '
+ 'Так появилась гипотеза «все тела падают с одним ускорением», позже подтверждённая в опытах с вакуумной трубкой.');
/* IV-1: timeline исторических опытов */
h += wgWrap('p3-iv1', 'СИМ', 'Великие опыты и наблюдения', 'Кликай по этапам — узнавай, чем прославился каждый учёный.',
'
'
+ ['Архимед / III в. до н. э. — закон рычага. Наблюдение и расчёт.',
'Галилей / 1590-е — падение тел с башни. Эксперимент.',
'Торричелли / 1643 — открыл атмосферное давление. Эксперимент с ртутью.',
'Паскаль / 1648 — закон передачи давления. Эксперимент и теория.',
'Ньютон / 1687 — закон всемирного тяготения. Теория, объединившая всё.'].map((txt, i) => {
const [name, rest] = txt.split(' — ');
return '' + (i+1) + '. ' + name + '
' + rest + '
';
}).join('')
+ '
');
/* IV-2: КВИЗ опыт vs наблюдение */
h += wgWrap('p3-iv2', 'КВИЗ', 'Опыт или наблюдение?', 'Выбери, какой метод использован.',
'
'
+ quizQuestion('p3-q', 0, 'Метеоролог смотрит на облака и записывает их форму.', ['Наблюдение','Эксперимент','Гипотеза','Теория'], 0)
+ quizQuestion('p3-q', 1, 'Ученик помещает шарик в воду и измеряет, насколько поднялся уровень.', ['Наблюдение','Эксперимент','Гипотеза','Теория'], 1)
+ quizQuestion('p3-q', 2, 'Учёный предполагает: «возможно, металл проводит тепло из-за свободных электронов».', ['Наблюдение','Эксперимент','Гипотеза','Теория'], 2)
+ quizQuestion('p3-q', 3, 'Архимед открыл закон рычага и записал его в виде формулы $F_1 l_1 = F_2 l_2$.', ['Наблюдение','Эксперимент','Гипотеза','Теория'], 3, 'Подтверждённое соотношение — это теория (закон).')
+ '
');
/* IV-3: DnD «классифицируй» */
h += wgWrap('p3-iv3', 'DnD', 'Классификация ситуаций', 'Распредели 8 ситуаций по трём корзинам.',
dndPool('p3-dnd', [
{ id:'a1', cat:'obs', html:'Смотрим, как тает снег весной' },
{ id:'a2', cat:'obs', html:'Записываем температуру за неделю' },
{ id:'a3', cat:'exp', html:'Нагреваем металл лампой и измеряем удлинение' },
{ id:'a4', cat:'exp', html:'Сравниваем падение перышка в трубке с воздухом и без' },
{ id:'a5', cat:'hyp', html:'Возможно, скорость света — максимальная во Вселенной' },
{ id:'a6', cat:'hyp', html:'Может быть, существуют тёмная материя и тёмная энергия' },
{ id:'a7', cat:'exp', html:'Бросаем мяч с разной высоты и засекаем время полёта' },
{ id:'a8', cat:'obs', html:'Изучаем затмение Луны' }
], [
{ cat:'obs', label:'Наблюдение' },
{ cat:'exp', label:'Эксперимент' },
{ cat:'hyp', label:'Гипотеза' }
]));
/* IV-4: тренажёр */
h += wgWrap('p3-iv4', 'ТРН', 'Тренажёр §3', 'Закрепи материал.',
'
'
+ quizQuestion('p3-tr', 0, 'Что НЕ относится к методам познания в физике?', ['Наблюдение','Эксперимент','Угадывание','Теория'], 2, 'Угадывание — это не научный метод.')
+ quizQuestion('p3-tr', 1, 'Главное отличие эксперимента от наблюдения — это…', ['Использование приборов','Активное вмешательство и контроль условий','Запись результатов','Участие учёного'], 1)
+ quizQuestion('p3-tr', 2, 'Гипотеза становится теорией, когда…', ['Её опубликовали','Она проверена опытом','Её одобрил профессор','Её записали в учебник'], 1)
+ quizQuestion('p3-tr', 3, 'Какой учёный знаменит опытами с падающими телами?', ['Архимед','Галилей','Ньютон','Эйнштейн'], 1)
+ quizQuestion('p3-tr', 4, 'Что такое физическая модель?', ['Реальный прибор','Упрощённое представление явления для расчётов','Любая теория','Только формула'], 1, 'Модель опускает несущественные детали ради простоты.')
+ '
');
h += readButton('p3');
body.innerHTML = h;
wireDnd('p3-dnd', [
{ id:'a1', cat:'obs' },{ id:'a2', cat:'obs' },{ id:'a3', cat:'exp' },{ id:'a4', cat:'exp' },
{ id:'a5', cat:'hyp' },{ id:'a6', cat:'hyp' },{ id:'a7', cat:'exp' },{ id:'a8', cat:'obs' }
], []);
wireQuiz('p3-q-host', () => { if(window.addXp) window.addXp(10, 'quiz-p3'); });
wireQuiz('p3-tr-host', () => { if(window.addXp) window.addXp(15, 'tr-p3'); });
wireReadBtn('p3');
renderMath(body);
}
/* ========================================================== */
/* §4 — Прямые и косвенные измерения */
/* ========================================================== */
function add_p4(){
const body = document.getElementById('p4-body');
if(!body) return;
let h = '';
h += makeCard('theory', 'Два типа измерений', '§ 4.1',
'Прямое измерение — значение читается прямо со шкалы прибора. '
+ 'Длину книги — линейкой, массу — весами, время — секундомером, температуру — термометром.
'
+ 'Косвенное измерение — значение вычисляется по формуле из других величин, '
+ 'измеренных прямо. Например, чтобы найти площадь стола, измеряют длину и ширину линейкой '
+ '(прямые), а площадь $S = a b$ — это уже косвенное измерение.');
h += makeCard('rule', 'Основные формулы косвенных измерений', '§ 4.2',
'
'
+ '
Площадь прямоугольника: $S = a \\cdot b$, $[S] = $ м²
'
+ '
Объём прямоугольного параллелепипеда: $V = a \\cdot b \\cdot c$, $[V] = $ м³
'
+ '
Объём через цилиндр: $V = S \\cdot h$ (если известна площадь основания)
'
+ '
Плотность вещества: $\\rho = \\dfrac{m}{V}$, $[\\rho] = $ кг/м³
'
+ '
Скорость: $v = \\dfrac{s}{t}$, $[v] = $ м/с
'
+ '
');
h += makeCard('example', 'Объём картофеля', '§ 4.3',
'Картофелина имеет неправильную форму — линейкой её не измерить. Но можно сделать так:'
+ ''
+ '
Налить в мензурку воды до отметки $V_1 = 200$ мл (прямое измерение).
'
+ '
Опустить картофелину; уровень поднялся до $V_2 = 280$ мл (прямое).
');
/* IV-1: визуал — 7 основных */
h += wgWrap('p5-iv1', 'СИМ', '7 китов СИ', 'Семь основных единиц — фундамент всех физических измерений.',
'
'
+ [['Длина','м','#0284c7'],['Масса','кг','#7c3aed'],['Время','с','#10b981'],['Ток','А','#d97706'],['Темп.','К','#dc2626'],['Вещ-во','моль','#0891b2'],['Свет','кд','#fbbf24']].map(([v, u, col]) =>
'
'
+ '
' + u + '
'
+ '
' + v + '
'
+ '
').join('')
+ '
');
/* IV-2: главный конвертер */
h += wgWrap('p5-iv2', 'КАЛЬК', 'Конвертер единиц', 'Выбери приставку и величину — увидь перевод в основную единицу СИ.',
'
'
+ ''
+ ''
+ ''
+ '
'
+ '
'
+ '5 км'
+ ' = '
+ '5000 м'
+ ''
+ '
');
/* IV-3: DnD — величина ↔ единица СИ */
h += wgWrap('p5-iv3', 'DnD', 'Величина ↔ единица СИ', 'Соедини каждую величину с её основной единицей.',
dndPool('p5-dnd', [
{ id:'a1', cat:'m', html:'Длина' },
{ id:'a2', cat:'kg', html:'Масса' },
{ id:'a3', cat:'s', html:'Время' },
{ id:'a4', cat:'K', html:'Температура' },
{ id:'a5', cat:'A', html:'Сила тока' },
{ id:'a6', cat:'m', html:'Расстояние от Минска до Бреста' },
{ id:'a7', cat:'kg', html:'Масса арбуза' },
{ id:'a8', cat:'s', html:'Длительность урока' }
], [
{ cat:'m', label:'метр (м)' },
{ cat:'kg', label:'килограмм (кг)' },
{ cat:'s', label:'секунда (с)' },
{ cat:'K', label:'кельвин (К)' },
{ cat:'A', label:'ампер (А)' }
]));
/* IV-4: тренажёр на перевод */
h += wgWrap('p5-iv4', 'ТРН', 'Тренажёр §5', '5 задач на перевод единиц.',
'
$S = 2\\,\\text{м} \\cdot 3\\,\\text{м} = 6\\,\\text{м}^2$ (метры в квадрате)
'
+ '
');
/* IV-1: визуал — таблица переводов скорости */
h += wgWrap('p6-iv1', 'СИМ', 'Скорости в природе', 'Сравни типичные скорости — одно и то же в разных единицах.',
'
'
+ '
Объект
м/с
км/ч
'
+ [['Улитка',0.001,0.0036],['Пешеход',1.4,5],['Велосипедист',5.5,20],['Автомобиль в городе',16.7,60],['Гепард',31,112],['Самолёт',250,900],['Звук в воздухе',340,1224]].map(([nm,ms,kh]) =>
'
' + nm + '
' + ms + '
' + kh + '
').join('')
+ '
');
/* IV-2: главный калькулятор-конвертер */
h += wgWrap('p6-iv2', 'КАЛЬК', 'Конвертер величин', 'Выбери, что переводишь — двигай slider.',
'