Данный код поможет с легкостью найти решение квадратного уравнения скрипт написан рукожопом за 15 минут и имеет кучу костылей и отработан на практичесских задачах с которыми легко справился. Весь код закомментирован, изменениям подлежат только три строки указывающие коэфициенты a,b,c. Алгоритм работает на решения квадратных уравнений через дискриминант и приводит полный лог действий в соответствии с письменным оформлением задачи. Также данный алгоритм можно использовать для решения квадратичной функции.
float a = 1; //Число стоящее перед квадратом.
float b = -12; //Число стоящее перед Х
float c = 36; //свободный коэфициент ( число без Х);
float D;
float X1, X2;
void setup() {
size(500, 150);
background(0, 25, 0);
stroke(255);
D=(b*b)-(4*a*c);
if(D > 0) {
X1=(-b-sqrt(D))/(2*a);
X2=(-b+sqrt(D))/(2*a);
text(a+"X²"+b+"X"+c+"=0", 0,10);
text("D=b²-4ac="+D, 0,20);
//X1
text("X1=", 0, 35);
text("="+X1, 180, 35);
text("=", 55, 35);
line(25, 30, 55, 30);
text("-b-^D",25, 28);
text("2a",25, 42);
line(65, 30, 180, 30);
text(-b+"-"+sqrt(D),65, 28);
text(2*a,65, 42);
//X2
text("X2=", 0, 65);
text("="+X2, 180, 65);
text("=", 55, 65);
line(25, 60, 55, 60);
text("-b+^D",25, 58);
text("2a",25, 72);
line(65, 60, 180, 60);
text(-b+"+"+sqrt(D),65, 58);
text(2*a,65, 72);
}
if(D == 0) {
X2=(-b+sqrt(D))/(2*a);
text(a+"X²"+b+"X"+c+"=0", 0,10);
text("D=b²-4ac="+D, 0,20);
//X1
text("X=", 0, 35);
text("="+X2, 180, 35);
text("=", 55, 35);
line(25, 30, 55, 30);
text("-b-^D",25, 28);
text("2a",25, 42);
line(65, 30, 180, 30);
text(-b+"-"+sqrt(D),65, 28);
text(2*a,65, 42);
}
if(D < 0) {
text("КОРНЕЙ НЕТ! ВСЕ ПРОДАЛИ!", 30, 30);
}
}
IDE "processing"
|