SlideShare une entreprise Scribd logo
Réalisé par: Jihen DAMERJI
Algorithmes de recherche d’un
élément dans un tableau
Mise en situation
Les algorithmes de recherche2017i
Activité
On désire écrire un programme
RECHERCHE qui permet de vérifier
l’existence d’un entier P dans un
tableau T d’éléments positifs de N
entiers avec N dans l’intervalle [5..20]
Les algorithmes de recherche2017i
Recherche séquentielle
1
• Consulter les éléments de la liste
2
• les comparer un à un avec l’élément recherché, du debut jusqu’à
trouver l’élément ou arriver à la fin de la liste
3
• Ceci est réalisé à l’aide d’une structure itérative
Les algorithmes de recherche2017i
Les algorithmes de recherche2017i
Analyse du programme principale
Résultat=
si x=vrai alors
ecrire(p,' existe dans le tableau')
sinon
ecrire(p,' n''existe pas dans le tableau');
Finsi
Xfn existe(n,p,t)
Proc saisie(n,p,t);
Fin recherche
Algorithme de la fonction existe
0) Def fn existe (n,p: entier ; t :tab) : booleen
1) verif  faux
i0
répéter
ii+1
si t[i]=p alors
verif vrai
Finsi
Jusqu’à (verif=vrai) ou (i=n)
2)existeverif
3) Fin exixte
Les algorithmes de recherche2017i
Les algorithmes de recherche2017i
program sequentielle ;
uses wincrt ;
type
tab = array [1..20] of integer ;
var
t : tab ;
n,p : integer ;
x : boolean ;
procedure saisie ( var n,p : integer ;var t :tab);
var
i : integer ;
begin
repeat
writeln('Saisir la taille du tableau :'); readln(n);
until n in [5..20];
for i:= 1 to n do
Begin
repeat
writeln('Saisir l''élement ',i); readln(t[i]);
until t[i] > 0 ;
end;
writeln('saisir un entier :'); readln(p);
end;
function existe (n,p: integer ; t :tab) : boolean ;
Var
i : integer ; verif : boolean ;
begin
verif := false ;
i:=0 ;
repeat
i:=i+1;
if t[i]=p then
verif:=true ;
until (verif=true ) or (i=n) ;
existe:=verif ;
end;
begin
saisie(n,e,t);
x:=existe(n,e,t);
if ( x=true ) then
writeln(e,' existe dans le tableau')
else
writeln(e,' n''existe pas dans le tableau');
end.
Mise en situation
Les algorithmes de recherche2017i
Activité
On désire écrire un programme
RECHERCHE qui permet de vérifier
l’existence d’un entier P dans un
tableau T trié de N entiers.
Les algorithmes de recherche2017i
Recherche dichotomique
1
• Comparer P avec l’élément du milieu du tableau.
2
• Si P< milieu alors chercher P dans la partie gauche. (tri
croissant)
• Si P> milieu alors chercher P dans la partie droite.
3
• Refaire le même travail jusqu’à trouver P ou bien
arriver à la fin du tableau.
Remarque :
Cette technique ne peut être utilisée qu’avec
une série de données déjà triée.
Les algorithmes de recherche2017i
Les algorithmes de recherche2017i
Analyse du programme principal
Résultat=
si x=vrai alors
ecrire(p,' existe dans le tableau')
sinon
ecrire(p,' n''existe pas dans le tableau');
Finsi
Xfn existe(n,p,t)
Proc saisie(n,p,t);
Fin recherche
Algorithme de la fonction existe
0)def fn existe (n,e :entier ; t :tab) : boolean ;
1) x:=faux
bi:=1
bs:=n
repeter
mil(bi+bs) div 2
Si t[mil] = e alors x vrai
Sinon si t[mil] < e alors
bi mil+1
Sinon bs mil-1
finsi
finsi
jusqu’à (x= vrai) ou (bi >= bs)
2)existe x
3) Fin existe
Les algorithmes de recherche2017i
Les algorithmes de recherche2017i
program dichotomique ;
uses wincrt ;
type tab = array [1..20] of integer ;
var t : tab ; n,e,m : integer ; x : boolean ;
procedure saisie ( var n,e : integer ;var t :tab);
var i : integer ;
Begin
repeat
writeln('Saisir la taille du tableau :'); readln(n);
until n in [5..20];
for i:= 1 to n do
begin
Repeat
writeln('Saisir l''élement ',i); readln(t[i]);
until t[i] > 0 ;
end;
writeln('saisir un entier :'); readln(e);
end;
function existe (n,e : integer ; t :tab) : boolean ;
var i,bi,bs : integer ;
x : boolean ;
Begin
x:=false ; bi:=1 ; bs:=n ;
repeat
mil:=(bi+bs) div 2
if t[mil] = e then
x:=true
else if t[mil] < e then
bi:=n+1
else
bs:=n-1 ;
until (x=true) or (bi >= bs) ;
Existe:=x;
end;
Begin
saisie(n,e,t);
x:=existe(n,e,t);
if x=true
Then
writeln(e,' existe dans le tableau')
Else
writeln(e,' n''existe pas dans le tableau');
end.
Les algorithmes de recherche2017i

