M1103 – TD1 – Exercice 1

Ecrire la procédure TriSelection () de signature

procedure TriSelection (TabInt : in_out tableau de entier);

Ce sous-programme doit trié le tableau TabInt selon la méthode du tri par sélection / échange.

Ecrire dans un second temps un autre sous-programme qui vérifie que le tableau qui lui est passé en paramètre est trié.

M1103-TD1 Exercie1 Corrigé

procedure TriSelection (TabInt : in_out tableau_de entier)
debut
pour (i variant_de 0 a taille(TabInt) - 1)
faire
declarer min : entier_naturel;
min <-  i;
pour (j variant_de i + 1 a taille(TabInt) - 1)
faire
si (TabInt[j] < TabInt[min])
min <- j;
fsi
ffaire
si (min ne_vaut_pas i)
PermuterEntier (TabInt[i], TabInt[min]);
fsi
ffaire
fin

M1103-TD1 Exercie2 Corrigé

procedure TriInsertion (TabInt : in_out tableau_de entier)
debut
pour (i variant_de 1 a taille(TabInt) - 1)
faire
declarer x : entier;
x <- TabInt [i];
declarer j : entier_naturel;
j <- i;

tant_que ((j > 0) ET_ALORS (TabInt[j - 1] > x))
faire
TabInt[j] <- TabInt[j - 1];
j <- j - 1;
ffaire

TabInt[j] <- x;
ffaire
fin

M1103-TD1 Exercie3 Corrigé

procedure TriBulles (TabInt : in_out tableau_de entier)
debut
pour (i variant_de taille(TabInt) - 1 a 1 descendant)
faire
pour (j variant_de 0 a i - 1)
faire
si (TabInt[j+1] < TabInt[j])
PermuterEntier (TabInt[j+1], TabInt[j]);
fsi
ffaire
ffaire
fin