Examen Python 06

EXAMEN EN PYTHON SUJET 6

Python Théorie des Ensembles et Applications

Python Théorie des Ensembles et Applications

Durée : 1 heure

Objectifs :

  • Évaluer la compréhension des opérations ensemblistes.
  • Appliquer les notions d'union, intersection, complément et disjointure.
  • Analyser des propriétés arithmétiques (divisibilité, multiples) via des ensembles.

Partie 1 : Notions de Base (5 questions × 0.5 pt = 2.5 pts)

Ensembles donnés :

  • \( A = \{12, 24, 36, 48, 60\} \)
  • \( B = \{24, 48, 72, 96\} \)
  • \( C = \{10, 20, 30, 40, 50, 60\} \)

1. Donnez le cardinal de \( A \cup B \). (0.5 pt)

2. Énumérez les éléments de \( A \cap C \). (0.5 pt)

3. Quel est le plus grand élément de \( B \setminus A \) ? (0.5 pt)

4. L'ensemble \( C \) est-il inclus dans \( A \cup B \) ? Justifiez. (0.5 pt)

5. Trouvez un nombre premier présent dans \( A \cup B \cup C \). (0.5 pt)

Partie 2 : Opérations Avancées (5 questions × 0.5 pt = 2.5 pts)

1. Calculez \( (A \triangle B) \cap C \) (où \( \triangle \) est la différence symétrique). (0.5 pt)

2. Créez l'ensemble des éléments de \( A \) qui sont des multiples de 12 mais pas de 24. (0.5 pt)

3. Vérifiez si \( \{24, 48\} \subseteq (A \cap B) \). (0.5 pt)

