Решение квадратного уравнения
В следующей программе (листинг 2.43) показывается решение квадратного уравнения. Напомним, что квадратным уравнением называется уравнение вида
ax
2
+bx+cx=0.
Корни этого уравнения равны
x1=(-b+√D)/2a, x2=(-b-√D)/2a,
где D — дискриминант, определяемый следующим образом:
D=b
2
-4ac.
В текстовые поля a, b и c необходимо ввести соответствующие коэффициенты квадратного уравнения.
Листинг 2.43. Решение квадратного уравнения
Решение квадратного уравнения
//Эта функция высчитывает корни уравнения
//Ее аргумент — объект формы.
function Calculate(FormObj){
//Умножаем значения полей на единицу, чтобы преобразовать
//их в числа
var a=FormObj.a.value*1;
var b=FormObj.b.value*1;
var c=FormObj.c.value*1;
//Проверяем поля a, b и c
//Если там нет чисел, то inNaN возвращает true
if (isNaN(a)){
alert("a должно быть числом");
return;
}
if (isNaN(b)){
alert("b должно быть числом");
return;
}
if (isNaN(c)){
alert("c должно быть числом");
return;
}
//Проверяем, квадратное ли это уравнение
//В квадратном уравнении a не должно быть нулем
//А если и a и b равны нулю, то это вообще не уравнение.
if (a==0){
if (b==0){
//Это вообще не уравнение и не имеет смысла при c<>0
FormObj.x1.value="Любой";
FormObj.x2.value="Любой";
FormObj.D.value="";
return;
}
//Это обычное линейное уравнение, у которого один корень
FormObj.x1.value=c/b;
FormObj.x2.value=c/b;
FormObj.D.value="";
return;
}
//Находим дискриминант
var Dis=b*b-4*a*c;
FormObj.D.value=Dis;
if (Dis<0){
alert("Дискриминант отрицательный");
FormObj.x1.value="Нет действительных корней";
FormObj.x2.value="Нет действительных корней";
return;
}
else{
//Находим квадратный корень дискриминанта
Dis=Math.sqrt(Dis);
//Находим корни уравнения
FormObj.x1.value=(-b+Dis)/(2*a);
FormObj.x2.value=(-b-Dis)/(2*a);
}
}
a:
b:
c:
D:
x1: