• ребят, кто разбирается в паскале? отредактируйте пожалуста. К слову это квадратное уравнение вида 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 := 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.

Ответы 1

  • Твой код не проверял. Недавно кому-то делал на Delphi. Переделал на Pascal.  Приложил картинкой, если запутаешься. Если что-то не так работает, я поправлю.//Pascalvar  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.
    answer img
    • Автор:

      moses
    • 6 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years