| Номер теста
| Проверяемый случай
| Коэффициенты
| Результаты
|
| a
| b
| c
|
|
| d >0
|
|
| -2
| x1 = 1, x2 = - 2
|
|
| d=0
|
|
|
| Корни равны: x1 = - 1, x2 = - 1
|
|
| d < 0
|
|
|
| Действительных корней нет
|
|
| a=0, b=0, c=0
|
|
|
| Все коэффициенты равны нулю. х — любое число.
|
|
| a=0, b=0, c<>0
|
|
|
| Неправильное уравнение
|
|
| a=0, b<>0
|
|
|
| Линейное уравнение. Один корень: x = - 0,5
|
|
| a <> 0, b <> 0, с = 0
|
|
|
| x1 = 0, x2 = - 0,5
|
Демонстрация
Начало формы
Конец формы
Школьный АЯ (упрощенный алгоритм)
Алг Квур (арг вещ а, b, c, рез вещ x1, x2, рез лит t)
дано a <> 0
Нач вещ d
d := b**2-4*a*c | d - дискриминант квадратного уравнения
если d<0
то t := "Действительных корней нет"
иначе если d=0
то t := "Корни равны"; x1 := -b/(2*a); x2 := x1
иначе t := "Два корня"
x1 := (-b + sqrt(d)) / (2*a)
x2 := (-b - sqrt(d)) / (2*a)
Все
Все
Кон
Turbo Pascal
Program QuadraticEquation;
Uses Crt; { подключение библиотеки Crt }
Var a, b, c : Real; {a, b, c - коэффициенты уравнения}
Discr : Real;
x1, x2 : Real; {x1, x2 - корни }
Test, NTest : Integer; {Ntest - количество тестов }
BEGIN
ClrScr;
Write('Введите количество тестов : ');
ReadLn(NTest);
For Test := 1 to NTest do {цикл по всем тестам задачи }
Begin
Write('Тест ', Test, '. Введите коэффициенты a, b, c : ');
ReadLn(a, b, c);
If (a=0) and (b=0) and (c=0)
then begin Write('Все коэффициенты равны нулю.');
WriteLn('x - любое число ')
End
Else
If (a=0) and (b<>0)
then WriteLn('Линейное уравнение. Oдин корень: x =', (-c/b):6:2)
Else
If (a=0) and (b=0) and (c<>0)
Then WriteLn('Неправильное уравнение.')
Else
Begin
Discr := b*b - 4*a*c;
If Discr > 0