nickkolok / chas-ege

Свободный тренажёр к ЕГЭ
GNU General Public License v3.0
10 stars 24 forks source link

B11. Вычисления и преобразования: Найдите tg^2/ctg^2, если kcos^2+tsin^2=r #787

Open SugarHedgehog opened 2 years ago

SugarHedgehog commented 2 years ago
(function() {
    'use strict';
    NAinfo.requireApiVersion(0, 0);
    let k, t, answ, r;
    do {
                r = sluchch(2, 20);
        k = sluchch(2, 20).pm();
        t = sluchch(2, 20).pm();
        answ = (r - t) / (k - r);
    } while (!(answ * 1000).isZ() || answ <= 0);
    let func1 = [`\\tg`, `\\ctg`].iz();
    let func2 = [`\\sin`, `\\cos`];
    if (func1 == `\\ctg`) {
        func2.reverse();
    }
    let koef1 = '', koef2 = '';
    if (k - r == -1)
        koef1 = `-`;
    else
    if (k - r != 1)
        koef1 = k - r;
    if (r - t == -1)
        koef2 = `-`;
    else
    if (r - t != 1)
        koef2 = r - t;

    NAtask.setTask({
        text: `Найдите $${func1}^2\\alpha $, если $${k}{${func2[0]}^{2}}\\alpha ${`+`.esli(t>0)}${t}{${func2[1]}^{2}}\\alpha =${r}$.`,
        answers: answ,
        analys: `$${k}{${func2[0]}^{2}}\\alpha ${` + `.esli(t>0)}${t}{${func2[1]}^{2}}\\alpha =${r}\\Leftrightarrow$` +
            `$${k}{${func2[0]}^{2}}\\alpha ${` +
            `.esli(t>0)}${t}{${func2[1]}^{2}}\\alpha =${r}({${func2[0]}^{2}}\\alpha + ${func2[1]}^{2}\\alpha)\\Leftrightarrow$` +
            `$${koef1}${func2[0]}^{2}\\alpha =${koef2}${func2[1]}^{2}\\alpha\\Leftrightarrow$<br>` +
            `$\\Leftrightarrow${koef1}${func2[0]}^{2}\\alpha =${koef2}${func2[1]}^{2}\\alpha\\Leftrightarrow$` +
            `$\\frac{${func2[0]}^{2}\\alpha}{${func2[1]}^{2}\\alpha}=${func1}^2\\alpha=${answ}$`,
    });

})();
// 26787
nickkolok commented 2 years ago

func2 = func2.reverse() Или даже без присваивания.

А ещё попробуйте нечто вроде 'y-1x+-2z'.plusminus()

Aisse-258 commented 2 years ago

r тоже лучше генерировать в цикле, потому что похоже что условие в нём может быть выполнено не для всех r, генерация иногда вешается