Процедура вычисления корней квадратного уравнения

Задача

Написать процедуру, вычисляющую корни квадратного уравнения

Решение

 

Представленная ниже программа с процедурой вычисления корней квадратного уравнения не возвращает в основную программу ничего (просто выводит результат на экран). Однако можно написать такую процедуру, которая будет использовать глобальные переменные x1 и x2. В результате в основной ветке программы можно будет использовать полученные корни квадратного уравнения.

Программа на языке Паскаль: 

 

var
    a, b, c: real;
 
procedure sq (a,b,c: real);
    var d, x1, x2: real;
    begin
        d := b * b - 4 * a * c;
        if d >= 0 then begin
            x1 := (-b + sqrt (d)) / (2 * a);
            x2 := (-b - sqrt (d)) / (2 * a);
            if x1 = x2 then
                writeln ('x1 = ', x1:6:2)
            else
                writeln ('x1 = ', x1:6:2, '; x2 = ', x2:6:2)
        end
        else
            writeln ('Корней нет!')
    end;
 
begin
 
    write ('a = '); readln (a);
    write ('b = '); readln (b);
    write ('c = '); readln (c);
 
    writeln (a:6:2,'x*x + ',b:6:2,'x + ',c:6:2,' = 0');
 
    sq (a, b, c);
 
readln
end.

 

Тема

Процедуры, функции, рекурсии

Уровень

Комбинированные задачи

Добавить комментарий