Кто разбирается в паскале? отредактируйте . к слову это квадратное уравнение вида ax^{2}+bx+c program qwur; var a, b, c, d, x, x1, x2: real; begin write('введите коэффициэнты'); readln(a, b, c ); a : = 0; if (b = 0) and (c = 0) then begin writeln('ответ любое число'); end else; if (b = 0) and (c < > 0) then begin writeln('нет корней'); end else; if (b < > 0) and (b * x + c = 0) then begin x : = (-c) / b; writeln('x=', x); end; b : = 0; if (a * c > 0) then begin writeln('нет решений'); end else; if (a * c < = 0) then begin x1 : = / a)); x2 : = sqrt(c / a); writeln('x1=', x1, 'x2=', x2); end; c : = 0; if (a < > 0) and (b < > 0) then begin x : = (-b) / a; writeln('x=', x) end; d : = b * b - 4 * a * c; if (d > 0) then begin x1 : = (-b + sqrt(d)) / 2 * a; x2 : = (-b - sqrt(d)) / 2 * a; writeln('x1 = ', x1, ', x2 = ', x2) end else; if (d=0) then begin x1 : = -(b / 2 * a); writeln('x = ', x1) end else; if (d < 0)then begin writeln('нет решений! '); end end.
Приложил картинкой, если запутаешься. Если что-то не так работает, я поправлю.
//Pascal
var
a, b, c, d, x1, x2: real;
begin
write('Введите a = '); readln(a);
write('Введите b = '); readln(b);
write('Введите c = '); readln(c);
if ((a = 0) and (b = 0) and (c = 0)) then
writeln('X любое')
else
if a <> 0 then
begin
d := sqr(b) - 4 * a * c;
if (d > 0) then
begin
x1 := (-b+sqrt(d))/(2*a);
x2 := (-b-sqrt(d))/(2*a);
writeln('x1 = ', x1);
writeln('x2 = ', x2);
end
else
if d = 0 then
begin
x1:=-b/(2*a);
x2:=x1;
writeln('x1 = ', x1);
//writeln('x2 = ', x2);
end
else
if d < 0 then
writeln('Корней нет.');
end
else
if (a = 0) and (b = 0) then
writeln('Решений нет.')
else
if (a = 0) then
begin
x1 := (-c)/b;
writeln('x = ', x1);
end;
end.