Contenu connexe

Plus de jihen damerji

Our countries between history and the future: the dream has no limit
Our countries between history and the future: the dream has no limitOur countries between history and the future: the dream has no limit
Our countries between history and the future: the dream has no limit
jihen damerji
 
Etwinning : création de projet
Etwinning : création de projetEtwinning : création de projet
Etwinning : création de projet
jihen damerji
 
Python
PythonPython
Compétences Clés du 21ème siècle
Compétences Clés du 21ème siècleCompétences Clés du 21ème siècle
Compétences Clés du 21ème siècle
jihen damerji
 
europ hours of code: lbn presentation
europ hours of code: lbn presentationeurop hours of code: lbn presentation
europ hours of code: lbn presentation
jihen damerji
 
Création d’un site web2017
Création d’un site web2017Création d’un site web2017
Création d’un site web2017
jihen damerji
 
Introduction a la vidéo numérique
Introduction a la vidéo numériqueIntroduction a la vidéo numérique
Introduction a la vidéo numérique
jihen damerji
 
Tableuravancé2017
Tableuravancé2017Tableuravancé2017
Tableuravancé2017
jihen damerji
 
un système d’exploitation
un système d’exploitationun système d’exploitation
un système d’exploitation
jihen damerji
 
Flash: les variables
Flash: les variablesFlash: les variables
Flash: les variables
jihen damerji
 
scratch
scratchscratch
scratch
jihen damerji
 
Blogger
BloggerBlogger
Blogger
jihen damerji
 
Reseau et multimedia2009
Reseau et multimedia2009Reseau et multimedia2009
Reseau et multimedia2009
jihen damerji
 
Montessori finale
Montessori finaleMontessori finale
Montessori finale
jihen damerji
 
Son numérique
Son numériqueSon numérique
Son numérique
jihen damerji
 
Information et communication
Information et communication Information et communication
Information et communication
jihen damerji
 
الأسد والفأر
الأسد والفأرالأسد والفأر
الأسد والفأر
jihen damerji
 
Tableaux
TableauxTableaux
Tableaux
jihen damerji
 
Cloud jihen
Cloud jihenCloud jihen
Cloud jihen
jihen damerji
 
الحيوانات الاليفة
الحيوانات الاليفةالحيوانات الاليفة
الحيوانات الاليفة
jihen damerji
 

Plus de jihen damerji (20)

Our countries between history and the future: the dream has no limit
Our countries between history and the future: the dream has no limitOur countries between history and the future: the dream has no limit
Our countries between history and the future: the dream has no limit
 
Etwinning : création de projet
Etwinning : création de projetEtwinning : création de projet
Etwinning : création de projet
 
Python
PythonPython
Python
 
Compétences Clés du 21ème siècle
Compétences Clés du 21ème siècleCompétences Clés du 21ème siècle
Compétences Clés du 21ème siècle
 
europ hours of code: lbn presentation
europ hours of code: lbn presentationeurop hours of code: lbn presentation
europ hours of code: lbn presentation
 
Création d’un site web2017
Création d’un site web2017Création d’un site web2017
Création d’un site web2017
 
Introduction a la vidéo numérique
Introduction a la vidéo numériqueIntroduction a la vidéo numérique
Introduction a la vidéo numérique
 
Tableuravancé2017
Tableuravancé2017Tableuravancé2017
Tableuravancé2017
 
un système d’exploitation
un système d’exploitationun système d’exploitation
un système d’exploitation
 
Flash: les variables
Flash: les variablesFlash: les variables
Flash: les variables
 
scratch
scratchscratch
scratch
 
Blogger
BloggerBlogger
Blogger
 
Reseau et multimedia2009
Reseau et multimedia2009Reseau et multimedia2009
Reseau et multimedia2009
 
