Principe de la méthode :
Pour chercher une valeur « élem »
dans un tableau t1 nous allons utiliser la fonction
recherche_sequentiel qui renvoi TRUE si « élem » existe dans le
tableau t1 et FALSE sinon.
La méthode que nous allons adopter consiste à
parcourir le tableau a à partir du premier
élément et comparer chaque élément du tableau
t1 avec la valeur qu’on cherche « élem ».
Le parcours s’arrête si on trouve
« élem » ou on arrive à la fin du tableau.
Traduction en pascal du
programme principale :
program
recherche_sequentielle;
uses
wincrt;
type
tab = ARRAY[1..100] of integer;
var
tail ,x :integer;
trouve: boolean;
t1: tab;
FUNCTION
recherche_sequentiel (t: tab; n, elem: integer): Boolean;
var
i:
integer;
trouve: boolean;
begin
i:=0;
repeat
i:=i+1;
until ( (t[i] = elem) OR (i = n ) ) ;
if t[i]= elem
then
trouve:= true
else trouve := false;
recherche_sequentiel := trouve;
end; {fin fontion recherche_sequentiel}
PROCEDURE saisie(var t: tab; n :integer); { saisir les
élements du tableau }
var
i: integer;
begin
for i:=1 to n do
begin
writeln('donner un entier');
readln(t[i]);
end;
end;
PROCEDURE saisie_tail(VAR n:integer);
begin
repeat
writeln('donner la
taille du tableau');
readln(n);
until n in [10..20];
end;
BEGIN
saisie_tail(tail);
saisie(t1,tail);
writeln('donner
lelement a chercher ');
readln(x);
trouve := recherche_sequentiel (t1,tail,x);
if( trouve = true)
then writeln('lement existe dans le tableau ')
else
writeln('l''element nexiste pas dans le tableau');
END.
Aucun commentaire:
Enregistrer un commentaire