Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Les ensembles : union et intersection

Après cette leçon: Je peux combiner des ensembles et compter leurs éléments.

Leçon de 55 min4 commandesLab de compilation et d’architecture : gcc, flex, bison et RISC-V dans une VM

Combien d’étudiants dans au moins un club ?

Un ensemble est une collection d’éléments distincts, sans ordre et sans doublon. L’union, l’intersection et la différence sont les trois opérations qui servent à combiner deux ensembles.

Un bureau des étudiants compte 40 inscrits au club d’informatique et 25 au club de robotique. Dix sont dans les deux. Combien de personnes faut-il prévenir de la réunion ? Ce n’est pas 65.

À la fin de cette leçon

Remarque

Je peux combiner des ensembles et compter leurs éléments.

Mots-clés

MotCe que ça veut dire
Ensembleune collection d’éléments distincts, sans ordre
Élémentun des objets d’un ensemble
Unionles éléments qui sont dans l’un ou dans l’autre
Intersectionles éléments qui sont dans les deux à la fois
Différenceles éléments du premier qui ne sont pas dans le second
Cardinalle nombre d’éléments d’un ensemble

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

Un ensemble compte chaque élément une seule fois

Dans un ensemble, l’ordre ne compte pas et un élément n’apparaît qu’une fois. Écrire Jade deux fois sur une liste de club ne fait pas deux personnes.

Le cardinal est le nombre d’éléments distincts. Lancez la commande : elle range des noms et retire les répétitions.

Retirer les répétitions

Commande
printf 'jade\nomar\njade\n' | sort -u

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Le cardinal d’un ensemble

Commande
python3 -c "print(len({1, 2, 2, 3, 3, 3}))"

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Union, intersection et différence dans un tableau

Soit A le club d’informatique et B le club de robotique. L’union garde ceux qui sont dans A ou dans B. L’intersection garde ceux qui sont dans A et dans B. La différence garde ceux de A qui ne sont pas dans B.

Ce sont les connecteurs de la leçon précédente : ou, et, et non.

Exemple travaillé : cinq étudiants, deux clubs

ÉtudiantDans ADans BUnion (ou)Intersection (et)A sans B
LinaOuiNonOuiNonOui
HugoOuiNonOuiNonOui
JadeOuiOuiOuiOuiNon
OmarOuiOuiOuiOuiNon
YanisNonOuiOuiNonNon

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

Union, intersection, différence

Commande
python3 -c "print(sorted({1, 2, 3, 4} | {3, 4, 5}), sorted({1, 2, 3, 4} & {3, 4, 5}), sorted({1, 2, 3, 4} - {3, 4, 5}))"

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Les mêmes opérations avec des listes

Code: python
# Deux clubs, deux listes de prénoms.
club_info = ["Lina", "Hugo", "Jade", "Omar"]
club_robot = ["Jade", "Omar", "Yanis"]

dans_les_deux = []
for prenom in club_info:
    if prenom in club_robot:
        dans_les_deux.append(prenom)
print("Dans les deux clubs :", dans_les_deux)

seulement_info = []
for prenom in club_info:
    if prenom not in club_robot:
        seulement_info.append(prenom)
print("Seulement en info :", seulement_info)
# Ajoutez "Hugo" à club_robot puis relancez : qu’est-ce qui change ?

Erreur fréquente

Attention

Beaucoup pensent que A sans B et B sans A, c’est la même chose. Ce n’est pas le cas. Ici, Lina et Hugo sont dans A sans B. Yanis est dans B sans A. La différence dépend de l’ordre des deux ensembles.

On retire ce qu’on a compté deux fois

Pour compter l’union, on additionne les deux cardinaux. Mais les éléments des deux ensembles ont été comptés deux fois.

On retire donc le cardinal de l’intersection une fois. C’est le principe d’inclusion et exclusion : cardinal de l’union = cardinal de A + cardinal de B − cardinal de l’intersection.

Exemple travaillé : les deux clubs du bureau

ÉtapeCalculRésultat
Club d’informatiqueCardinal de A40
Club de robotiqueCardinal de B25
Somme brute40 + 2565
Dans les deux clubsCardinal de l’intersection10
Personnes à prévenir65 − 1055

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

Vérifier le principe sur un exemple

Commande
python3 -c "print(len({1, 2, 3, 4}) + len({3, 4, 5}) - len({3, 4}))"

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Pour aller plus loin

Un troisième club compte 12 étudiants. Quatre sont aussi en informatique, trois aussi en robotique, et deux sont dans les trois clubs.

Écrivez comment vous compteriez l’union des trois clubs. Retirez les paires, puis rajoutez les triples : c’est l’inclusion et exclusion à trois ensembles.

À propos de ce labo et de sa source: Lab de compilation et d’architecture : gcc, flex, bison et RISC-V dans une VM

Vous enseignez à une classe ? Proposez ce module à vos étudiants avec un guide de l'enseignant, des devoirs corrigés et un laboratoire pour chaque étudiant.