Montessori finale
Montessori finaleMontessori finale
Montessori finale
 
Son numérique
Son numériqueSon numérique
Son numérique
 
Information et communication
Information et communication Information et communication
Information et communication
 
الأسد والفأر
الأسد والفأرالأسد والفأر
الأسد والفأر
 
Tableaux
TableauxTableaux
Tableaux
 
Cloud jihen
Cloud jihenCloud jihen
Cloud jihen
 
الحيوانات الاليفة
الحيوانات الاليفةالحيوانات الاليفة
الحيوانات الاليفة
 

Dernier

Formation M2i - Attitude constructive : développer l'art de l'optimisme
Formation M2i - Attitude constructive : développer l'art de l'optimismeFormation M2i - Attitude constructive : développer l'art de l'optimisme
Formation M2i - Attitude constructive : développer l'art de l'optimisme
M2i Formation
 
apprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdfapprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdf
kamouzou878
 
A2-Faire-une-appreciation positive et/ou négative (A2)
A2-Faire-une-appreciation positive et/ou négative (A2)A2-Faire-une-appreciation positive et/ou négative (A2)
A2-Faire-une-appreciation positive et/ou négative (A2)
lebaobabbleu
 
Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.
MahouwetinJacquesGBO
 
1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire
NadineHG
 
Cours Gestion d’actifs BNP -- CAMGESTION
Cours Gestion d’actifs BNP -- CAMGESTIONCours Gestion d’actifs BNP -- CAMGESTION
Cours Gestion d’actifs BNP -- CAMGESTION
Sékou Oumar SYLLA
 
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
dokposeverin
 
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
mcevapi3
 
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptxMARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
Martin M Flynn
 
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certificationMS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
OlivierLumeau1
 
Présentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Présentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPrésentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Présentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024
Friends of African Village Libraries
 
A2-Critiques-gastronomiques activités critiques
A2-Critiques-gastronomiques activités critiquesA2-Critiques-gastronomiques activités critiques
A2-Critiques-gastronomiques activités critiques
lebaobabbleu
 
Zineb Mekouar.pptx Écrivaine marocaine
Zineb Mekouar.pptx   Écrivaine  marocaineZineb Mekouar.pptx   Écrivaine  marocaine
Zineb Mekouar.pptx Écrivaine marocaine
Txaruka
 

Dernier (14)

Formation M2i - Attitude constructive : développer l'art de l'optimisme
Formation M2i - Attitude constructive : développer l'art de l'optimismeFormation M2i - Attitude constructive : développer l'art de l'optimisme
Formation M2i - Attitude constructive : développer l'art de l'optimisme
 
apprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdfapprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdf
 
A2-Faire-une-appreciation positive et/ou négative (A2)
A2-Faire-une-appreciation positive et/ou négative (A2)A2-Faire-une-appreciation positive et/ou négative (A2)
A2-Faire-une-appreciation positive et/ou négative (A2)
 
Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.
 
1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire
 
Cours Gestion d’actifs BNP -- CAMGESTION
Cours Gestion d’actifs BNP -- CAMGESTIONCours Gestion d’actifs BNP -- CAMGESTION
Cours Gestion d’actifs BNP -- CAMGESTION
 
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
 
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
 
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptxMARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
 
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certificationMS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
 
Présentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Présentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPrésentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Présentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024
 
A2-Critiques-gastronomiques activités critiques
A2-Critiques-gastronomiques activités critiquesA2-Critiques-gastronomiques activités critiques
A2-Critiques-gastronomiques activités critiques
 
Zineb Mekouar.pptx Écrivaine marocaine
Zineb Mekouar.pptx   Écrivaine  marocaineZineb Mekouar.pptx   Écrivaine  marocaine
Zineb Mekouar.pptx Écrivaine marocaine
 

