• помогите решить две задачи пожалуйста!
    1) Придумайте выражение, которое с помощью mod, div, сложения, вычитания и умножения (без циклов и тому подобного):
    Находит количество цифр, больших 6 в данном числе.
    2) Помогите написать программу решения неравенства ax2 + bx + c > 0.
    p.s. Пишу на Lazarus...
    Код(неправильно считает при а=0):
    var valueA,valueB,valueC,discriminant,valueX1,valueX2,valueX:real;
    begin
    writeln('Введите коэффициенты a,b,c(после ввода нажмите Enter):');
    readln(valueA,valueB,valueC);
    if valueA=0 then valueX:=valueB*valueX+valueC else // delete and customize
    discriminant:=valueB*valueB-4*valueA*valueC;
    writeln('Дискриминант равен: ',discriminant:1:0);
    if discriminant>0 then
    begin
    valueX1:=(-valueB+sqrt(discriminant))/(2*valueA);
    valueX2:=(-valueB-sqrt(discriminant))/(2*valueA);
    if valueX1>valueX2 then
    begin
    valueX:=valueX1;
    valueX1:=valueX2;
    valueX2:=valueX;
    writeln('Значение x1 и x2: ', valueX1,valueX2);
    end;
    end;
    if valueA>0 then
    begin
    if discriminant>0 then write('x<',valueX1:0:1,' or x>',valueX2:0:1)
    else write('Значение x - любое число');
    end
    else
    begin
    if discriminant>0 then write('x>',valueX1:0:1,' and x<',valueX2:0:1)
    else write('Решений нет');
    end;
    readln;
    end.


    Заранее огромное спасибо!

Ответы 1

  • var a, b, c, d, x1, x2, t: real;begin      writeln('Программа для решения неравенства ax^2 + bx + c > 0');      write('Введите коэффициенты a, b, c: ');      readln(a, b, c);     if a = 0 then begin        if b = 0 then         begin                    if c > 0 then writeln('(-∞; +∞)')                                          else writeln('ø')               end               else if b > 0 then writeln('(', -c / b : 0 : 3, '; +∞)')                                        else writeln('(-∞; ', -c / b, ')')      end      else      begin            d := b * b - 4 * a * c;            if d = 0 then        begin                  x1 := -b / (2 * a);                  if a > 0 then writeln('(-∞; ', x1, ') U (', x1, '; +∞)')                                      else writeln('ø')            end            else if d > 0 then            begin                  x1 := (-b - sqrt(d)) / (2 * a);                  x2 := (-b + sqrt(d)) / (2 * a);                 if x1 > x2 then                  begin                        t := x1;                        x1 := x2;                        x2 := t                  end;                 if a > 0 then writeln('(-∞; ', x1, ') U (', x2, '; +∞)')                                      else writeln('(', x1, '; ', x2, ')')            end            else            begin                 if a > 0 then writeln('(-∞; +∞)')                                      else writeln('ø')            end      endend.
    • Автор:

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

Войти через Google

или

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

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

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