|
trouver(pays) {
page = debut;
tantque page <= fin; {
si (dictionnaire(page) == pays) alors { renvoyer page; }
page = page + 1;
}
renvoyer "pas trouvé";
}
|
|
page = debut;
tantque page <= fin; {
../..
page = page + 1;
}
|
|
si (dictionnaire(page) == pays) alors { renvoyer page; }
|
| N = 2C | 1 | 2 | 4 | 8 | 16 | .. | 256 | .. | 1024 | .. | un million | .. | un milliard |
| C = log2(N) | 0 | 1 | 2 | 3 | 4 | .. | 8 | .. | 10 | .. | 20 | .. | 30 |
|
trouver(pays) {
min = debut; max = fin;
repeter {
milieu = (min + max) / 2;
si (dictionnaire(milieu) == pays) alors renvoyer milieu;
si (min == max) alors renvoyer "pas trouvé";
si (dictionnaire(milieu) < pays) alors min = milieu;
si (dictionnaire(milieu) > pays) alors max = milieu;
}
}
|
|
zero(f) {
min = debut; max = fin;
si (f(min) f(max) >= 0) alors renvoyer "pas de solution";
repeter {
milieu = (min + max) / 2;
si (|max - min| < epsilon) alors renvoyer milieu;
sinon si (f(max) f(milieu) < 0) alors min = milieu;
sinon si (f(min) f(milieu) < 0) alors max = milieu;
sinon renvoyer "pas de solution";
}
}
|