Les algorithmes de recherche2017i

  • 1. Réalisé par: Jihen DAMERJI Algorithmes de recherche d’un élément dans un tableau
  • 4. Activité On désire écrire un programme RECHERCHE qui permet de vérifier l’existence d’un entier P dans un tableau T d’éléments positifs de N entiers avec N dans l’intervalle [5..20]
  • 7. 1 • Consulter les éléments de la liste 2 • les comparer un à un avec l’élément recherché, du debut jusqu’à trouver l’élément ou arriver à la fin de la liste 3 • Ceci est réalisé à l’aide d’une structure itérative
  • 10. Analyse du programme principale Résultat= si x=vrai alors ecrire(p,' existe dans le tableau') sinon ecrire(p,' n''existe pas dans le tableau'); Finsi Xfn existe(n,p,t) Proc saisie(n,p,t); Fin recherche
  • 11. Algorithme de la fonction existe 0) Def fn existe (n,p: entier ; t :tab) : booleen 1) verif  faux i0 répéter ii+1 si t[i]=p alors verif vrai Finsi Jusqu’à (verif=vrai) ou (i=n) 2)existeverif 3) Fin exixte
  • 14. program sequentielle ; uses wincrt ; type tab = array [1..20] of integer ; var t : tab ; n,p : integer ; x : boolean ;
  • 15. procedure saisie ( var n,p : integer ;var t :tab); var i : integer ; begin repeat writeln('Saisir la taille du tableau :'); readln(n); until n in [5..20]; for i:= 1 to n do Begin repeat writeln('Saisir l''élement ',i); readln(t[i]); until t[i] > 0 ; end; writeln('saisir un entier :'); readln(p); end;
  • 16. function existe (n,p: integer ; t :tab) : boolean ; Var i : integer ; verif : boolean ; begin verif := false ; i:=0 ; repeat i:=i+1; if t[i]=p then verif:=true ; until (verif=true ) or (i=n) ; existe:=verif ; end;
  • 17. begin saisie(n,e,t); x:=existe(n,e,t); if ( x=true ) then writeln(e,' existe dans le tableau') else writeln(e,' n''existe pas dans le tableau'); end.
  • 20. Activité On désire écrire un programme RECHERCHE qui permet de vérifier l’existence d’un entier P dans un tableau T trié de N entiers.
  • 23. 1 • Comparer P avec l’élément du milieu du tableau. 2 • Si P< milieu alors chercher P dans la partie gauche. (tri croissant) • Si P> milieu alors chercher P dans la partie droite. 3 • Refaire le même travail jusqu’à trouver P ou bien arriver à la fin du tableau.
  • 24. Remarque : Cette technique ne peut être utilisée qu’avec une série de données déjà triée.
  • 27. Analyse du programme principal Résultat= si x=vrai alors ecrire(p,' existe dans le tableau') sinon ecrire(p,' n''existe pas dans le tableau'); Finsi Xfn existe(n,p,t) Proc saisie(n,p,t); Fin recherche
  • 28. Algorithme de la fonction existe 0)def fn existe (n,e :entier ; t :tab) : boolean ; 1) x:=faux bi:=1 bs:=n repeter mil(bi+bs) div 2 Si t[mil] = e alors x vrai Sinon si t[mil] < e alors bi mil+1 Sinon bs mil-1 finsi finsi jusqu’à (x= vrai) ou (bi >= bs) 2)existe x 3) Fin existe
  • 31. program dichotomique ; uses wincrt ; type tab = array [1..20] of integer ; var t : tab ; n,e,m : integer ; x : boolean ; procedure saisie ( var n,e : integer ;var t :tab); var i : integer ; Begin repeat writeln('Saisir la taille du tableau :'); readln(n); until n in [5..20]; for i:= 1 to n do begin Repeat writeln('Saisir l''élement ',i); readln(t[i]); until t[i] > 0 ; end; writeln('saisir un entier :'); readln(e); end;
  • 32. function existe (n,e : integer ; t :tab) : boolean ; var i,bi,bs : integer ; x : boolean ; Begin x:=false ; bi:=1 ; bs:=n ; repeat mil:=(bi+bs) div 2 if t[mil] = e then x:=true else if t[mil] < e then bi:=n+1 else bs:=n-1 ; until (x=true) or (bi >= bs) ; Existe:=x; end;
  • 33. Begin saisie(n,e,t); x:=existe(n,e,t); if x=true Then writeln(e,' existe dans le tableau') Else writeln(e,' n''existe pas dans le tableau'); end.

Notes de l'éditeur

  1. 10mn
  2. Activité : On désire écrire un programme d’une fonction booléenne RECHERCHE qui permet de vérifier l’existence d’un entier P dans un tableau T de N entiers. Pour chercher l’élément P dans le tableau La recherche séquentielle  La recherche dichotomique
  3. On désire écrire un programme d’une fonction booléenne RECHERCHE qui permet de vérifier l’existence d’un entier P dans un tableau T de N entiers.
  4. 10mn
  5. On désire écrire un programme d’une fonction booléenne RECHERCHE qui permet de vérifier l’existence d’un entier P dans un tableau T de N entiers.