diff --git a/frontend/textbooks/geometry_8_ch4.html b/frontend/textbooks/geometry_8_ch4.html index 0d0b1c4..3e4e655 100644 --- a/frontend/textbooks/geometry_8_ch4.html +++ b/frontend/textbooks/geometry_8_ch4.html @@ -4790,8 +4790,8 @@ function buildP12(){ - - + + @@ -4840,8 +4840,8 @@ function buildP12(){ - - + + @@ -6494,8 +6494,8 @@ function buildP16(){
ИНТЕРАКТИВ 1
PT² = PA · PB (живая демонстрация)
Меняй положение секущей слайдером. PT² всегда равно PA·PB.
-
@@ -6518,14 +6518,39 @@ function buildP16(){ html+=`
ИНТЕРАКТИВ 3
Калькулятор: PT² = PA · PB
Выбери что искать: PT, PA или PB.
-
- - - +
+ + + + + + + + + + + + T + A + B + P + O + PT + PA + PB + PT² = PA · PB + +
+
+ + + +
+
+ + +
-
- -
`; /* ИНТЕРАКТИВ 4 — тренажёр */ @@ -6715,7 +6740,7 @@ function buildP16(){ const out=document.getElementById('p16-calc-out'); const modes={ pt:{label:'Найти PT',fields:[['PA','p16-cpa','4'],['PB','p16-cpb','9']], - calc:()=>{const pa=parseFloat(document.getElementById('p16-cpa').value),pb=parseFloat(document.getElementById('p16-cpb').value);if(isNaN(pa)||isNaN(pb)||pa<=0||pb<=0||pa>=pb)return{err:'PA и PB > 0, PA < PB'};const pt=Math.sqrt(pa*pb);return{ok:'PT = \\u221a(PA\\u00b7PB) = \\u221a('+pa+'\\u00b7'+pb+') = '+pt.toFixed(4)};}}, + calc:()=>{const pa=parseFloat(document.getElementById('p16-cpa').value),pb=parseFloat(document.getElementById('p16-cpb').value);if(isNaN(pa)||isNaN(pb)||pa<=0||pb<=0||pa>=pb)return{err:'PA и PB > 0, PA < PB'};const pt=Math.sqrt(pa*pb);return{ok:'PT = √(PA·PB) = √('+pa+'·'+pb+') = '+pt.toFixed(4)};}}, pa:{label:'Найти PA',fields:[['PT','p16-cpt2','6'],['PB','p16-cpb2','9']], calc:()=>{const pt=parseFloat(document.getElementById('p16-cpt2').value),pb=parseFloat(document.getElementById('p16-cpb2').value);if(isNaN(pt)||isNaN(pb)||pt<=0||pb<=0||pt*pt>=pb*pb)return{err:'PT и PB > 0, PT < PB'};const pa=pt*pt/pb;return{ok:'PA = PT²/PB = '+pt+'²/'+pb+' = '+pa.toFixed(4)};}}, pb:{label:'Найти PB',fields:[['PT','p16-cpt3','6'],['PA','p16-cpa3','4']],