Продвинутое решение квадратного уравнения
Если от вас требуют написать программу, которая решает квадратное и обрабатывает возможные ошибки, то вы найдете здесь такую программу. Мы предполагаем, что вы уже кое в чем разбираетесь, поэтому ничего не комментируем.
uses printer; var a,b,c,d,x1,x2:real; begin writeln; writeln ('Введите коэффициенты a,b,c:'); {$I-} read (a,b,c); {$I+} if IoResult<>0 then begin {Возникла ошибка!} writeln ('Вы не ввели 3 числа, ', 'это что-то другое!'); reset (input); {очищаем стандартный поток ввода перед ожиданием нажатия Enter} readln; halt; {а этим оператором можно аварийно завершить программу} end; d:=sqr(b)-4*a*c; if d<0 then begin writeln ('Ошибка - дискриминант<0'); reset (input); readln; halt; end; x1:=(-b+sqrt(d))/(2*a); x2:=(-b-sqrt(d))/(2*a); {$I-} writeln (lst,'x1=',x1:8:2,' x2=',x2:8:2); {$I+} if IoResult<>0 then writeln ('Не удалось напечатать') else writeln ('Результаты напечатаны'); reset (input); readln; halt; end.