Купили $3$ тетради по $5$ р. и $2$ ручки по $8$ р. Сколько заплатили? Запись $3\\cdot5+2\\cdot8$ — это числовое выражение. Чтобы найти его значение, нужно знать, в каком порядке выполнять действия.
');
+ h+=makeCard('example','Разбор по шагам','1.2',
+ '
Вычислим $24:(8-2)\\cdot3-5$.
'
+ +''
+ +'
Скобки: $8-2=6$. Выражение: $24:6\\cdot3-5$.
'
+ +'
Деление: $24:6=4$. Выражение: $4\\cdot3-5$.
'
+ +'
Умножение: $4\\cdot3=12$. Выражение: $12-5$.
'
+ +'
Вычитание: $12-5=7$. Ответ: $7$.
'
+ +'');
+ h+=makeCard('theory','А знаешь ли ты?','1.3',
+ '
Правила порядка действий появились не сразу. Ещё в XVII–XVIII веке математики записывали выражения по-разному. Сегодня во всём мире принят единый стандарт: PEMDAS (Parentheses, Exponents, Multiplication, Division, Addition, Subtraction) или по-русски: скобки, степени, ×÷, +−.
');
+ h+='
Интерактив 1
Вычисли выражение
'
+ +'
Вычисли значение числового выражения, соблюдая порядок действий. Ответ — целое число.
'
+ +'
Пример 1 / 6Очки: 0 / 6
'
+ +''
+ +''
+ +'
';
+ h+='
Интерактив 2
Что вычислим первым?
'
+ +'
Выбери, какое действие в выражении нужно выполнить первым.
'
+ +'
Вопрос 1 / 5Очки: 0 / 5
'
+ +''
+ +''
+ +'
';
+ h+=secNav(null,'p2')+readBtn('p1');
+ box.innerHTML=h; renderMath(box);
+
+ (function(){
+ var EXPR=[
+ {q:'$2+3\\cdot4$',a:14},
+ {q:'$(2+3)\\cdot4$',a:20},
+ {q:'$18:3+7$',a:13},
+ {q:'$18:(3+6)\\cdot2$',a:4},
+ {q:'$5\\cdot6-4\\cdot3$',a:18},
+ {q:'$40-3\\cdot(4+2)$',a:22},
+ {q:'$(15-5):(2+3)$',a:2},
+ {q:'$3+4\\cdot5-6$',a:17}
+ ];
+ var order=[],i=0,score=0,cur=null;
+ function reorder(){ order=EXPR.map(function(_,k){return k;}); for(var j=order.length-1;j>0;j--){ var k=_ri(0,j),t=order[j];order[j]=order[k];order[k]=t; } }
+ reorder();
+ function show(){ if(i>=6){ document.getElementById('p1-q').innerHTML='Готово! Результат: '+score+' / 6'; if(score>=5){addXp(15,'p1-iv1');bumpProgress('p1',30);}else if(score>=3){addXp(8,'p1-iv1');bumpProgress('p1',16);} return; }
+ cur=EXPR[order[i]]; document.getElementById('p1-i').textContent=i+1;
+ document.getElementById('p1-q').innerHTML=cur.q; renderMath(document.getElementById('p1-q'));
+ document.getElementById('p1-a').value=''; document.getElementById('p1-fb').style.display='none'; }
+ function go(){ if(i>=6)return; var fb=document.getElementById('p1-fb'), v=parseInt(document.getElementById('p1-a').value.replace(',','.').trim(),10);
+ if(isNaN(v)){ feedback(fb,false,'Введи целое число.'); return; }
+ if(v===cur.a){ score++; feedback(fb,true,'✓ Верно! Ответ '+cur.a+'.'); } else feedback(fb,false,'✗ Нет. Правильный ответ: '+cur.a+'.');
+ document.getElementById('p1-s').textContent=score; i++; setTimeout(show,1200); }
+ document.getElementById('p1-go').addEventListener('click',go);
+ document.getElementById('p1-a').addEventListener('keydown',function(e){ if(e.key==='Enter')go(); });
+ show();
+ })();
+
+ (function(){
+ var QZ=[
+ {q:'В выражении $5+2\\cdot3$ что считаем первым?', o:['$2\\cdot3$','$5+2$','$5+6$'], a:0},
+ {q:'В выражении $(10-4)\\cdot2$ что считаем первым?', o:['$10-4$','$4\\cdot2$','$10\\cdot2$'], a:0},
+ {q:'В выражении $20:4+6$ что считаем первым?', o:['$20:4$','$4+6$','$20:10$'], a:0},
+ {q:'В выражении $3\\cdot(2+8)-1$ что считаем первым?', o:['$2+8$','$3\\cdot2$','$8-1$'], a:0},
+ {q:'В выражении $15-3\\cdot4+2$ что считаем первым?', o:['$3\\cdot4$','$15-3$','$4+2$'], a:0},
+ {q:'В выражении $6:(3-1)\\cdot2$ что считаем первым?', o:['$3-1$','$6:3$','$1\\cdot2$'], a:0}
+ ];
+ var order=[],i=0,score=0,cur=null;
+ function reorder(){ order=QZ.map(function(_,k){return k;}); for(var j=order.length-1;j>0;j--){ var k=_ri(0,j),t=order[j];order[j]=order[k];order[k]=t; } }
+ reorder();
+ function show(){ if(i>=5){ document.getElementById('p1-oq').innerHTML='Готово! Результат: '+score+' / 5'; document.getElementById('p1-oopt').innerHTML=''; if(score>=4){addXp(15,'p1-iv2');bumpProgress('p1',30);}else if(score>=2){addXp(8,'p1-iv2');bumpProgress('p1',16);} return; }
+ cur=QZ[order[i]]; document.getElementById('p1-oi').textContent=i+1;
+ document.getElementById('p1-oq').innerHTML=cur.q; renderMath(document.getElementById('p1-oq'));
+ var idx=[0,1,2]; for(var j=idx.length-1;j>0;j--){var k=_ri(0,j),t=idx[j];idx[j]=idx[k];idx[k]=t;}
+ var html=''; idx.forEach(function(oi){ html+=''; });
+ document.getElementById('p1-oopt').innerHTML=html;
+ document.querySelectorAll('#p1-oopt [data-oi]').forEach(function(b){ b.addEventListener('click',function(){ ans(+b.getAttribute('data-oi')); }); });
+ renderMath(document.getElementById('p1-oopt'));
+ document.getElementById('p1-ofb').style.display='none'; }
+ function ans(oi){ if(i>=5)return; var fb=document.getElementById('p1-ofb');
+ if(oi===cur.a){ score++; feedback(fb,true,'✓ Верно!'); } else feedback(fb,false,'✗ Нет. Верный ответ: '+cur.o[cur.a]+'.');
+ document.getElementById('p1-os').textContent=score; i++; setTimeout(show,1300); }
+ show();
+ })();
+}
+
+/* ===================== § 2. ВЫРАЖЕНИЯ С ПЕРЕМЕННЫМИ ===================== */
+function buildP2(){
+ var box=document.getElementById('p2-body'); var h='';
+ h+=makeCard('oral','Где это в жизни','2.0',
+ '
Цена одного билета — $50$ р. Сколько стоят $n$ билетов? Ответ: $50\\cdot n$ — это выражение с переменной. Переменная (буква) обозначает число, которое может меняться. Именно так появляется общая формула, работающая для любого числа.
');
+ h+=makeCard('theory','Что такое переменная','2.1',
+ '
Выражение с переменной — это выражение, которое содержит букву. Буква называется переменной.
Значение выражения — конкретное число, которое получается после подстановки числа вместо переменной.
');
+ h+=makeCard('rule','Как найти значение выражения','2.2',
+ '
Шаг 1. Запишем выражение с буквой.
'
+ +'
Шаг 2. Заменим букву данным числом (подставим).
'
+ +'
Шаг 3. Вычислим результат по правилу порядка действий.
'
+ +'
Пример: $3\\cdot a+1$ при $a=4$: $3\\cdot4+1=12+1=13$.
');
+ h+=makeCard('example','Разбор по шагам','2.3',
+ '
Найдём значение выражения $2\\cdot(a+3)-b$ при $a=5,\\;b=4$.
'
+ +''
+ +'
Подставляем: $2\\cdot(5+3)-4$.
'
+ +'
Скобки: $5+3=8$.
'
+ +'
Умножение: $2\\cdot8=16$.
'
+ +'
Вычитание: $16-4=12$. Ответ: $12$.
'
+ +'');
+ h+=makeCard('theory','А знаешь ли ты?','2.4',
+ '
Использовать буквы для обозначения чисел первым предложил французский математик Франсуа Виет в $1591$ году. До него уравнения записывали словами — представь, как это неудобно! Именно Виет сделал алгебру «буквенной».
');
+ h+='
Интерактив 1
Подставь значение
'
+ +'
Вычисли значение выражения при данном значении переменной.
'
+ +'
Пример 1 / 6Очки: 0 / 6
'
+ +''
+ +''
+ +'
';
+ h+='
Интерактив 2
Верно ли прочитано?
'
+ +'
Выбери верное словесное описание выражения.
'
+ +'
Вопрос 1 / 5Очки: 0 / 5
'
+ +''
+ +''
+ +'
';
+ h+=secNav('p1','p3')+readBtn('p2');
+ box.innerHTML=h; renderMath(box);
+
+ (function(){
+ var i=0,score=0,cur=null;
+ function gen(){
+ var t=_ri(0,3), a=_ri(2,9), b=_ri(2,7), c=_ri(1,6);
+ if(t===0){ cur={q:'$a+'+b+'$ при $a='+a+'$',ans:a+b}; }
+ else if(t===1){ cur={q:'$'+c+'\\cdot a$ при $a='+a+'$',ans:c*a}; }
+ else if(t===2){ cur={q:'$a\\cdot'+b+'-'+c+'$ при $a='+a+'$',ans:a*b-c}; }
+ else { cur={q:'$2\\cdot(a+'+b+')$ при $a='+a+'$',ans:2*(a+b)}; }
+ }
+ function show(){ if(i>=6){ document.getElementById('p2-q').innerHTML='Готово! Результат: '+score+' / 6'; if(score>=5){addXp(15,'p2-iv1');bumpProgress('p2',30);}else if(score>=3){addXp(8,'p2-iv1');bumpProgress('p2',16);} return; }
+ gen(); document.getElementById('p2-i').textContent=i+1;
+ document.getElementById('p2-q').innerHTML=cur.q; renderMath(document.getElementById('p2-q'));
+ document.getElementById('p2-a').value=''; document.getElementById('p2-fb').style.display='none'; }
+ function go(){ if(i>=6)return; var fb=document.getElementById('p2-fb'), v=parseInt(document.getElementById('p2-a').value.replace(',','.').trim(),10);
+ if(isNaN(v)){ feedback(fb,false,'Введи целое число.'); return; }
+ if(v===cur.ans){ score++; feedback(fb,true,'✓ Верно! Ответ '+cur.ans+'.'); } else feedback(fb,false,'✗ Нет. Правильный ответ: '+cur.ans+'.');
+ document.getElementById('p2-s').textContent=score; i++; setTimeout(show,1200); }
+ document.getElementById('p2-go').addEventListener('click',go);
+ document.getElementById('p2-a').addEventListener('keydown',function(e){ if(e.key==='Enter')go(); });
+ show();
+ })();
+
+ (function(){
+ var QZ=[
+ {q:'Как читается $a+5$?',o:['$a$ плюс пять','пять плюс $a$ минус один','$a$ умножить на пять'],a:0},
+ {q:'Как читается $3\\cdot b$?',o:['три умножить на $b$','$b$ плюс три','$b$ в степени три'],a:0},
+ {q:'Что значит «значение выражения»?',o:['конкретное число после подстановки','название буквы','знак действия'],a:0},
+ {q:'$x-7$ при $x=12$ равно:',o:['$5$','$7$','$19$'],a:0},
+ {q:'$4\\cdot a$ при $a=3$ равно:',o:['$12$','$7$','$43$'],a:0},
+ {q:'$b+b$ равносильно:',o:['$2\\cdot b$','$b^2$','$b+2$'],a:0}
+ ];
+ var order=[],i=0,score=0,cur=null;
+ function reorder(){ order=QZ.map(function(_,k){return k;}); for(var j=order.length-1;j>0;j--){ var k=_ri(0,j),t=order[j];order[j]=order[k];order[k]=t; } }
+ reorder();
+ function show(){ if(i>=5){ document.getElementById('p2-rq').innerHTML='Готово! Результат: '+score+' / 5'; document.getElementById('p2-ropt').innerHTML=''; if(score>=4){addXp(15,'p2-iv2');bumpProgress('p2',30);}else if(score>=2){addXp(8,'p2-iv2');bumpProgress('p2',16);} return; }
+ cur=QZ[order[i]]; document.getElementById('p2-ri').textContent=i+1;
+ document.getElementById('p2-rq').innerHTML=cur.q; renderMath(document.getElementById('p2-rq'));
+ var idx=[0,1,2]; for(var j=idx.length-1;j>0;j--){var k=_ri(0,j),t=idx[j];idx[j]=idx[k];idx[k]=t;}
+ var html=''; idx.forEach(function(oi){ html+=''; });
+ document.getElementById('p2-ropt').innerHTML=html;
+ document.querySelectorAll('#p2-ropt [data-oi]').forEach(function(b){ b.addEventListener('click',function(){ ans(+b.getAttribute('data-oi')); }); });
+ renderMath(document.getElementById('p2-ropt'));
+ document.getElementById('p2-rfb').style.display='none'; }
+ function ans(oi){ if(i>=5)return; var fb=document.getElementById('p2-rfb');
+ if(oi===cur.a){ score++; feedback(fb,true,'✓ Верно!'); } else feedback(fb,false,'✗ Нет. Верный ответ: '+cur.o[cur.a]+'.');
+ document.getElementById('p2-rs').textContent=score; i++; setTimeout(show,1300); }
+ show();
+ })();
+}
+
+/* ===================== § 3. УРАВНЕНИЕ ===================== */
+function buildP3(){
+ var box=document.getElementById('p3-body'); var h='';
+ h+=makeCard('oral','Где это в жизни','3.0',
+ '
«В кошельке было несколько рублей, ты потратил $15$ р. и осталось $28$ р. Сколько было?» — это задача на уравнение. Уравнения позволяют найти неизвестное, обозначив его буквой и составив равенство.
');
+ h+=makeCard('theory','Уравнение и его корень','3.1',
+ '
Уравнение — это равенство, содержащее переменную. Например: $x+5=12$.
'
+ +'
Корень уравнения — это такое значение переменной, при котором уравнение обращается в верное равенство.
'
+ +'
В уравнении $x+5=12$ корень $x=7$ (проверка: $7+5=12$ — верно!).
');
+ h+=makeCard('example','Разбор по шагам','3.3',
+ '
Решим уравнение $3\\cdot x-4=11$.
'
+ +''
+ +'
Перенесём $-4$: $3\\cdot x=11+4=15$.
'
+ +'
Делим обе стороны на $3$: $x=15:3=5$.
'
+ +'
Проверка: $3\\cdot5-4=15-4=11$. Верно!
'
+ +'');
+ h+=makeCard('theory','А знаешь ли ты?','3.4',
+ '
Слово «алгебра» пришло из арабского трактата «Аль-Китаб аль-мухтасар фи хисаб аль-джабр валь-мукабала» (около $820$ года н. э.), написанного математиком аль-Хорезми. «Аль-джабр» означает «восстановление» (переноса слагаемого). Его имя дало слово «алгоритм»!
');
+
+ /* Визуал «весы» для уравнения x + a = b */
+ h+='
'
+ +''
+ +'
Весы: левая чаша = правая чаша
'
+ +'
';
+
+ h+='
Интерактив 1
Реши уравнение
'
+ +'
Найди корень уравнения и введи ответ числом.
'
+ +'
Уравнение 1 / 6Очки: 0 / 6
'
+ +''
+ +''
+ +'
';
+ h+='
Интерактив 2
Является ли число корнем?
'
+ +'
Проверь подстановкой: является ли данное число корнем уравнения?
'
+ +'
Вопрос 1 / 5Очки: 0 / 5
'
+ +''
+ +''
+ +'
';
+ h+=secNav('p2','p4')+readBtn('p3');
+ box.innerHTML=h; renderMath(box);
+
+ (function(){
+ var i=0,score=0,cur=null;
+ function gen(){
+ var t=_ri(0,4), x=_ri(2,12), a=_ri(2,15), b;
+ if(t===0){ b=x+a; cur={q:'$x+'+a+'='+b+'$',ans:x}; }
+ else if(t===1){ b=x-a; if(b<0){b=x+a;t=0;cur={q:'$x+'+a+'='+b+'$',ans:x};}else{cur={q:'$x-'+a+'='+b+'$',ans:x};} }
+ else if(t===2){ b=a-x; if(b<0){x=_ri(1,a-1);b=a-x;} cur={q:'$'+a+'-x='+b+'$',ans:x}; }
+ else if(t===3){ var mult=_ri(2,9); b=x*mult; cur={q:'$x\\cdot'+mult+'='+b+'$',ans:x}; }
+ else { var div=_ri(2,9); b=x*div; cur={q:'$x:'+div+'='+x+'$',ans:x}; }
+ }
+ function updateScale(eq){ var el=document.getElementById('p3-scale-rhs'); if(el)el.textContent=eq||'?'; }
+ function show(){ if(i>=6){ document.getElementById('p3-q').innerHTML='Готово! Результат: '+score+' / 6'; if(score>=5){addXp(15,'p3-iv1');bumpProgress('p3',30);}else if(score>=3){addXp(8,'p3-iv1');bumpProgress('p3',16);} return; }
+ gen(); document.getElementById('p3-i').textContent=i+1;
+ document.getElementById('p3-q').innerHTML=cur.q; renderMath(document.getElementById('p3-q'));
+ document.getElementById('p3-a').value=''; document.getElementById('p3-fb').style.display='none'; }
+ function go(){ if(i>=6)return; var fb=document.getElementById('p3-fb'), v=parseInt(document.getElementById('p3-a').value.replace(',','.').trim(),10);
+ if(isNaN(v)){ feedback(fb,false,'Введи целое число.'); return; }
+ if(v===cur.ans){ score++; feedback(fb,true,'✓ Верно! x = '+cur.ans+'.'); updateScale(cur.ans); } else feedback(fb,false,'✗ Нет. Правильный ответ: x = '+cur.ans+'.');
+ document.getElementById('p3-s').textContent=score; i++; setTimeout(show,1300); }
+ document.getElementById('p3-go').addEventListener('click',go);
+ document.getElementById('p3-a').addEventListener('keydown',function(e){ if(e.key==='Enter')go(); });
+ show();
+ })();
+
+ (function(){
+ var i=0,score=0,cur=null;
+ function gen(){
+ var x=_ri(2,10), a=_ri(2,8), b=x+a;
+ var isRoot=_ri(0,1)===0;
+ var tested=isRoot?x:x+_ri(1,4);
+ cur={q:'Уравнение $x+'+a+'='+b+'$. Число $'+tested+'$ — корень?', correct:isRoot, root:x, tested:tested};
+ }
+ function show(){ if(i>=5){ document.getElementById('p3-yq').innerHTML='Готово! Результат: '+score+' / 5'; if(score>=4){addXp(15,'p3-iv2');bumpProgress('p3',30);}else if(score>=2){addXp(8,'p3-iv2');bumpProgress('p3',16);} return; }
+ gen(); document.getElementById('p3-yi').textContent=i+1;
+ document.getElementById('p3-yq').innerHTML=cur.q; renderMath(document.getElementById('p3-yq'));
+ document.getElementById('p3-yfb').style.display='none'; }
+ function ans(yn){ if(i>=5)return; var fb=document.getElementById('p3-yfb'), ok=(yn==='yes')===cur.correct;
+ if(ok){ score++; feedback(fb,true,'✓ Верно! Корень: x = '+cur.root+'.'); } else feedback(fb,false,'✗ Нет. Корень: x = '+cur.root+' (проверь подстановку).');
+ document.getElementById('p3-ys').textContent=score; i++; setTimeout(show,1300); }
+ document.querySelectorAll('#p3-iv2 [data-yn]').forEach(function(b){ b.addEventListener('click',function(){ ans(b.getAttribute('data-yn')); }); });
+ show();
+ })();
+}
+
+/* ===================== § 4. ФОРМУЛЫ ===================== */
+function buildP4(){
+ var box=document.getElementById('p4-body'); var h='';
+ h+=makeCard('oral','Где это в жизни','4.0',
+ '
Прораб знает: площадь комнаты $S=a\\cdot b$, а периметр плинтуса $P=2(a+b)$. Водитель использует $s=v\\cdot t$, чтобы рассчитать время в пути. Формулы — это уравнения в общем виде, работающие для любых конкретных чисел.
');
+ h+=makeCard('example','Разбор по шагам','4.3',
+ '
Автомобиль едет $60$ км/ч. Сколько км проедет за $3$ ч?
'
+ +''
+ +'
Формула пути: $s=v\\cdot t$.
'
+ +'
Подставляем: $s=60\\cdot3$.
'
+ +'
Вычисляем: $s=180$ км.
'
+ +'
Проверка: $180:60=3$ ч — верно!
'
+ +'');
+ h+=makeCard('theory','А знаешь ли ты?','4.4',
+ '
Формула $s=v\\cdot t$ была известна ещё в Средневековье. Но систематически буквенные формулы в физике и математике стали писать только после работ Галилея и Ньютона (XVII век). До них описание законов природы занимало несколько страниц текста вместо одной строки!
');
+ h+='
Интерактив 1
Подставь в формулу
'
+ +'
Вычисли требуемую величину по формуле. Ответ — целое число.
'
+ +'
Задача 1 / 6Очки: 0 / 6
'
+ +''
+ +''
+ +'
';
+ h+='
Интерактив 2
Какая формула?
'
+ +'
Выбери нужную формулу для данной задачи.
'
+ +'
Вопрос 1 / 5Очки: 0 / 5
'
+ +''
+ +''
+ +'
';
+ h+=secNav('p3','p5')+readBtn('p4');
+ box.innerHTML=h; renderMath(box);
+
+ (function(){
+ var i=0,score=0,cur=null;
+ function gen(){
+ var t=_ri(0,3);
+ if(t===0){ var a=_ri(3,12),b=_ri(3,12); cur={q:'Площадь прямоугольника со сторонами $'+a+'$ и $'+b+'$. Формула: $S=a\\cdot b$. Ответ:',ans:a*b}; }
+ else if(t===1){ var a=_ri(3,15),b=_ri(3,10); cur={q:'Периметр прямоугольника со сторонами $'+a+'$ и $'+b+'$. Формула: $P=2(a+b)$. Ответ:',ans:2*(a+b)}; }
+ else if(t===2){ var a=_ri(4,15); cur={q:'Периметр квадрата со стороной $'+a+'$. Формула: $P=4a$. Ответ:',ans:4*a}; }
+ else { var v=_ri(40,100), tm=_ri(2,6); cur={q:'Скорость $'+v+'$ км/ч, время $'+tm+'$ ч. Путь: $s=v\\cdot t$. Ответ (км):',ans:v*tm}; }
+ }
+ function show(){ if(i>=6){ document.getElementById('p4-q').innerHTML='Готово! Результат: '+score+' / 6'; if(score>=5){addXp(15,'p4-iv1');bumpProgress('p4',30);}else if(score>=3){addXp(8,'p4-iv1');bumpProgress('p4',16);} return; }
+ gen(); document.getElementById('p4-i').textContent=i+1;
+ document.getElementById('p4-q').innerHTML=cur.q; renderMath(document.getElementById('p4-q'));
+ document.getElementById('p4-a').value=''; document.getElementById('p4-fb').style.display='none'; }
+ function go(){ if(i>=6)return; var fb=document.getElementById('p4-fb'), v=parseInt(document.getElementById('p4-a').value.replace(',','.').trim(),10);
+ if(isNaN(v)){ feedback(fb,false,'Введи целое число.'); return; }
+ if(v===cur.ans){ score++; feedback(fb,true,'✓ Верно! Ответ '+cur.ans+'.'); } else feedback(fb,false,'✗ Нет. Правильно: '+cur.ans+'.');
+ document.getElementById('p4-s').textContent=score; i++; setTimeout(show,1300); }
+ document.getElementById('p4-go').addEventListener('click',go);
+ document.getElementById('p4-a').addEventListener('keydown',function(e){ if(e.key==='Enter')go(); });
+ show();
+ })();
+
+ (function(){
+ var QZ=[
+ {q:'Нужно найти площадь прямоугольника:',o:['$S=a\\cdot b$','$P=2(a+b)$','$s=v\\cdot t$'],a:0},
+ {q:'Нужно найти периметр квадрата:',o:['$P=4a$','$S=a^2$','$s=v\\cdot t$'],a:0},
+ {q:'Нужно найти путь при данной скорости и времени:',o:['$s=v\\cdot t$','$S=a\\cdot b$','$P=2(a+b)$'],a:0},
+ {q:'Нужно найти периметр прямоугольника:',o:['$P=2(a+b)$','$S=a\\cdot b$','$P=4a$'],a:0},
+ {q:'Нужно найти скорость, зная путь и время:',o:['$v=s:t$','$t=s:v$','$s=v+t$'],a:0}
+ ];
+ var order=[],i=0,score=0,cur=null;
+ function reorder(){ order=QZ.map(function(_,k){return k;}); for(var j=order.length-1;j>0;j--){ var k=_ri(0,j),t=order[j];order[j]=order[k];order[k]=t; } }
+ reorder();
+ function show(){ if(i>=5){ document.getElementById('p4-fq').innerHTML='Готово! Результат: '+score+' / 5'; document.getElementById('p4-fopt').innerHTML=''; if(score>=4){addXp(15,'p4-iv2');bumpProgress('p4',30);}else if(score>=2){addXp(8,'p4-iv2');bumpProgress('p4',16);} return; }
+ cur=QZ[order[i]]; document.getElementById('p4-fi').textContent=i+1;
+ document.getElementById('p4-fq').innerHTML=cur.q; renderMath(document.getElementById('p4-fq'));
+ var idx=[0,1,2]; for(var j=idx.length-1;j>0;j--){var k=_ri(0,j),t=idx[j];idx[j]=idx[k];idx[k]=t;}
+ var html=''; idx.forEach(function(oi){ html+=''; });
+ document.getElementById('p4-fopt').innerHTML=html;
+ document.querySelectorAll('#p4-fopt [data-oi]').forEach(function(b){ b.addEventListener('click',function(){ ans(+b.getAttribute('data-oi')); }); });
+ renderMath(document.getElementById('p4-fopt'));
+ document.getElementById('p4-ffb').style.display='none'; }
+ function ans(oi){ if(i>=5)return; var fb=document.getElementById('p4-ffb');
+ if(oi===cur.a){ score++; feedback(fb,true,'✓ Верно!'); } else feedback(fb,false,'✗ Нет. Верно: '+cur.o[cur.a]+'.');
+ document.getElementById('p4-fs').textContent=score; i++; setTimeout(show,1300); }
+ show();
+ })();
+}
+
+/* ===================== § 5. РЕШЕНИЕ ЗАДАЧ С ПОМОЩЬЮ УРАВНЕНИЙ ===================== */
+function buildP5(){
+ var box=document.getElementById('p5-body'); var h='';
+ h+=makeCard('oral','Где это в жизни','5.0',
+ '
«В двух коробках $60$ карандашей. В первой на $12$ больше, чем во второй. Сколько карандашей в каждой?» — такую задачу проще решить через уравнение: обозначить неизвестное буквой, записать условие как равенство, решить уравнение.
'
+ +'');
+ h+=makeCard('theory','А знаешь ли ты?','5.3',
+ '
Задачи, решаемые через уравнения, встречаются в египетских папирусах возрастом более $3500$ лет. Там неизвестное называли «аха» (куча). Так что «найди x» — традиция тысячелетней давности!
');
+ h+='
Интерактив 1
Сюжетная задача — через уравнение
'
+ +'
Составь уравнение и найди ответ. Введи числовой ответ на вопрос задачи.
'
+ +'
Задача 1 / 6Очки: 0 / 6
'
+ +''
+ +''
+ +'
';
+ h+='
Интерактив 2
Какое уравнение?
'
+ +'
Выбери уравнение, соответствующее условию задачи.
'
+ +'
Вопрос 1 / 5Очки: 0 / 5
'
+ +''
+ +''
+ +'
';
+ h+=secNav('p4','p6')+readBtn('p5');
+ box.innerHTML=h; renderMath(box);
+
+ (function(){
+ var PROB=[
+ {q:'Число $x$ увеличили на $14$ и получили $30$. Найди $x$.',a:16},
+ {q:'Купили несколько тетрадей по $8$ р. Заплатили $48$ р. Сколько тетрадей?',a:6},
+ {q:'В двух пакетах $50$ кг муки. В первом $x$ кг, во втором на $6$ кг меньше. Найди $x$.',a:28},
+ {q:'Длина забора $P=54$ м. Забор состоит из трёх равных секций. Длина одной секции?',a:18},
+ {q:'Поезд ехал $4$ ч со скоростью $v$ км/ч и проехал $280$ км. Найди $v$.',a:70},
+ {q:'Саше $x$ лет, Маше на $5$ лет больше, вместе им $27$ лет. Сколько лет Саше?',a:11},
+ {q:'В трёх ящиках поровну яблок, всего $96$. Сколько яблок в каждом?',a:32},
+ {q:'Число уменьшили на $23$ и получили $45$. Найди исходное число.',a:68}
+ ];
+ var order=[],i=0,score=0,cur=null;
+ function reorder(){ order=PROB.map(function(_,k){return k;}); for(var j=order.length-1;j>0;j--){ var k=_ri(0,j),t=order[j];order[j]=order[k];order[k]=t; } }
+ reorder();
+ function show(){ if(i>=6){ document.getElementById('p5-q').innerHTML='Готово! Результат: '+score+' / 6'; if(score>=5){addXp(15,'p5-iv1');bumpProgress('p5',30);}else if(score>=3){addXp(8,'p5-iv1');bumpProgress('p5',16);} return; }
+ cur=PROB[order[i]]; document.getElementById('p5-i').textContent=i+1;
+ document.getElementById('p5-q').innerHTML=cur.q; renderMath(document.getElementById('p5-q'));
+ document.getElementById('p5-a').value=''; document.getElementById('p5-fb').style.display='none'; }
+ function go(){ if(i>=6)return; var fb=document.getElementById('p5-fb'), v=parseInt(document.getElementById('p5-a').value.replace(',','.').trim(),10);
+ if(isNaN(v)){ feedback(fb,false,'Введи целое число.'); return; }
+ if(v===cur.a){ score++; feedback(fb,true,'✓ Верно! Ответ '+cur.a+'.'); } else feedback(fb,false,'✗ Нет. Правильно: '+cur.a+'.');
+ document.getElementById('p5-s').textContent=score; i++; setTimeout(show,1400); }
+ document.getElementById('p5-go').addEventListener('click',go);
+ document.getElementById('p5-a').addEventListener('keydown',function(e){ if(e.key==='Enter')go(); });
+ show();
+ })();
+
+ (function(){
+ var QZ=[
+ {q:'«Число увеличили на $7$ и получили $20$.» Какое уравнение?',o:['$x+7=20$','$x-7=20$','$7x=20$'],a:0},
+ {q:'«Число умножили на $4$ и получили $36$.» Какое уравнение?',o:['$4x=36$','$x+4=36$','$x:4=36$'],a:0},
+ {q:'«Из числа вычли $8$ и получили $15$.» Какое уравнение?',o:['$x-8=15$','$x+8=15$','$8-x=15$'],a:0},
+ {q:'«Число разделили на $5$ и получили $7$.» Какое уравнение?',o:['$x:5=7$','$5x=7$','$x-5=7$'],a:0},
+ {q:'«Сумма двух чисел равна $40$, одно из них $17$.» Какое уравнение?',o:['$x+17=40$','$x-17=40$','$17x=40$'],a:0}
+ ];
+ var order=[],i=0,score=0,cur=null;
+ function reorder(){ order=QZ.map(function(_,k){return k;}); for(var j=order.length-1;j>0;j--){ var k=_ri(0,j),t=order[j];order[j]=order[k];order[k]=t; } }
+ reorder();
+ function show(){ if(i>=5){ document.getElementById('p5-eq').innerHTML='Готово! Результат: '+score+' / 5'; document.getElementById('p5-eopt').innerHTML=''; if(score>=4){addXp(15,'p5-iv2');bumpProgress('p5',30);}else if(score>=2){addXp(8,'p5-iv2');bumpProgress('p5',16);} return; }
+ cur=QZ[order[i]]; document.getElementById('p5-ei').textContent=i+1;
+ document.getElementById('p5-eq').innerHTML=cur.q; renderMath(document.getElementById('p5-eq'));
+ var idx=[0,1,2]; for(var j=idx.length-1;j>0;j--){var k=_ri(0,j),t=idx[j];idx[j]=idx[k];idx[k]=t;}
+ var html=''; idx.forEach(function(oi){ html+=''; });
+ document.getElementById('p5-eopt').innerHTML=html;
+ document.querySelectorAll('#p5-eopt [data-oi]').forEach(function(b){ b.addEventListener('click',function(){ ans(+b.getAttribute('data-oi')); }); });
+ renderMath(document.getElementById('p5-eopt'));
+ document.getElementById('p5-efb').style.display='none'; }
+ function ans(oi){ if(i>=5)return; var fb=document.getElementById('p5-efb');
+ if(oi===cur.a){ score++; feedback(fb,true,'✓ Верно!'); } else feedback(fb,false,'✗ Нет. Верно: '+cur.o[cur.a]+'.');
+ document.getElementById('p5-es').textContent=score; i++; setTimeout(show,1300); }
+ show();
+ })();
+}
+
+/* ===================== § 6. УГОЛ. ИЗМЕРЕНИЕ И ПОСТРОЕНИЕ УГЛОВ ===================== */
+function buildP6(){
+ var box=document.getElementById('p6-body'); var h='';
+ h+=makeCard('oral','Где это в жизни','6.0',
+ '
Поворот кресла, наклон солнечных лучей, угол в архитектуре — везде мы встречаем углы. Строитель с транспортиром, навигатор с компасом, конструктор в CAD-программе — все измеряют и задают углы.
');
+ h+=makeCard('theory','Что такое угол','6.1',
+ '
Угол — геометрическая фигура, образованная двумя лучами (сторонами), исходящими из одной точки (вершины).
'
+ +'
Угол измеряют в градусах ($1^\\circ$ — $1/360$ полного оборота). Прибор для измерения — транспортир.
');
+ h+=makeCard('rule','Виды углов','6.2',
+ '
Острый: $0^\\circ < \\alpha < 90^\\circ$
'
+ +'
Прямой: $\\alpha = 90^\\circ$ (обозначают квадратиком у вершины)
'
+ +'
Тупой: $90^\\circ < \\alpha < 180^\\circ$
'
+ +'
Развёрнутый: $\\alpha = 180^\\circ$ (стороны образуют прямую)
'
+ +'');
+ h+=makeCard('theory','А знаешь ли ты?','6.4',
+ '
Разбивка окружности на $360^\\circ$ — наследие вавилонян. Они считали в шестидесятеричной системе и знали, что год содержит около $360$ дней. Сегодня в навигации и астрономии $360^\\circ$ — незыблемый стандарт.
');
+
+ h+='
Интерактив 1
Классифицируй угол
'
+ +'
По рисунку угла нажми его вид.
'
+ +'
Вопрос 1 / 6Очки: 0 / 6
'
+ +''
+ +''
+ +'
';
+ h+='
Интерактив 2
Сколько градусов?
'
+ +'
По виду угла введи его точную меру (для прямого) или оцени: выбери вариант.
'
+ +'
Вопрос 1 / 5Очки: 0 / 5
'
+ +''
+ +''
+ +'
';
+ h+=secNav('p5','p7')+readBtn('p6');
+ box.innerHTML=h; renderMath(box);
+
+ function angleSVG(deg){
+ var W=220,H=160,cx=40,cy=130;
+ var rad=deg*Math.PI/180;
+ var L=140;
+ var x2=cx+L, y2=cy;
+ var x3=Math.round(cx+L*Math.cos(Math.PI-rad)), y3=Math.round(cy-L*Math.sin(Math.PI-rad));
+ var col=deg===90?'#4f46e5':(deg===180?'#374151':(deg<90?'#0d9488':'#e11d48'));
+ var s='';
+ }
+
+ (function(){
+ var KINDS=[
+ {deg:35,kind:'острый'},{deg:55,kind:'острый'},{deg:70,kind:'острый'},
+ {deg:90,kind:'прямой'},
+ {deg:110,kind:'тупой'},{deg:130,kind:'тупой'},{deg:150,kind:'тупой'},
+ {deg:180,kind:'развёрнутый'}
+ ];
+ var order=[],i=0,score=0,cur=null;
+ function reorder(){ order=KINDS.map(function(_,k){return k;}); for(var j=order.length-1;j>0;j--){ var k=_ri(0,j),t=order[j];order[j]=order[k];order[k]=t; } }
+ reorder();
+ function show(){ if(i>=6){ document.getElementById('p6-fig').innerHTML='Готово! '+score+' / 6'; if(score>=5){addXp(15,'p6-iv1');bumpProgress('p6',30);}else if(score>=3){addXp(8,'p6-iv1');bumpProgress('p6',16);} return; }
+ cur=KINDS[order[i]]; document.getElementById('p6-i').textContent=i+1;
+ document.getElementById('p6-fig').innerHTML=angleSVG(cur.deg);
+ document.getElementById('p6-fb').style.display='none'; }
+ function ans(kind){ if(i>=6)return; var fb=document.getElementById('p6-fb');
+ if(kind===cur.kind){ score++; feedback(fb,true,'✓ Верно — '+cur.deg+'° — '+cur.kind+'.'); } else feedback(fb,false,'✗ Нет. Это '+cur.kind+' угол ('+cur.deg+'°).');
+ document.getElementById('p6-s').textContent=score; i++; setTimeout(show,1200); }
+ document.querySelectorAll('#p6-iv1 [data-kind]').forEach(function(b){ b.addEventListener('click',function(){ ans(b.getAttribute('data-kind')); }); });
+ show();
+ })();
+
+ (function(){
+ var QZ=[
+ {q:'Прямой угол равен …',o:['90°','180°','45°'],a:0},
+ {q:'Развёрнутый угол равен …',o:['180°','90°','360°'],a:0},
+ {q:'Угол $35°$ — какой вид?',o:['острый','тупой','прямой'],a:0},
+ {q:'Угол $140°$ — какой вид?',o:['тупой','острый','развёрнутый'],a:0},
+ {q:'Какой угол НЕ острый из следующих: $60°$, $95°$, $30°$?',o:['95°','60°','30°'],a:0},
+ {q:'Сумма двух прямых углов равна …',o:['180°','90°','360°'],a:0}
+ ];
+ var order=[],i=0,score=0,cur=null;
+ function reorder(){ order=QZ.map(function(_,k){return k;}); for(var j=order.length-1;j>0;j--){ var k=_ri(0,j),t=order[j];order[j]=order[k];order[k]=t; } }
+ reorder();
+ function show(){ if(i>=5){ document.getElementById('p6-dq').innerHTML='Готово! Результат: '+score+' / 5'; document.getElementById('p6-dopt').innerHTML=''; if(score>=4){addXp(15,'p6-iv2');bumpProgress('p6',30);}else if(score>=2){addXp(8,'p6-iv2');bumpProgress('p6',16);} return; }
+ cur=QZ[order[i]]; document.getElementById('p6-di').textContent=i+1;
+ document.getElementById('p6-dq').innerHTML=cur.q;
+ var idx=[0,1,2]; for(var j=idx.length-1;j>0;j--){var k=_ri(0,j),t=idx[j];idx[j]=idx[k];idx[k]=t;}
+ var html=''; idx.forEach(function(oi){ html+=''; });
+ document.getElementById('p6-dopt').innerHTML=html;
+ document.querySelectorAll('#p6-dopt [data-oi]').forEach(function(b){ b.addEventListener('click',function(){ ans(+b.getAttribute('data-oi')); }); });
+ document.getElementById('p6-dfb').style.display='none'; }
+ function ans(oi){ if(i>=5)return; var fb=document.getElementById('p6-dfb');
+ if(oi===cur.a){ score++; feedback(fb,true,'✓ Верно!'); } else feedback(fb,false,'✗ Нет. Верно: '+cur.o[cur.a]+'.');
+ document.getElementById('p6-ds').textContent=score; i++; setTimeout(show,1300); }
+ show();
+ })();
+}
+
+/* ===================== § 7. МАТЕМАТИКА ВОКРУГ НАС (applied) ===================== */
+function buildP7(){
+ var box=document.getElementById('p7-body'); var h='';
+ h+=makeCard('oral','Где это в жизни','7.0',
+ '
Формулы и уравнения встречаются повсюду — в магазине, на кухне, при ремонте, в расписании поездов. Научившись составлять выражения и решать уравнения, ты можешь решать реальные жизненные задачи.
Скидка: цена $p$, скидка $d\\%$. Новая цена $= p\\cdot(100-d):100$.
'
+ +'
Расход ткани: нужно $n$ платьев, на каждое $a$ м ткани — $x=a\\cdot n$.
'
+ +'
Грузовик: грузит $m$ кг за рейс, нужно перевезти $M$ кг — $x=M:m$ рейсов.
'
+ +'
Обои: ширина рулона $w$, длина $L$, периметр комнаты $P$ — рулонов $P:w$.
');
+ h+='
Интерактив
Жизненные задачи
'
+ +'
Реши прикладную задачу, используя выражение или уравнение.
'
+ +'
Задача 1 / 6Очки: 0 / 6
'
+ +''
+ +''
+ +'
';
+ h+=secNav('p6','p8')+readBtn('p7');
+ box.innerHTML=h; renderMath(box);
+
+ (function(){
+ var PROB=[
+ {q:'Тетрадь стоит $12$ р., ручка — $8$ р. Купили $3$ тетради и $2$ ручки. Сколько заплатили (р.)?',a:52},
+ {q:'Поезд едет $4$ ч со скоростью $80$ км/ч. Расстояние (км)?',a:320},
+ {q:'Комната $5\\times4$ м. Периметр (м)?',a:18},
+ {q:'Площадь огорода $48$ кв.м, ширина $6$ м. Длина (м)?',a:8},
+ {q:'В коробке $120$ конфет. Дети разобрали по $8$. Сколько детей?',a:15},
+ {q:'Одна рубашка стоит $x$ р. Три рубашки стоят $180$ р. Найди $x$.',a:60},
+ {q:'Чайник ёмкостью $2$ л нужно наполнить из крана. Кран даёт $400$ мл/мин. Сколько минут?',a:5},
+ {q:'Велосипедист проехал $x$ км за $2$ ч со скоростью $18$ км/ч. Найди $x$.',a:36}
+ ];
+ var order=[],i=0,score=0,cur=null;
+ function reorder(){ order=PROB.map(function(_,k){return k;}); for(var j=order.length-1;j>0;j--){ var k=_ri(0,j),t=order[j];order[j]=order[k];order[k]=t; } }
+ reorder();
+ function show(){ if(i>=6){ document.getElementById('p7-q').innerHTML='Готово! Результат: '+score+' / 6'; if(score>=5){addXp(15,'p7-iv1');bumpProgress('p7',30);}else if(score>=3){addXp(8,'p7-iv1');bumpProgress('p7',16);} return; }
+ cur=PROB[order[i]]; document.getElementById('p7-i').textContent=i+1;
+ document.getElementById('p7-q').innerHTML=cur.q; renderMath(document.getElementById('p7-q'));
+ document.getElementById('p7-a').value=''; document.getElementById('p7-fb').style.display='none'; }
+ function go(){ if(i>=6)return; var fb=document.getElementById('p7-fb'), v=parseInt(document.getElementById('p7-a').value.replace(',','.').trim(),10);
+ if(isNaN(v)){ feedback(fb,false,'Введи целое число.'); return; }
+ if(v===cur.a){ score++; feedback(fb,true,'✓ Верно! Ответ '+cur.a+'.'); } else feedback(fb,false,'✗ Нет. Правильно: '+cur.a+'.');
+ document.getElementById('p7-s').textContent=score; i++; setTimeout(show,1400); }
+ document.getElementById('p7-go').addEventListener('click',go);
+ document.getElementById('p7-a').addEventListener('keydown',function(e){ if(e.key==='Enter')go(); });
+ show();
+ })();
+}
+
+/* ===================== § 8. ЗАНИМАТЕЛЬНЫЕ ЗАДАЧИ (applied) ===================== */
+function buildP8(){
+ var box=document.getElementById('p8-body'); var h='';
+ h+=makeCard('oral','Занимательные задачи','8.0',
+ '
Математика — это не только формулы, но и логические головоломки. Они развивают нестандартное мышление, учат искать скрытые закономерности и рассуждать нестандартно. Некоторые из этих задач требуют составить уравнение, другие — смекалку.
');
+ h+=makeCard('theory','Совет','8.1',
+ '
Не бойся пробовать! Для каждой задачи: 1) Запиши, что известно. 2) Попробуй обозначить неизвестное через $x$. 3) Если не выходит — замени $x$ на конкретные числа и ищи закономерность.
');
+ h+='
Интерактив 1
Числовые головоломки
'
+ +'
Найди ответ на головоломку. Введи число.
'
+ +'
Задача 1 / 5Очки: 0 / 5
'
+ +''
+ +''
+ +'
';
+ h+='
Интерактив 2
Продолжи последовательность
'
+ +'
Найди правило и введи следующий член числовой последовательности.
'
+ +'
Задача 1 / 5Очки: 0 / 5
'
+ +''
+ +''
+ +'
';
+ h+=secNav('p7','p9')+readBtn('p8');
+ box.innerHTML=h; renderMath(box);
+
+ (function(){
+ var PROB=[
+ {q:'Думаю о числе. Удвою его и прибавлю $6$ — получу $20$. Какое это число?',a:7},
+ {q:'Три числа подряд. Их сумма равна $36$. Наименьшее из них?',a:11},
+ {q:'Из двухзначного числа вычти число, образованное перестановкой его цифр, и получится $18$. Наименьшее такое число?',a:31},
+ {q:'Сумма цифр числа равна $9$. Само число вдвое больше, чем $27$. Что это за число?',a:54},
+ {q:'Ленту длиной $24$ м разрезали на куски по $3$ м. Сколько разрезов сделали?',a:7}
+ ];
+ var order=[],i=0,score=0,cur=null;
+ function reorder(){ order=PROB.map(function(_,k){return k;}); for(var j=order.length-1;j>0;j--){ var k=_ri(0,j),t=order[j];order[j]=order[k];order[k]=t; } }
+ reorder();
+ function show(){ if(i>=5){ document.getElementById('p8-q').innerHTML='Готово! Результат: '+score+' / 5'; if(score>=4){addXp(15,'p8-iv1');bumpProgress('p8',30);}else if(score>=2){addXp(8,'p8-iv1');bumpProgress('p8',16);} return; }
+ cur=PROB[order[i]]; document.getElementById('p8-i').textContent=i+1;
+ document.getElementById('p8-q').innerHTML=cur.q;
+ document.getElementById('p8-a').value=''; document.getElementById('p8-fb').style.display='none'; }
+ function go(){ if(i>=5)return; var fb=document.getElementById('p8-fb'), v=parseInt(document.getElementById('p8-a').value.replace(',','.').trim(),10);
+ if(isNaN(v)){ feedback(fb,false,'Введи целое число.'); return; }
+ if(v===cur.a){ score++; feedback(fb,true,'✓ Верно! Ответ '+cur.a+'.'); } else feedback(fb,false,'✗ Нет. Правильно: '+cur.a+'.');
+ document.getElementById('p8-s').textContent=score; i++; setTimeout(show,1400); }
+ document.getElementById('p8-go').addEventListener('click',go);
+ document.getElementById('p8-a').addEventListener('keydown',function(e){ if(e.key==='Enter')go(); });
+ show();
+ })();
+
+ (function(){
+ var SEQS=[
+ {q:'$2,\\; 4,\\; 6,\\; 8,\\; ?$',a:10,hint:'+2'},
+ {q:'$1,\\; 3,\\; 9,\\; 27,\\; ?$',a:81,hint:'×3'},
+ {q:'$5,\\; 10,\\; 15,\\; 20,\\; ?$',a:25,hint:'+5'},
+ {q:'$100,\\; 90,\\; 80,\\; 70,\\; ?$',a:60,hint:'−10'},
+ {q:'$2,\\; 6,\\; 18,\\; 54,\\; ?$',a:162,hint:'×3'},
+ {q:'$1,\\; 4,\\; 9,\\; 16,\\; ?$',a:25,hint:'квадраты'}
+ ];
+ var order=[],i=0,score=0,cur=null;
+ function reorder(){ order=SEQS.map(function(_,k){return k;}); for(var j=order.length-1;j>0;j--){ var k=_ri(0,j),t=order[j];order[j]=order[k];order[k]=t; } }
+ reorder();
+ function show(){ if(i>=5){ document.getElementById('p8-lq').innerHTML='Готово! Результат: '+score+' / 5'; if(score>=4){addXp(15,'p8-iv2');bumpProgress('p8',30);}else if(score>=2){addXp(8,'p8-iv2');bumpProgress('p8',16);} return; }
+ cur=SEQS[order[i]]; document.getElementById('p8-li').textContent=i+1;
+ document.getElementById('p8-lq').innerHTML=cur.q; renderMath(document.getElementById('p8-lq'));
+ document.getElementById('p8-la').value=''; document.getElementById('p8-lfb').style.display='none'; }
+ function go(){ if(i>=5)return; var fb=document.getElementById('p8-lfb'), v=parseInt(document.getElementById('p8-la').value.replace(',','.').trim(),10);
+ if(isNaN(v)){ feedback(fb,false,'Введи целое число.'); return; }
+ if(v===cur.a){ score++; feedback(fb,true,'✓ Верно! Правило: '+cur.hint+'. Ответ '+cur.a+'.'); } else feedback(fb,false,'✗ Нет. Правило: '+cur.hint+'. Ответ '+cur.a+'.');
+ document.getElementById('p8-ls').textContent=score; i++; setTimeout(show,1400); }
+ document.getElementById('p8-lgo').addEventListener('click',go);
+ document.getElementById('p8-la').addEventListener('keydown',function(e){ if(e.key==='Enter')go(); });
+ show();
+ })();
+}
+
+/* ===================== § 9. ИСТОРИЧЕСКИЕ СВЕДЕНИЯ (applied) ===================== */
+function buildP9(){
+ var box=document.getElementById('p9-body'); var h='';
+ h+=makeCard('oral','История уравнений','9.0',
+ '
Уравнения решали задолго до того, как появились символы $x$ и $=$. На протяжении тысячелетий люди искали неизвестное — и эта история полна открытий, путешествий и даже споров о первенстве.
');
+ h+=makeCard('theory','Как это началось','9.1',
+ '
Древний Египет (~1650 до н. э.): папирус Ринда содержит задачи, где неизвестное называют «аха» («куча»). Это простейшие линейные уравнения.
'
+ +'
Вавилон (~2000 до н. э.): математики умели решать квадратные уравнения, записывая условие на глиняных табличках.
'
+ +'
Аль-Хорезми (IX в. н. э.): его книга ввела термин «алгебра» и дала систематический метод решения уравнений. Слово «алгоритм» — латинизация его имени.
'
+ +'
Франсуа Виет (1591): первым стал обозначать неизвестное и данные буквами. Современная алгебра начинается с него.
Знак $=$ придумал Роберт Рекорд в $1557$ году. Знаки $+$ и $-$ стали общеупотребительными к $1500$ году. Букву $x$ для неизвестного закрепил Декарт в $1637$ году. До этого — только слова и сокращения!
');
+ h+=makeCard('theory','А знаешь ли ты?','9.3',
+ '
Слово «алгебра» происходит от арабского «аль-джабр» — «восстановление (сломанных костей)». Так аль-Хорезми называл операцию переноса отрицательного члена в другую часть уравнения. Математика и медицина соединились в одном слове!
');
+ h+='
Интерактив 1
История алгебры — квиз
'
+ +'
Выбери верный ответ.
'
+ +'
Вопрос 1 / 6Очки: 0 / 6
'
+ +''
+ +''
+ +'
';
+ h+=secNav('p8','final')+readBtn('p9');
+ box.innerHTML=h; renderMath(box);
+
+ (function(){
+ var QZ=[
+ {q:'Как называли неизвестное в Египте?',o:['аха (куча)','икс','арабской буквой'],a:0},
+ {q:'Кто написал первый алгебраический трактат, давший слово «алгебра»?',o:['аль-Хорезми','Виет','Декарт'],a:0},
+ {q:'Кто первым стал обозначать неизвестное буквой $x$?',o:['Декарт','аль-Хорезми','Рекорд'],a:0},
+ {q:'Кто придумал знак равенства $=$?',o:['Роберт Рекорд','Евклид','Виет'],a:0},
+ {q:'Что означает слово «алгоритм»?',o:['латинизация имени аль-Хорезми','правило вычисления','алгебраическая запись'],a:0},
+ {q:'В каком году Декарт закрепил букву $x$ для неизвестного?',o:['1637','1591','1557'],a:0},
+ {q:'Кто первым использовал буквы для известных и неизвестных величин?',o:['Виет','аль-Хорезми','Рекорд'],a:0}
+ ];
+ var order=[],i=0,score=0,cur=null;
+ function reorder(){ order=QZ.map(function(_,k){return k;}); for(var j=order.length-1;j>0;j--){ var k=_ri(0,j),t=order[j];order[j]=order[k];order[k]=t; } }
+ reorder();
+ function show(){ if(i>=6){ document.getElementById('p9-q').innerHTML='Готово! Результат: '+score+' / 6'; document.getElementById('p9-opt').innerHTML=''; if(score>=5){addXp(15,'p9-iv1');bumpProgress('p9',30);}else if(score>=3){addXp(8,'p9-iv1');bumpProgress('p9',16);} return; }
+ cur=QZ[order[i]]; document.getElementById('p9-i').textContent=i+1;
+ document.getElementById('p9-q').innerHTML=cur.q; renderMath(document.getElementById('p9-q'));
+ var idx=[0,1,2]; for(var j=idx.length-1;j>0;j--){var k=_ri(0,j),t=idx[j];idx[j]=idx[k];idx[k]=t;}
+ var html=''; idx.forEach(function(oi){ html+=''; });
+ document.getElementById('p9-opt').innerHTML=html;
+ document.querySelectorAll('#p9-opt [data-oi]').forEach(function(b){ b.addEventListener('click',function(){ ans(+b.getAttribute('data-oi')); }); });
+ document.getElementById('p9-fb').style.display='none'; }
+ function ans(oi){ if(i>=6)return; var fb=document.getElementById('p9-fb');
+ if(oi===cur.a){ score++; feedback(fb,true,'✓ Верно!'); } else feedback(fb,false,'✗ Нет. Верно: '+cur.o[cur.a]+'.');
+ document.getElementById('p9-s').textContent=score; i++; setTimeout(show,1300); }
+ show();
+ })();
+}
+
+/* ===================== ФИНАЛ ГЛАВЫ ===================== */
+function buildFinal(){
+ var box=document.getElementById('final-body'); var h='';
+ h+=makeCard('theory','Финал главы 2','★',
+ '
Пять боссов проверят владение выражениями и уравнениями: порядок действий, переменные, корень уравнения, формулы, углы. Побей не меньше четырёх — и глава покорена!
');
+ h+='
Боссы
Сразись с главой 2
'
+ +'
'
+ +'
Босс 1 / 5Побеждено: 0 / 5
'
+ +''
+ +''
+ +''
+ +'
';
+ h+=secNav('p9',null)+readBtn('final','Завершить главу 2 (+10 XP)');
+ box.innerHTML=h; renderMath(box);
+
+ (function(){
+ var bosses=[
+ function(){
+ var pairs=[[2,3,4,14],[5,3,6,21],[3,4,2,14],[4,2,5,13],[6,2,3,15]];
+ var p=_pick(pairs);
+ return {name:'Страж Порядка', q:'Вычисли $'+p[0]+'+'+p[1]+'\\cdot'+p[2]+'$.',ans:p[3]};
+ },
+ function(){
+ var a=_ri(2,8), c=_ri(3,7), b=_ri(2,9);
+ var ans=c*a+b;
+ return {name:'Повелитель Переменных', q:'Найди значение $'+c+'\\cdot a+'+b+'$ при $a='+a+'$.',ans:ans};
+ },
+ function(){
+ var x=_ri(3,12), a=_ri(2,8), b=x+a;
+ return {name:'Хранитель Уравнений', q:'Реши уравнение $x+'+a+'='+b+'$.', ans:x};
+ },
+ function(){
+ var a=_ri(3,12), b=_ri(3,10);
+ return {name:'Мастер Формул', q:'Площадь прямоугольника $'+a+'\\times '+b+'$ (формула $S=a\\cdot b$).',ans:a*b};
+ },
+ function(){
+ var kinds=[{deg:45,name:'острый'},{deg:90,name:'прямой'},{deg:120,name:'тупой'},{deg:180,name:'развёрнутый'}];
+ var k=_pick(kinds);
+ return {name:'Страж Углов', q:'Угол $'+k.deg+'^\\circ$ — сколько в нём градусов?', ans:k.deg};
+ }
+ ];
+ var i=0,score=0,cur=null,done=false;
+ function show(){
+ if(i>=5){ done=true; document.getElementById('fin-name').textContent=''; document.getElementById('fin-q').innerHTML=(score>=4?'Победа! Глава 2 пройдена! ':'Бой окончен. ')+'Побеждено боссов: '+score+' / 5.';
+ document.getElementById('fin-hp').style.width=(score>=4?0:40)+'%';
+ if(score>=4){ addXp(40,'final'); bumpProgress('final',100); if(window.confetti)try{confetti();}catch(e){} } else { bumpProgress('final',60); }
+ return; }
+ cur=bosses[i](); document.getElementById('fin-i').textContent=i+1; document.getElementById('fin-s').textContent=score;
+ document.getElementById('fin-name').textContent='Босс '+(i+1)+': '+cur.name;
+ document.getElementById('fin-hp').style.width=(100-i*20)+'%';
+ document.getElementById('fin-q').innerHTML=cur.q; renderMath(document.getElementById('fin-q'));
+ document.getElementById('fin-a').value=''; document.getElementById('fin-fb').style.display='none';
+ }
+ function go(){ if(done||i>=5)return; var fb=document.getElementById('fin-fb'), v=parseFloat(document.getElementById('fin-a').value.replace(',','.').trim());
+ if(isNaN(v)){ feedback(fb,false,'Введи число.'); return; }
+ if(Math.abs(v-cur.ans)<1e-9){ score++; feedback(fb,true,'✓ Босс повержен! Ответ '+cur.ans+'.'); } else feedback(fb,false,'✗ Босс устоял. Верный ответ: '+cur.ans+'.');
+ document.getElementById('fin-s').textContent=score; i++; setTimeout(show,1400); }
+ document.getElementById('fin-go').addEventListener('click',go);
+ document.getElementById('fin-a').addEventListener('keydown',function(e){ if(e.key==='Enter')go(); });
+ show();
+ })();
+}
+
+/* ===================== ДАННЫЕ САЙДБАРА / ГЛОССАРИЯ ===================== */
+var SIDEBARS = {
+ p1:{ title:'Шпаргалка § 1', rows:[
+ ['Скобки','вычисляются первыми'],
+ ['× и ÷','перед + и −'],
+ ['Слева направо','при одинаковом приоритете'],
+ ['Пример','$3+2\\cdot4=11$; $(3+2)\\cdot4=20$'] ]},
+ p2:{ title:'Шпаргалка § 2', rows:[
+ ['Переменная','буква вместо числа'],
+ ['Значение','число после подстановки'],
+ ['$a+5$ при $a=3$','$=3+5=8$'],
+ ['Виет','ввёл буквы в 1591'] ]},
+ p3:{ title:'Шпаргалка § 3', rows:[
+ ['Уравнение','равенство с переменной'],
+ ['Корень','значение, делающее равенство верным'],
+ ['$x+a=b$','$x=b-a$'],
+ ['$x\\cdot a=b$','$x=b:a$'],
+ ['$x:a=b$','$x=b\\cdot a$'] ]},
+ p4:{ title:'Шпаргалка § 4', rows:[
+ ['$P_{\\text{прям}}$','$=2(a+b)$'],
+ ['$S_{\\text{прям}}$','$=a\\cdot b$'],
+ ['$P_{\\text{кв}}$','$=4a$'],
+ ['$s$ путь','$=v\\cdot t$'] ]},
+ p5:{ title:'Шпаргалка § 5', rows:[
+ ['1) Обозначь','неизвестное буквой $x$'],
+ ['2) Выразь','остальное через $x$'],
+ ['3) Составь','уравнение по условию'],
+ ['4) Реши','и проверь в задаче'] ]},
+ p6:{ title:'Шпаргалка § 6', rows:[
+ ['Острый','$0°<\\alpha<90°$'],
+ ['Прямой','$\\alpha=90°$'],
+ ['Тупой','$90°<\\alpha<180°$'],
+ ['Развёрнутый','$\\alpha=180°$'],
+ ['Транспортир','прибор для измерения'] ]},
+ p7:{ title:'Шпаргалка § 7', rows:[
+ ['Сумма','$a+b$'],
+ ['Произведение','$a\\cdot b$'],
+ ['Путь','$s=v\\cdot t$'],
+ ['Периметр','$P=2(a+b)$'] ]},
+ p8:{ title:'Шпаргалка § 8', rows:[
+ ['Обозначь','неизвестное через $x$'],
+ ['Ищи','закономерность'],
+ ['Проверь','подстановкой'] ]},
+ p9:{ title:'Шпаргалка § 9', rows:[
+ ['аль-Хорезми','IX в., «алгебра»'],
+ ['Виет','1591, буквы в алгебре'],
+ ['Декарт','1637, буква $x$'],
+ ['Рекорд','1557, знак $=$'] ]},
+ final:{ title:'Финал главы 2', rows:[
+ ['5 боссов','выражения, переменные, уравнения, формулы, углы'],
+ ['Победа','4 из 5 и больше'],
+ ['Награда','+40 XP и достижение «Глава 2 пройдена»'] ]}
+};
+var TIPS = [
+ { sec:'p1', html:'Всегда ищи сначала скобки. Нет скобок? Тогда сначала $\\times$ и $\\div$, и лишь потом $+$ и $-$.' },
+ { sec:'p2', html:'Подставляй и считай шаг за шагом — не торопись выполнять несколько действий сразу.' },
+ { sec:'p3', html:'Нашёл корень — обязательно подставь обратно в уравнение и проверь, что получится верное равенство.' },
+ { sec:'p4', html:'Выпиши формулу, потом подставь числа — так реже ошибаются, чем пытаясь считать «в голове».' },
+ { sec:'p5', html:'Самое главное — правильно выбрать, что обозначить через $x$. Обычно это то, что спрашивают.' },
+ { sec:'p6', html:'Запомни граничные значения: прямой $=90°$, развёрнутый $=180°$. Всё меньше $90°$ — острый, больше $90°$ — тупой.' },
+ { sec:'final', html:'Перед ударом прочитай вопрос ещё раз. Убедись, что отвечаешь именно на то, что спрашивают.' }
+];
+var GLOSSARY = [
+ { term:'числовое выражение', def:'Запись из чисел и знаков действий, имеющая определённое значение.', sec:'p1', aliases:['числовое выражение','числовых выражений','числовых выражениях'] },
+ { term:'порядок действий', def:'Правило: сначала скобки, затем × и ÷, затем + и −.', sec:'p1', aliases:['порядок действий','порядок вычислений'] },
+ { term:'переменная', def:'Буква, обозначающая неизвестное или произвольное число.', sec:'p2', aliases:['переменная','переменную','переменной'] },
+ { term:'уравнение', def:'Равенство, содержащее переменную.', sec:'p3', aliases:['уравнение','уравнения','уравнений','уравнению'] },
+ { term:'корень уравнения', def:'Значение переменной, при котором уравнение становится верным равенством.', sec:'p3', aliases:['корень','корнем','корня','корней'] },
+ { term:'формула', def:'Краткая запись зависимости между величинами с помощью букв и знаков.', sec:'p4', aliases:['формула','формулу','формулы','формул'] },
+ { term:'периметр', def:'Сумма длин всех сторон фигуры.', sec:'p4', aliases:['периметр','периметра','периметре'] },
+ { term:'площадь', def:'Мера части плоскости, занятой фигурой.', sec:'p4', aliases:['площадь','площади'] },
+ { term:'угол', def:'Геометрическая фигура из двух лучей с общим началом (вершиной).', sec:'p6', aliases:['угол','угла','углу','углы','углов'] },
+ { term:'острый угол', def:'Угол от 0° до 90° (не включая 90°).', sec:'p6', aliases:['острый угол','острый'] },
+ { term:'прямой угол', def:'Угол ровно 90°.', sec:'p6', aliases:['прямой угол','прямой'] },
+ { term:'тупой угол', def:'Угол от 90° до 180° (не включая границы).', sec:'p6', aliases:['тупой угол','тупой'] },
+ { term:'развёрнутый угол', def:'Угол ровно 180°. Его стороны образуют прямую.', sec:'p6', aliases:['развёрнутый угол','развёрнутый'] }
+];
+var BUILDERS = { p1:buildP1, p2:buildP2, p3:buildP3, p4:buildP4, p5:buildP5, p6:buildP6, p7:buildP7, p8:buildP8, p9:buildP9, final:buildFinal };
+Object.assign(window.M6, { sidebars:SIDEBARS, tips:TIPS, glossary:GLOSSARY, builders:BUILDERS });