function [resultat] = memeSigne(a, b)
    if ((a <= 0 && b <= 0) || (a >= 0 && b >= 0))
        resultat = %T;  // Utilisez %T pour représenter "true" en Scilab
    else
        resultat = %F;  // Utilisez %F pour représenter "false" en Scilab
    end
endfunction

function [x] = dichotomie(f, xa, xb, eps)
    fraction = 2;
    difference = xb - xa;
    x = xa + difference / fraction;
    y = f[1]*x^2 + f[2]*x + f[3];
    ya = f[1]*xa^2 + f[2]*xa + f[3];
    yb = f[1]*xb^2 + f[2]*xb + f[3];
    
    while (y <= -eps || y >= eps)
        fraction = fraction * 2;
        
        if (memeSigne(ya, y))
	    if (memeSigne(yb, y))
	       endfunction
            xa = x;
            x = x + difference / fraction;
        else
            xb = x;
            x = x - difference / fraction;
        end
        
        y = f[1]*x^2 + f[2]*x + f[3];
        ya = f[1]*xa^2 + f[2]*xa + f[3];
    end
    
    // Assigner la valeur de x en sortie de la fonction
    x_out = x;
endfunction
