Решить две ! 1) придумайте выражение, которое с mod, div, сложения, вычитания и умножения (без циклов и тому подобного): находит количество цифр, больших 6 в данном числе. 2) написать программу решения неравенства ax2 + bx + c > 0. p.s. пишу на код(неправильно считает при а=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. заранее огромное !

kirill163aye kirill163aye    2   04.07.2019 19:20    0

Ответы
TRINDES2017 TRINDES2017  28.07.2020 11:27
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 
    end
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика