Составить подпрограмму решения квадратного уравнения - Turbo Pascal (33562)

Формулировка задачи:

Помогите пожалуйста. Составить подпрограмму решения квадратного уравнения ах2 +bx +c = 0.


textual

Код к задаче: «Составить подпрограмму решения квадратного уравнения - Turbo Pascal (33562)»

var
  a, b, c, ds, x1, x2 : real;
 
procedure Solve(var n1, n2 : real);
begin
  n1 := (-b + sqrt(ds)) / (2 * a);
  n2 := (-b - sqrt(ds)) / (2 * a);
end;
 
function D(n1, n2, n3 : real) : real;
begin  
  D := sqr(n2) - 4 * n1 * n3;
end;
 
begin
  repeat
    writeln('введите коэффициенты квадратного уравнения');
    readln(a, b, c);
    if (a = 0) and (b = 0) then
      if (c = 0) then 
      begin
        writeln('уравнение имеет бесконечное количество корней');
        exit      
      end
      else
      begin
        writeln('данное выражение - неверное тождество');
        exit
      end;
  until (a <> 0) or (b <> 0); {проверяем чтобы вообще были неизвестные}
  ds := D(a, b, c);
  if a = 0 then writeln('уравнение не является квадратным, его корень : ', (-c / b):6:2) else
    if ds < 0 then writeln('вещественных корней нет') else
    begin
       Solve(x1, x2);
       if ds = 0 then writeln('корни квадратного уравниеия: ', x1:6:2, ' кратности 2') else
        writeln('корни квадратного уравниеия: ', x1:6:2, x2:6:2)
    end;
  readln
end.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

7   голосов, оценка 3.714 из 5

Источник
Похожие ответы