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

Алгоритм решения задачи: 

Представленная ниже программа с процедурой вычисления корней квадратного уравнения не возвращает в основную программу ничего (просто выводит результат на экран). Однако можно написать такую процедуру, которая будет использовать глобальные переменные 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.

Комментарии

Корни

А как сделать чтобы корни можно было использовать в основной программе?

Например, объявить x1 и x2 в

Например, объявить x1 и x2 в основной программе, а не в процедуре.

решить задачу...

Program   kvurav;
Var a,b,c,d,x1,x2: real;
Begin
 Write(‘a=);  Readln(a);
 Write(‘b=);  Readln(b);
 Write(‘c=);  Readln(c);
  If a=0 then Writeln (‘Неверный коэффициент’) else 
            begin 
                    d:=b*b-4*a*c;
                     If d<0 then writeln(‘Kорней нет’) else 
                               begin
                                       x1:=(-b+sqrt(d))/2/a;
                                       x2:= (-b-sqrt(d))/2/a;
                                         writeln(‘x1=,x1,’         x2=,x2);
                                  end;
           end;
End.