M. On note aussi |M|le nombre de colonnes de Met Mle nombre de lignes
de M.
On dit que Mapparaˆıt dans Ten ligne let colonne csi M[1][1] = T[l][c], et
M[1][2] = T[l][c+1], et . . . et M[1][|M|] = T[l][c+|M|−1] et. . . et M[M][|M|] =
T[l+M−1][c+|M| − 1].
1. Compl´etez l’algorithme ci-dessous.
Test d’apparition d’une image motif `a une position donn´ee
Donn´ees : image motif M, image texte T, ligne l, colonne c
R´esultat : Vrai si Mapparait dans Ten (l, c), Faux sinon
d´ebut
pour chaque iallant de 1 `a Mfaire
pour chaque jallant de 1 `a . . . faire
si M[i][j]. . . alors retourner . . .;
retourner . . .
2. En faisant appel `a cet algorithme, ´ecrivez un algorithme de recherche
d’une image motif dans une image texte.
Exercice 5 Tri s´election en place
L’algorithme de tri par s´election vu durant l’expos´e pr´esente un d´efaut : il
faut cr´eer une nouvelle liste Rdiff´erente de la liste de d´epart Lpour stocker le
r´esultat au fur et `a mesure.
Une autre solution est la suivante :
— on trouve tout d’abord le plus grand ´el´ement, par exemple 7 dans la liste
L= [2,7,3,1,4],
— on l’´echange dans Lavec l’´element en fin de liste ; on obtient par exemple
la liste L= [2,4,3,1,7]
— on cherche `a nouveau le plus grand ´el´ement, mais cette fois-ci on omet
l’´el´ement en fin de la liste, donc sur l’exemple on trouve 4
— on l’´echange `a nouveau, mais cette fois-ci avec l’avant-dernier en fin de
liste, donc L= [2,1,3,4,7]
— on continue ainsi de suite jusqu’`a avoir mis `a la bonne place tous les
´el´ements.
Formalisez cet algorithme en pseudo-code ou en Scratch.
3