Un logiciel polyvalent d'apprentissage de la programmation
Chapitre 1. Introduction
Chapitre 2. Le logiciel en bref
Chapitre 3. Premiers pas en algorithmique
Chapitre 4. Instructions conditionnelles
Chapitre 5. Boucles
Chapitre 6. Sous-programmes
Chapitre 7. Tableaux à une dimension
7.1. Présentation
7.2. Taille maximale
7.3. Techniques usuelles
7.3.1. Minimum et maximum
7.3.2. Tri
7.4. Travaux dirigés
7.5. Travaux pratiques
Chapitre 8. Tableaux à deux dimensions
Chapitre 9. Enregistrements
Annexe : comment tester vos programmes ?
Page d'accueil Table des matières Niveau supérieur Page précédente Bas de la page Page suivante Démarrage du logiciel Webographie du module Glossaire du module

7.3.2. Tri

Nous avons vu dans l'exercice 2 du chapitre 3 comment échanger le contenu de deux variables. Cette technique est ici réutilisée dans un algorithme de tri :

X = [20, 14, 15, 10, 16]
n = 5
POUR i=1 JUSQU'À n-1 FAIRE
    POUR k=i+1 JUSQU'À n FAIRE 
        ECRIRE i, k, x[1], x[2], x[3], x[4], x[5] 
        SI (X[i] > X[k]) ALORS  \\ on échange X[i] et X[k]
            copie = X[i]
            X[i] = X[k]
            X[k] = copie
        FINSI
    FINPOUR    
FINPOUR 
ECRIRE x[1], x[2], x[3], x[4], x[5]    

Les instructions d'affichage ont été ajoutées uniquement pour aider à comprendre le fonctionnement de l'algorithme :

Les cases grisées correspondent aux diverses comparaisons entre x[i] et x[k] :

  • les 4 premiers tests (x[1] avec x[2], x[1] avec x[3], x[1] avec x[4], x[1] avec x[5]) permettent de ramener le minimum (10) en première position.
  • les 3 comparaisons suivantes (x[2] avec x[3], x[2] avec x[4], x[2] avec x[5]) permettent de ramener le minimum des valeurs restantes (14) en seconde position.
  • ...
Page d'accueil Table des matières Niveau supérieur Page précédente Haut de la page Page suivante Démarrage du logiciel Webographie du module Glossaire du module