hg S’enregistrer Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie

Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie  forum informatique Tunisie Index du Forum

hg Bac Tunisie Algorithmique et programmation TIC réseaux php javascript sql access activités programmation c
hg
FAQ FAQ Rechercher Rechercher Membres Membres Groupes Groupes Profil Profil Se connecter pour vérifier ses messages privés Messages Privés Connexion Connexion


 Forum de l'excellence et l'excellence en innovation 
Pour participer à notre Forum, vous devez
 
inscrire sur notre forum a partir d'ici
 
  NB :
Les membres ''zéro messages'' seront supprimés automatiquement après un nombre de jours donné !!!!
             
   
 
  
forum d'aide informatique : internet, réseau, programmation informatique ...
Recherche Dichotomique
 
 
Poster un nouveau sujet   Répondre au sujet    Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie Index du Forum -> Algorithmique & programmation -> `··._.·`·.¸¸.·´´Cours¯`··._.·`·.,¸¸,.·´¯
hg Sujet précédent :: Sujet suivant   hd
Auteur Message
KARIMOS
Administrateur

Hors ligne

Inscrit le: 02 Nov 2008
Messages: 1 710
Masculin
Point(s): 5 479
Moyenne de points: 0

Posté le: Mer 10 Mar - 07:54 (2010)    Sujet du message: Recherche Dichotomique Répondre en citant

PublicitéSupprimer les publicités ?
Soit une table contenant des prénoms, classés par ordre alphabétique, nous désirons chercher l'indice de la case du tableau ou se trouve un prénom dans ce dit tableau ,si il s'y trouve.

Le principe est assez simple....
On va commencer par lire le tableau, le prénom à rechercher, stocker la valeur 1 dans la variable inférieur et la longueur du tableau dans la variable supérieur.

Ensuite on va déterminer le milieu du tableau et initialisé la valeur trouve a faux.

Il nous reste plus qu'a écrire la boucle qui va nous permettre de trouver notre élément

La boucle consiste a délimiter le tableau et a le redimensionner de plus en plus petit a chaque fois que l'on fait un tour de boucle .
La première fois on se positionne sur le milieu du tableau et on regarde le prénom, si c'est le bon c'est du bol trouvé du premier coup , sinon on regarde si notre prénom est plus grand ou plus petit.
Si il est plus grand alors on va lui dire que la nouvelle borne de départ est le milieu du tableau + 1 élément pour pouvoir se positionner sur le prochain.
Si il est plus petit alors c'est l'inverse , c'est notre borne de fin qui va changer, elle va remonter jusqu'au milieu du tableau -1 cette fois.

Puis on remonte, comparer notre condition : est-ce que ma borne de fin est toujours plus grande que le debut

Code:


DEBUT PROGRAMME  
LIRE tableau  
LIRE prenom  
inferieur =1  
superieur = longueur du tableau  
Tant que superieur >inferieur ET trouve <> 0 faire  
 milieu = PartieEntiere (inferieur + superieur) / 2  
 Si prenom(milieu) <> prenom alors  
  Si prenom > prenom(milieu) alors  
   Inferieur=milieu + 1  
  Sinon  
   Superieur=milieu - 1  
  Fin si  
 Sinon  
  Trouvé=milieu  
 Fin de si  
Fin de tant que  
FIN PROGRAMME




 
Revenir en haut
Contenu Sponsorisé






Posté le: Aujourd’hui à 18:59 (2016)    Sujet du message: Recherche Dichotomique

 
Revenir en haut
Montrer les messages depuis:   
bg bd
Poster un nouveau sujet   Répondre au sujet    Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie Index du Forum -> Algorithmique & programmation -> `··._.·`·.¸¸.·´´Cours¯`··._.·`·.,¸¸,.·´¯ Toutes les heures sont au format GMT + 1 Heure
 
Page 1 sur 1

 
Sauter vers:  
Index | créer forum gratuit | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation