Ребят, кто разбирается в паскале? отредактируйте пожалуста. К слову это квадратное...

0 голосов
22 просмотров

Ребят, кто разбирается в паскале? отредактируйте пожалуста. К слову это квадратное уравнение вида 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 <br> begin
x1 := sqrt(-(c / 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.


Информатика (40 баллов) | 22 просмотров
0

Да вроде все норм

Дан 1 ответ
0 голосов

Твой код не проверял. Недавно кому-то делал на Delphi. Переделал на Pascal. 

Приложил картинкой, если запутаешься. Если что-то не так работает, я поправлю.

//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.


image
(9.4k баллов)