Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Aperçu

Le tri par sélection

Voici la première page de la leçon. Lis-la et essaie les activités. La suite est dans le cours complet.

40 minutes

Ranger les prix du marché

Sur un marché, tu notes les prix d'un kilo de tomates chez cinq vendeurs : 18, 7, 12, 4 et 9 euros.

Tu veux les voir du moins cher au plus cher. Comment fais-tu ? Tu cherches d'abord le plus petit. Tu le mets en premier. Puis tu recommences avec ce qui reste.

C'est exactement le tri par sélection.

Mots-clés

MotCe que ça veut direExemple
TriRanger les valeurs dans un ordre.Du moins cher au plus cher
CroissantDu plus petit au plus grand.4, 7, 9, 12, 18
PassageUn tour complet de l'algorithme sur ce qui reste à trier.Le passage 1 place le plus petit
ÉchangeMettre deux valeurs à la place l'une de l'autre.La case 0 et la case 3 changent de valeur
Zone triéeLe début de la liste, déjà bien rangé.Après le passage 2 : 4, 7
Variable temporaireUne variable qui garde une valeur le temps d'un échange.verre_vide

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

À toi : trie de tête

À toi de jouer

À toi : trie de tête

3 questions
Essayez : vos réponses sont notées ici puis oubliées. Connectez-vous si vous voulez conserver votre score et reprendre là où vous en étiez.Se connecter pour conserver mon score

Tes réponses sont corrigées ici et ne sont pas conservées. Un compte garde tes résultats.

D'abord : échanger deux valeurs

Pour placer le plus petit, il faut échanger deux cases. Tu as deux verres : un de jus, un d'eau. Tu ne peux pas les vider l'un dans l'autre.

Il te faut un troisième verre vide. En Python, c'est une variable temporaire. On y met une valeur de côté, le temps de l'échange.

À toi : un échange qui rate

Code: python
a = 3
b = 5

# Tentative fausse : on écrase a avant de l'avoir gardé.
a = b
b = a
print("a =", a, "et b =", b)

# Les deux valent 5. Le 3 a disparu !

Exemple travaillé : l'échange à trois verres

Ligneabverre_vide
Départ35-
verre_vide = a353
a = b553
b = verre_vide533

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

À toi : l'échange qui marche

Code: python
a = 3
b = 5

verre_vide = a      # on met le 3 de côté
a = b               # a prend le 5
b = verre_vide      # b reprend le 3
print("a =", a, "et b =", b)

# Fais la même chose avec deux cases d'une liste.
prix = [18, 7, 12]
verre_vide = prix[0]
prix[0] = prix[2]
prix[2] = verre_vide
print(prix)

L'idée du tri par sélection

À chaque passage, on fait trois choses :

  1. On cherche le plus petit dans la partie qui n'est pas encore triée.
  2. On l'échange avec la première case de cette partie.
  3. La zone triée grandit d'une case.

On s'arrête quand il ne reste plus qu'une case. Elle est forcément bien placée.

Exemple travaillé : trier 18, 7, 12, 4, 9

PassageZone à chercherPlus petitÉchangeListe après
1Cases 0 à 44 (case 3)Cases 0 et 34, 7, 12, 18, 9
2Cases 1 à 47 (case 1)Aucun, il est bien placé4, 7, 12, 18, 9
3Cases 2 à 49 (case 4)Cases 2 et 44, 7, 9, 18, 12
4Cases 3 à 412 (case 4)Cases 3 et 44, 7, 9, 12, 18

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

La leçon continue

11 parties de plus de cette leçon se trouvent dans le cours complet, avec les exercices et la vérification finale. Un compte te donne tout.