opex
21.10.2003, 18:16
трабола в том что препод из юнивера задал мне такую задачу
вычислять корни квадратного уровнения(ax^2+bx+c = 0 )
в обшем задача проста
var a = 1, b = -8, c = 15;
if (a == 0) {
trace("ошибка ввода даных a не должно равнятся нулю");
}
var x1 = 0, x2 = 0, x = 0;
d = (b*b)-4*a*c;
trace("D = "+D);
if (d>0) {
x1 = (-b-Math.sqrt(d))/(2*a);
x2 = (-b+Math.sqrt(d))/(2*a);
trace("x1 = "+x1+","+"x2 = "+x2);
}
if (d == 0) {
x = -b/(2*a);
trace("x = "+x);
}
if (d<0) {
trace("нет корней");
}
Все правельно ,но он сказал что когда дискрименант<0 тоже есть корни!!!!!
Из курса алгебры, помоему 7 || 8 клсса, я знаю что корня из
отрецательного числа быть не может. Я конешно его опроверг. Препод ответил есть это будут комплексные числа.
Кароче поюзал я в инете эти комплексные числа толком ни хера не догнал.
Дак вот как найти корень квадратный из отрицательного числа, подкинте алгоритм плиз.
Или толком обясните что такое комплексные числа.
вычислять корни квадратного уровнения(ax^2+bx+c = 0 )
в обшем задача проста
var a = 1, b = -8, c = 15;
if (a == 0) {
trace("ошибка ввода даных a не должно равнятся нулю");
}
var x1 = 0, x2 = 0, x = 0;
d = (b*b)-4*a*c;
trace("D = "+D);
if (d>0) {
x1 = (-b-Math.sqrt(d))/(2*a);
x2 = (-b+Math.sqrt(d))/(2*a);
trace("x1 = "+x1+","+"x2 = "+x2);
}
if (d == 0) {
x = -b/(2*a);
trace("x = "+x);
}
if (d<0) {
trace("нет корней");
}
Все правельно ,но он сказал что когда дискрименант<0 тоже есть корни!!!!!
Из курса алгебры, помоему 7 || 8 клсса, я знаю что корня из
отрецательного числа быть не может. Я конешно его опроверг. Препод ответил есть это будут комплексные числа.
Кароче поюзал я в инете эти комплексные числа толком ни хера не догнал.
Дак вот как найти корень квадратный из отрицательного числа, подкинте алгоритм плиз.
Или толком обясните что такое комплексные числа.