Есть ответ 👍

Разработать программу в delphi для вычисления квадратных уравнений.

188
456
Посмотреть ответы 3

Ответы на вопрос:


Procedure sqroot(a, b, c: real; var x1, x2: real; var nroots: integer); {корни квадратного уравнения с коэффициентами a,b,c.   nroots - количество найденных действительных корней   n=0: корни мнимые, х1 - вещественная часть, х2 - мнимая;   n=1: корни действительные и равные, х1=х2;   n=2: корни действительные и разные, х1, х2} var   d: real; begin   d : = sqr(b) - 4 * a * c;   if d < 0 then   begin       nroots : = 0;       x1 : = -b / (2 * a);       x2 : = sqrt(-d) / (2 * a);   end   else if d = 0 then   begin       nroots : = 1;       x1 : = -b / (2 * a);       x2 : = x1   end   else   begin       nroots : = 2;       d : = sqrt(d);       x1 : = (-b - d) / (2 * a);       x2 : = (-b + d) / (2 * a)   end end; {тестирование} var   a2, a1, a0, x1, x2: real;   n: integer; begin   repeat       write('введите коэффициенты уравнения: ');       readln(a2, a1, a0);       if abs(a2) + abs(a1) > 0 then       begin           sqroot(a2, a1, a0, x1, x2, n);           case n of               0: writeln('корни мнимые: ', x1: 0: 6, '-i*', x2: 0: 6, ', ',x1: 0: 6, '+i*', x2: 0: 6);               1: writeln('корни действительные и равные: ', x1: 0: 6);               2: writeln('корни действительные и разные: ', x1: 0: 6, ', ', x2: 0: 6)           end       end   until abs(a2) + abs(a1) = 0 end. тестовое решение: введите коэффициенты уравнения: 3 -2.5 1 корни мнимые: 0.416667-i*0.399653, 0.416667+i*0.399653 введите коэффициенты уравнения: -3 5 2 корни действительные и разные: 2.000000, -0.333333 введите коэффициенты уравнения: 4 -6 2.25 корни действительные и равные: 0.750000 введите коэффициенты уравнения: 0 0 0
marches
4,5(87 оценок)

Как-то так procedure sqroot(a,b,c: real; var x1,x2: real; var ok: boolean); { a,b,c – коэффициенты уравнения x1,x2 – корни уравнения ok = true – решение есть ok = false – решения нет } var d: real; // дискриминант begin d: = sqr(b) -4*a*c; if d < 0 then ok: = false // уравнение не имеет решения else begin ok: = true; x1: = (-b + sqrt(d)) / (2*a); x2: = (b + sqrt(d)) / (2*a); end; end;

abs(-8,5)=8,5

13div3=4

sqrt(9)=3

Объяснение:

abs - модуль

div - результат целого деления

sqrt - корень, результат умножения числа самого на себя

Популярно: Информатика