Решать задачи приходится не только на уроке. Распланировать карманные деньги, прикинуть, хватит ли времени дойти до школы, разделить пиццу поровну — всё это задачи. Хороший «решатель» сначала понимает, чего от него хотят, и только потом считает.
Любую задачу удобно решать по плану из четырёх шагов:
'
+ +''
+ +'
Понять условие. Что дано? Что нужно найти? Сделать рисунок или краткую запись.
'
+ +'
Составить план. Какие действия и в каком порядке приведут к ответу?
'
+ +'
Выполнить план. Аккуратно сделать вычисления.
'
+ +'
Проверить. Подходит ли ответ по смыслу? Сошлось ли?
'
+ +'');
+ h+=makeCard('example','Разбор по шагам','1.2',
+ '
Задача: в двух коробках $40$ карандашей. В первой на $6$ больше, чем во второй. Сколько карандашей в каждой коробке?
'
+ +''
+ +'
Понять. Дано: всего $40$, разница $6$. Найти: сколько в каждой коробке.
'
+ +'
План. Уберём «лишние» $6$ из суммы, разделим остаток поровну, потом вернём $6$ в первую.
'
+ +'
Решение. $(40-6):2=17$ — во второй; $17+6=23$ — в первой.
'
+ +'
Проверка. $17+23=40$ и $23-17=6$. Верно!
'
+ +'');
+ h+=makeCard('theory','А знаешь ли ты?','1.3',
+ '
Математик Дьёрдь Пойа в 1945 году написал знаменитую книгу «Как решать задачу». Именно он описал эти четыре шага. Его главный совет: «Если не получается решить задачу — реши сначала более простую похожую задачу».
');
+ h+='
Интерактив 1
На каком шаге ученик?
'
+ +'
Прочитай фразу ученика и определи, какому из четырёх шагов она соответствует.
'
+ +'
Вопрос 1 / 5Очки: 0 / 5
'
+ +''
+ +''
+ +'
';
+ h+='
Интерактив 2
Реши задачу
'
+ +'
Реши задачу по плану и введи ответ числом (без единиц).
'
+ +'
Задача 1 / 6Очки: 0 / 6
'
+ +''
+ +''
+ +'
';
+ h+=secNav(null,'p2')+readBtn('p1');
+ box.innerHTML=h; renderMath(box);
+
+ (function(){
+ var Q=[
+ {t:'«Сделаю краткую запись: дано $40$, разница $6$.»', s:1},
+ {t:'«Сначала вычту $6$, потом разделю остаток на $2$.»', s:2},
+ {t:'«$40-6=34$, затем $34:2=17$.»', s:3},
+ {t:'«Проверю: $17+23=40$ — сходится.»', s:4},
+ {t:'«Что именно нужно найти в задаче?»', s:1},
+ {t:'«Запишу ответ и подумаю, разумен ли он.»', s:4},
+ {t:'«Каким действием это решается?»', s:2},
+ {t:'«Аккуратно посчитаю столбиком.»', s:3}
+ ];
+ var order=[],i=0,score=0,cur=null;
+ function reorder(){ order=Q.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-q').innerHTML='Готово! Результат: '+score+' / 5'; if(score>=4){addXp(15,'p1-iv1');bumpProgress('p1',30);}else if(score>=2){addXp(8,'p1-iv1');bumpProgress('p1',16);} return; }
+ cur=Q[order[i]]; document.getElementById('p1-i').textContent=i+1;
+ document.getElementById('p1-q').innerHTML=cur.t; renderMath(document.getElementById('p1-q'));
+ document.getElementById('p1-fb').style.display='none'; }
+ function ans(s){ if(i>=5)return; var names=['','Понять условие','Составить план','Выполнить','Проверить']; var fb=document.getElementById('p1-fb');
+ if(s===cur.s){ score++; feedback(fb,true,'✓ Верно — это шаг «'+names[cur.s]+'».'); } else feedback(fb,false,'✗ Нет. Это шаг «'+names[cur.s]+'».');
+ document.getElementById('p1-s').textContent=score; i++; setTimeout(show,1100); }
+ document.querySelectorAll('#p1-iv1 [data-step]').forEach(function(b){ b.addEventListener('click',function(){ ans(+b.getAttribute('data-step')); }); });
+ show();
+ })();
+
+ (function(){
+ var PROB=[
+ {q:'В двух корзинах $30$ яблок. В первой на $4$ больше, чем во второй. Сколько яблок во второй?',a:13},
+ {q:'Книга стоит $7$ р., тетрадь — на $5$ р. дешевле. Сколько стоит тетрадь?',a:2},
+ {q:'Купили $3$ ручки по $2$ р. Сколько заплатили?',a:6},
+ {q:'У Маши $24$ наклейки, она отдала треть. Сколько наклеек она отдала?',a:8},
+ {q:'В классе $28$ учеников, девочек $15$. Сколько мальчиков?',a:13},
+ {q:'За $5$ дней прочитали $45$ страниц поровну. Сколько страниц в день?',a:9},
+ {q:'Ленту $200$ см разрезали на части по $25$ см. Сколько получилось частей?',a:8},
+ {q:'Было $50$ р., потратили $18$ р. и $12$ р. Сколько осталось?',a:20}
+ ];
+ 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('p1-pq').innerHTML='Готово! Результат: '+score+' / 6'; if(score>=5){addXp(15,'p1-iv2');bumpProgress('p1',30);}else if(score>=3){addXp(8,'p1-iv2');bumpProgress('p1',16);} return; }
+ cur=PROB[order[i]]; document.getElementById('p1-pi').textContent=i+1;
+ document.getElementById('p1-pq').innerHTML=cur.q; renderMath(document.getElementById('p1-pq'));
+ document.getElementById('p1-pa').value=''; document.getElementById('p1-pfb').style.display='none'; }
+ function go(){ if(i>=6)return; var fb=document.getElementById('p1-pfb'), v=parseFloat(document.getElementById('p1-pa').value.replace(',','.').trim());
+ 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-ps').textContent=score; i++; setTimeout(show,1200); }
+ document.getElementById('p1-pgo').addEventListener('click',go);
+ document.getElementById('p1-pa').addEventListener('keydown',function(e){ if(e.key==='Enter')go(); });
+ show();
+ })();
+}
+
+/* ===================== § 2. ЧТЕНИЕ И ЗАПИСЬ. РАЗРЯДЫ ===================== */
+function buildP2(){
+ var box=document.getElementById('p2-body'); var h='';
+ h+=makeCard('oral','Где это в жизни','2.0',
+ '
Большие числа окружают нас: на Земле живёт около $8\\,000\\,000\\,000$ человек, до Луны примерно $384\\,000$ км, а у современного смартфона памяти $128\\,000\\,000\\,000$ байт. Чтобы не запутаться в нулях, числа разбивают на классы по три цифры.
');
+ h+=makeCard('theory','Натуральные числа и нуль','2.1',
+ '
Натуральные числа — это числа, которыми считают предметы: $1, 2, 3, 4, \\dots$ Их ряд бесконечен: какое бы число ни взяли, всегда есть следующее.
'
+ +'
Число нуль $(0)$ натуральным не считают, но без него не записать, например, число $108$. Множество натуральных чисел обозначают буквой $\\mathbb{N}$.
');
+ h+=makeCard('rule','Классы и разряды','2.2',
+ '
Запись числа читают справа налево по разрядам и группируют по три — в классы:
'
+ +'
Миллионы
Тысячи
Единицы
'
+ +'
сот
дес
ед
сот
дес
ед
сот
дес
ед
'
+ +'
0
1
2
3
4
5
6
7
8
'
+ +'
Это число $12\\,345\\,678$ — «двенадцать миллионов триста сорок пять тысяч шестьсот семьдесят восемь».
$5\\,204$ — пять тысяч двести четыре. $70\\,030$ — семьдесят тысяч тридцать. $300\\,000$ — триста тысяч.
'
+ +'
Нуль в разряде означает, что этого разряда «нет»: в числе $70\\,030$ нет ни сотен, ни единиц тысяч, ни единиц.
');
+ h+=makeCard('example','Разбор по шагам','2.4',
+ '
Запишем цифрами число «двести три тысячи сорок».
'
+ +''
+ +'
Находим классы: «двести три тысячи» — класс тысяч $=203$; «сорок» — класс единиц $=40$.
'
+ +'
Каждый класс — ровно $3$ цифры: тысячи $\\to 203$, единицы $\\to 040$.
'
+ +'
Соединяем: $203\\,040$.
'
+ +'
Проверка: читаем обратно — «двести три тысячи сорок». Верно!
'
+ +'');
+ h+=makeCard('theory','А знаешь ли ты?','2.5',
+ '
Число $10^{100}$ (единица со ста нулями) называется гугол. Это слово придумал девятилетний племянник математика Эдварда Каснера. От него же произошло название поисковика Google. А гуголов в одном гуголплексе — гугол!
');
+ h+='
Интерактив 1
Разрядная таблица
'
+ +'
Введи натуральное число (до 9 цифр) — оно разложится по классам и разрядам.
'
+ +''
+ +'
';
+ h+='
Интерактив 2
Какая цифра в разряде?
'
+ +'
Назови цифру в указанном разряде данного числа. Введи одну цифру (0–9).
'
+ +'
Вопрос 1 / 6Очки: 0 / 6
'
+ +''
+ +''
+ +'
';
+ h+=secNav('p1','p3')+readBtn('p2');
+ box.innerHTML=h; renderMath(box);
+
+ (function(){
+ var CLS=[['Миллионы','#4f46e5'],['Тысячи','#0d9488'],['Единицы','#e11d48']];
+ var LAB=['сот','дес','ед','сот','дес','ед','сот','дес','ед'];
+ function render(){
+ var raw=(document.getElementById('p2-pv-in').value||'').replace(/\D/g,'');
+ if(!raw)raw='0'; if(raw.length>9)raw=raw.slice(-9);
+ var num=parseInt(raw,10); var s=raw.padStart(9,'0');
+ var firstSig=s.search(/[1-9]/); if(firstSig<0)firstSig=8;
+ var th='
';
+ for(var c=0;c<3;c++) th+='
'+CLS[c][0]+'
';
+ th+='
';
+ for(var k=0;k<9;k++) th+='
'+LAB[k]+'
';
+ th+='
';
+ for(var d=0;d<9;d++){ var grp=Math.floor(d/3),dim=d'+s[d]+''; }
+ th+='
';
+ th+='
$'+_grp(num)+'$
';
+ var out=document.getElementById('p2-pv-out'); out.innerHTML=th; renderMath(out);
+ }
+ document.getElementById('p2-pv-go').addEventListener('click',render);
+ document.getElementById('p2-pv-in').addEventListener('keydown',function(e){ if(e.key==='Enter')render(); });
+ render();
+ })();
+
+ (function(){
+ var PL=[['единиц',0],['десятков',1],['сотен',2],['единиц тысяч',3],['десятков тысяч',4],['сотен тысяч',5]];
+ var i=0,score=0,cur=null;
+ function gen(){ var n=_ri(100000,999999), s=String(n), pl=_pick(PL); cur={n:n, s:s, place:pl[0], digit:+s[s.length-1-pl[1]]}; }
+ function show(){ if(i>=6){ document.getElementById('p2-qq').innerHTML='Готово! Результат: '+score+' / 6'; if(score>=5){addXp(15,'p2-iv2');bumpProgress('p2',30);}else if(score>=3){addXp(8,'p2-iv2');bumpProgress('p2',18);} return; }
+ gen(); document.getElementById('p2-qi').textContent=i+1;
+ document.getElementById('p2-qq').innerHTML='Число $'+_grp(cur.n)+'$. Какая цифра в разряде '+cur.place+'?'; renderMath(document.getElementById('p2-qq'));
+ document.getElementById('p2-qa').value=''; document.getElementById('p2-qfb').style.display='none'; }
+ function go(){ if(i>=6)return; var fb=document.getElementById('p2-qfb'), a=parseInt(document.getElementById('p2-qa').value,10);
+ if(isNaN(a)){ feedback(fb,false,'Введи одну цифру 0–9.'); return; }
+ if(a===cur.digit){ score++; feedback(fb,true,'✓ Верно! В разряде '+cur.place+' стоит '+cur.digit+'.'); } else feedback(fb,false,'✗ Нет. Правильный ответ: '+cur.digit+'.');
+ document.getElementById('p2-qs').textContent=score; i++; setTimeout(show,1100); }
+ document.getElementById('p2-qgo').addEventListener('click',go);
+ document.getElementById('p2-qa').addEventListener('keydown',function(e){ if(e.key==='Enter')go(); });
+ show();
+ })();
+}
+
+/* ===================== ФИНАЛ ГЛАВЫ ===================== */
+function buildFinal(){
+ var box=document.getElementById('final-body'); var h='';
+ h+=makeCard('theory','Финал главы 1','★',
+ '
Пять боссов проверят владение натуральными числами: разряды, округление, действия и степень. Побей не меньше четырёх — и глава покорена!
');
+ h+='
Боссы
Сразись с главой 1
'
+ +'
'
+ +'
Босс 1 / 5Побеждено: 0 / 5
'
+ +''
+ +''
+ +''
+ +'
';
+ h+=secNav('p17',null)+readBtn('final','Завершить главу 1 (+10 XP)');
+ box.innerHTML=h; renderMath(box);
+
+ (function(){
+ var bosses=[
+ function(){ var n=_ri(100000,999999), s=String(n); return {name:'Страж Разрядов', q:'В числе $'+_grp(n)+'$ назови цифру в разряде тысяч.', ans:+s[s.length-4]}; },
+ function(){ var n=_ri(1200,9800); return {name:'Округлитель', q:'Округли $'+_grp(n)+'$ до сотен.', ans:Math.round(n/100)*100}; },
+ function(){ var a=_ri(2400,8600), b=_ri(1100,2300); return {name:'Сумматор', q:'Вычисли $'+_grp(a)+' + '+_grp(b)+'$.', ans:a+b}; },
+ function(){ var a=_ri(13,40), b=_ri(11,30); return {name:'Множитель', q:'Вычисли $'+a+' \\cdot '+b+'$.', ans:a*b}; },
+ function(){ var p=_pick([[2,5,32],[3,4,81],[5,3,125],[2,8,256],[4,3,64],[6,2,36]]); return {name:'Повелитель Степеней', q:'Вычисли $'+p[0]+'^{'+p[1]+'}$.', ans:p[2]}; }
+ ];
+ 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?'Победа! Глава 1 пройдена. ':'Бой окончен. ')+'Побеждено боссов: '+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:[
+ ['Шаг 1','понять условие: что дано, что найти'],
+ ['Шаг 2','составить план действий'],
+ ['Шаг 3','выполнить вычисления'],
+ ['Шаг 4','проверить ответ'] ]},
+ p2:{ title:'Шпаргалка § 2', rows:[
+ ['Натуральные','$1,2,3,\\dots$ — для счёта'],
+ ['Нуль','не натуральное, но нужно в записи'],
+ ['Класс','группа из 3 разрядов'],
+ ['Классы','единицы, тысячи, миллионы…'] ]},
+ final:{ title:'Финал главы 1', rows:[
+ ['5 боссов','разряды, округление, действия, степень'],
+ ['Победа','4 из 5 и больше'],
+ ['Награда','+40 XP и достижение «Глава 1 пройдена»'] ]}
+};
+var TIPS = [
+ { sec:'p1', html:'Не бросайся считать сразу. Сначала спроси себя: «что дано?» и «что нужно найти?» — половина дела готова.' },
+ { sec:'p2', html:'Разбивай длинное число на классы по три цифры справа: $12\\,345\\,678$. Так его легко прочитать.' },
+ { sec:'final', html:'Перед ударом прикинь ответ в уме. Для степени $a^n$ — это $a$, умноженное само на себя $n$ раз.' }
+];
+var GLOSSARY = [
+ { term:'натуральное число', def:'Число, которым считают предметы: $1,2,3,\\dots$ Нуль натуральным не считают.', sec:'p2', aliases:['натуральное число','натуральные числа','натуральных чисел','натурального числа'] },
+ { term:'разряд', def:'Место цифры в записи числа: единицы, десятки, сотни и т. д.', sec:'p2', aliases:['разряд','разряда','разряде','разряды','разрядов'] },
+ { term:'класс', def:'Группа из трёх соседних разрядов: единицы, тысячи, миллионы.', sec:'p2', aliases:['класс','класса','классе','классы','классов'] }
+];
+var BUILDERS = { p1:buildP1, p2:buildP2, final:buildFinal };
+Object.assign(window.M6, { sidebars:SIDEBARS, tips:TIPS, glossary:GLOSSARY, builders:BUILDERS });