4. Trouvez \( \mathcal{P}(B) \) (l'ensemble des parties de \( B \)) et donnez son cardinal. (0.5 pt)

5. Si \( D = \{x \in A \mid x \text{ divise } 60\} \), listez les éléments de \( D \). (0.5 pt)

Partie 3 : Relations et Propriétés (5 questions × 0.5 pt = 2.5 pts)

1. Les ensembles \( A \) et \( C \) sont-ils disjoints ? Justifiez. (0.5 pt)

2. Trouvez toutes les paires d'ensembles disjoints parmi \( A, B, C \). (0.5 pt)

3. Montrez que \( A \) est une anti-chaîne pour la relation "divise". (0.5 pt)

4. Quel est le plus petit multiple commun (PPCM) de tous les éléments de \( A \cap B \) ? (0.5 pt)

5. Construisez un ensemble \( E \) tel que \( E \subseteq C \) et \( |E| = 3 \). (0.5 pt)

Partie 4 : Problème Synthèse (5 questions × 0.5 pt = 2.5 pts)

Contexte : On définit une famille d'ensembles comme une collection d'ensembles partageant une propriété commune.

1. Trouvez les éléments appartenant à exactement deux ensembles parmi \( A, B, C \). (0.5 pt)

2. Calculez le complément de \( B \cap C \) par rapport à \( A \cup B \cup C \). (0.5 pt)

3. Combien de sous-ensembles de \( A \) ont un cardinal pair ? (0.5 pt)

4. Si on ajoute \( 120 \) à \( B \), la propriété "\( B \) contient uniquement des multiples de 24" reste-t-elle vraie ? (0.5 pt)

5. Écrivez une relation entre \( A \) et \( C \) utilisant les symboles \( \subseteq, \cap, \cup \) ou \( \setminus \). (0.5 pt)

Examen de Théorie des Ensembles en Python - Université PANDACODEUR - 2024

PAR mR joel Yankam Ngueguim

Examen: Théorie des Ensembles

Examen : Théorie des Ensembles et Applications

Durée : 1 heure

Objectifs :

  • Évaluer la compréhension des opérations ensemblistes.
  • Appliquer les notions d'union, intersection, complément et disjointure.
  • Analyser des propriétés arithmétiques (divisibilité, multiples) via des ensembles.

Partie 1 : Notions de Base (5 questions × 0.5 pt = 2.5 pts)

Ensembles donnés :

  • \( A = \{12, 24, 36, 48, 60\} \)
  • \( B = \{24, 48, 72, 96\} \)
  • \( C = \{10, 20, 30, 40, 50, 60\} \)

1. Donnez le cardinal de \( A \cup B \). (0.5 pt)

2. Énumérez les éléments de \( A \cap C \). (0.5 pt)

3. Quel est le plus grand élément de \( B \setminus A \) ? (0.5 pt)

4. L'ensemble \( C \) est-il inclus dans \( A \cup B \) ? Justifiez. (0.5 pt)

5. Trouvez un nombre premier présent dans \( A \cup B \cup C \). (0.5 pt)

Solution Python pour la Partie 1

# Définition des ensembles
A = {12, 24, 36, 48, 60}
B = {24, 48, 72, 96}
C = {10, 20, 30, 40, 50, 60}

# Question 1
print("1. Cardinal de A ∪ B:", len(A.union(B)))  # Réponse: 7

# Question 2
print("2. A ∩ C:", A.intersection(C))  # Réponse: {60}

# Question 3
print("3. Plus grand élément de B \\ A:", max(B.difference(A)))  # Réponse: 96

# Question 4
print("4. C ⊆ A ∪ B?", C.issubset(A.union(B)))  # Réponse: False

# Question 5
def est_premier(n):
    if n < 2: return False
    for i in range(2, int(n**0.5)+1):
        if n % i == 0: return False
    return True

premiers = [x for x in A.union(B).union(C) if est_premier(x)]
print("5. Nombre premier dans A∪B∪C:", premiers[0] if premiers else "Aucun")  # Réponse: Aucun

Partie 2 : Opérations Avancées (5 questions × 0.5 pt = 2.5 pts)

1. Calculez \( (A \triangle B) \cap C \) (où \( \triangle \) est la différence symétrique). (0.5 pt)

2. Créez l'ensemble des éléments de \( A \) qui sont des multiples de 12 mais pas de 24. (0.5 pt)

3. Vérifiez si \( \{24, 48\} \subseteq (A \cap B) \). (0.5 pt)

4. Trouvez \( \mathcal{P}(B) \) (l'ensemble des parties de \( B \)) et donnez son cardinal. (0.5 pt)

5. Si \( D = \{x \in A \mid x \divise 60\} \), listez les éléments de \( D \). (0.5 pt)

Solution Python pour la Partie 2

# Question 1
diff_sym = A.symmetric_difference(B)
print("1. (A Δ B) ∩ C:", diff_sym.intersection(C))  # Réponse: {60}

# Question 2
multiples = {x for x in A if x%12==0 and x%24!=0}
print("2. Multiples de 12 mais pas de 24 dans A:", multiples)  # Réponse: {12, 36, 60}

# Question 3
print("3. {24,48} ⊆ (A∩B)?", {24,48}.issubset(A.intersection(B)))  # Réponse: True

# Question 4
from itertools import chain, combinations

def powerset(iterable):
    s = list(iterable)
    return set(chain.from_iterable(combinations(s, r) for r in range(len(s)+1)))

pset = powerset(B)
print("4. Cardinal de P(B):", len(pset))  # Réponse: 16 (2^4)

# Question 5
D = {x for x in A if 60%x == 0}
print("5. D = {x ∈ A | x divise 60}:", D)  # Réponse: {12, 24, 60}

Partie 3 : Relations et Propriétés (5 questions × 0.5 pt = 2.5 pts)

1. Les ensembles \( A \) et \( C \) sont-ils disjoints ? Justifiez. (0.5 pt)

2. Trouvez toutes les paires d'ensembles disjoints parmi \( A, B, C \). (0.5 pt)

3. Montrez que \( A \) est une anti-chaîne pour la relation "divise". (0.5 pt)

4. Quel est le plus petit multiple commun (PPCM) de tous les éléments de \( A \cap B \) ? (0.5 pt)

5. Construisez un ensemble \( E \) tel que \( E \subseteq C \) et \( |E| = 3 \). (0.5 pt)

Solution Python pour la Partie 3

# Question 1
print("1. A et C disjoints?", A.isdisjoint(C))  # Réponse: False (60 en commun)

# Question 2
print("2. Paires disjointes:")
if A.isdisjoint(C - {60}):
    print("- A et C\\{60}")
if B.isdisjoint(C):
    print("- B et C")  # Réponse: B et C sont disjoints

# Question 3
def est_anti_chaine(ensemble):
    elements = list(ensemble)
    for i in range(len(elements)):
        for j in range(i+1, len(elements)):
            if elements[i]%elements[j]==0 or elements[j]%elements[i]==0:
                return False
    return True

print("3. A est une anti-chaîne?", est_anti_chaine(A))  # Réponse: False (24 divise 48)

# Question 4
from math import gcd
from functools import reduce

def lcm(a, b):
    return a * b // gcd(a, b)

intersection = A.intersection(B)
ppcm = reduce(lcm, intersection)
print("4. PPCM de A∩B:", ppcm)  # Réponse: 48

# Question 5
import random
E = set(random.sample(list(C), 3))
print("5. E ⊆ C avec |E|=3:", E)  # Exemple: {10, 30, 50}

Partie 4 : Problème Synthèse (5 questions × 0.5 pt = 2.5 pts)

Contexte : On définit une famille d'ensembles comme une collection d'ensembles partageant une propriété commune.

1. Trouvez les éléments appartenant à exactement deux ensembles parmi \( A, B, C \). (0.5 pt)

2. Calculez le complément de \( B \cap C \) par rapport à \( A \cup B \cup C \). (0.5 pt)

3. Combien de sous-ensembles de \( A \) ont un cardinal pair ? (0.5 pt)

4. Si on ajoute \( 120 \) à \( B \), la propriété "\( B \) contient uniquement des multiples de 24" reste-t-elle vraie ? (0.5 pt)

5. Écrivez une relation entre \( A \) et \( C \) utilisant les symboles \( \subseteq, \cap, \cup \) ou \( \setminus \). (0.5 pt)

Solution Python pour la Partie 4

# Question 1
exactement_deux = (A&B - C) | (A&C - B) | (B&C - A)
print("1. Éléments dans exactement 2 ensembles:", exactement_deux)  # Réponse: {24, 48, 60}

# Question 2
univers = A.union(B).union(C)
complement = univers - B.intersection(C)
print("2. Complément de B∩C:", complement)  # Réponse: univers complet (car B∩C=∅)

# Question 3
def nombre_sous_ensembles_pairs(ensemble):
    n = len(ensemble)
    return 2**(n-1)

print("3. Sous-ensembles de A avec cardinal pair:", nombre_sous_ensembles_pairs(A))  # Réponse: 16

# Question 4
B_new = B.copy()
B_new.add(120)
tous_mult_24 = all(x%24==0 for x in B_new)
print("4. B reste multiples de 24 après ajout de 120?", tous_mult_24)  # Réponse: True

# Question 5
print("5. Relation exemple: A ∩ C = {60}")  # Réponse possible
 
 
Aucune note. Soyez le premier à attribuer une note !

Ajouter un commentaire

Anti-spam