q Étape 4 : Comparer t[9] avec 20. Les valeurs sont identiques, la recherche est terminée. 
La recherche doit continuer tant que Début est inférieur ou égal à Fin et que l’élément recherché n’a pas été trouvé. 
PROGRAMME DICHOTOMIE 
VAR 
t:tableau[1..10] d’entiers 
d,m,f,rech:entiers 
DEBUT 
rech←18 
d←1 
f←10 
 
Répéter 
m←(d+f) DIV 2 
Si rech>t[m] Alors 
d←m+1 
Sinon 
f←m-1 
FinSi 
TantQue d<=f ET rech<>t[m] 
Si rech=t[m] Alors 
Afficher "Trouvé" 
Sinon 
Afficher "Absent" 
FinSi 
FIN
Le code en Java correspondant est le suivant : 
class chap5_dicho { 
public static void main(String[] args) { 
int t[]={2,7,9,10,11,14,17,18,20,22}; 
int d,f,m,rech; 
 
rech=15; 
d=0; 
f=t.length-1; 
 
do { 
m=(int)((d+f)/2); 
System.out.println("d="+d+", f="+f+", m="+m+", t[m]="+t[m]); 
if(rech>t[m]) d=m+1; 
else f=m-1; 
 
} while(d<=f && rech!=t[m]); 
 
if(rech==t[m]) System.out.println(rech+" trouvé à la position "+m); 
else System.out.println(rech+" n’a pas été trouvé"); 
} 
}
- 9 -
© ENI Editions - All rigths reserved - Jonifar lina
116
Précédent

- 116/220

Suivant