Задать вопрос
15 марта, 23:14

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

+1
Ответы (2)
  1. 16 марта, 02:12
    0
    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
  2. 16 марта, 02:40
    0
    Как-то так

    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;
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Помогите разработать программу в delphi для вычисления квадратных уравнений. ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы