dichotomie

dichotomieCollectif d'auteurs [x]

La «proglet» dichotomie.

Cliquer ici pour faire l'activité.
Cliquer ici pour lire le tutoriel.
Cette proglet permet d'apprendre la notion algorithmique de « recherche dichotomie ». La proglet affiche un livre avec tous les drapeaux du monde (répertoriés grâce à wikipedia) et permet d'ouvrir le livre à une page donnée pour comparer le nom de pays avec le nom du pays recherché.
Plus précisément la fonction compare ouvre le livre à une page et compare un nom au nom affiché sur cette page:
int résultat = compare(nom, page);
  • nom est un String dont la valeur est le nom du pays recherché;
  • page est un int, le numéro de la page de 0 à 192 (il y a 193 pays);
  • le résultat étant:
    • un nombre négatif si le nom se situe avant celui de la page,
    • un nombre positif si le nom se situe après celui de la page,
    • 0 si il correspond à celui de la page.
tandis que la fonction:
int l = length();
renvoie le nombre de pages, ici 193.
Un exemple d'utilisation: lors de la démonstration, le livre va se feuilleter rapidement puis s'ouvrir quelques fractions de secondes à une vingtaine de pages au hasard, selon le programme suivant:
for(int i = 0; i < 26; i++) {
int page = random(0, length());
    compare("rien", page);
    sleep(400);
}
En appuyant sur les touches <- et -> nous pouvons tourner manuellement les pages à gauche ou à droite.
Essaye ensuite de jouer à ce jeu de devinette . . facile à gagner, désormais !
Avec cette version du jeu de devinette tu peux aussi faire jouer l'ordinateur !
Cette «proglet» est un composant logiciel ouvert dont documentation et code-source sont disponibles ici