Покажи код, может begin и end забыл
После then поставь begin и end перед else
Чаще всего это означает, что ты между then и else умудрился воткнуть несколько операторов. Тогда как по правилам Pascal там может быть только один оператор (но это может быть составной оператор, содержащий внутри себя другие операторы).
Например, поставил точку с запятой, которая в Pascal является РАЗДЕЛИТЕЛЕМ операторов и потому создаёт дополнительный пустой оператор при использовании перед else и end.
1. Исправьте условие
if D>0 then x1:= (-b+sqrtD)/(2*a) ;
x2:= (-b-sqrtD)/(2*a) ;
else (‘Корней нет’) ;
на
if D>0 then begin
x1:= (-b+sqrt(D))/(2*a);
x2:= (-b-sqrt(D))/(2*a);
end
else writeln (‘Корней нет’) ;
if D=0 then x:= (-b+sqrtD)/(2*a) ;
writeln (‘x1=;x1) ;
writeln (‘x2=;x2) ;
на
if D=0 then begin
x:= (-b+sqrt(D))/(2*a) ;
writeln(‘x = ‘, x);
end;
writeln (‘x1=’,x1) ;
writeln (‘x2=’,x2) ;