Travaux pratiques, semaine 4
double dichotomie (
double f (double),
double a, double b,
double epsilon
) {
double c;
while (b - a > epsilon) {
c = (a + b) / 2;
if (f(c) < 0)
a = c;
else
b = c;
}
return b;
}
Elle est correcte si f(a) < 0 et f(b) > 0. Modifier aussi simplement que possible cette fonction pour qu'elle soit correcte dès que f(a) et f(b) sont de signes contraires.
|
|
|
|
|
|
|
|