01 76 38 08 47
Logo Kartable
AccueilParcourirRechercheSe connecter

Pour profiter de 10 contenus offerts.

Logo Kartable
AccueilParcourirRechercheSe connecter

Pour profiter de 10 contenus offerts.

  1. Accueil
  2. Terminale
  3. Mathématiques
  4. Problème : Générer par un algorithme les parties à 2 et à 3 éléments d'un ensemble fini

Générer par un algorithme les parties à 2 et à 3 éléments d'un ensemble fini Problème

Ce contenu a été rédigé par l'équipe éditoriale de Kartable.

Dernière modification : 12/05/2025 - Conforme au programme 2025-2026

Dans cet exercice, on étudie les combinaisons à k éléments d'un ensemble à n éléments distincts. 

Quelle est la définition d'une combinaison et quel est le nombre de combinaison à k éléments d'un ensemble de n éléments distincts ? 

On peut répondre à cette question grâce au cours. 

Il faut tout d'abord vérifier que k \leq n. 

Une combinaison de k éléments d'un ensemble à n éléments est un sous-ensemble sans répétition et sans ordre de l'ensemble de départ. 
Il y a \begin{pmatrix} n \\ k \end{pmatrix} combinaisons à k éléments d'un ensemble à n éléments.

Une combinaison de k éléments d'un ensemble à n éléments est un sous-ensemble sans répétition de l'ensemble de départ. 
Il y a \begin{pmatrix} n \\ k \end{pmatrix} combinaisons à k éléments d'un ensemble à n éléments.

On se propose d'étudier un algorithme permettant d'obtenir les combinaisons à 2 éléments d'un ensemble fini de nombres réels. 

Comment compléter l'algorithme suivant ?

def generation_parties(L)
    n=len(L)
    assert (1) #On s'assure qu'il y ait plus de deux éléments dans la liste
    return [(2)]

(1) On veut s'assurer qu'il y a plus de 2 éléments dans la liste d'entrée donc on remplace (1) par n>=2.

(2) On veut retourner l'ensemble des combinaisons à 2 éléments de l'ensemble de départ, et ce en une seule ligne. On va ici utiliser les compréhensions de liste, qui permettent de parcourir des listes avec des conditions et ce sur une seule ligne. 

La syntaxe est la suivante : result for element in liste if condition

Dans le cas étudié, on veut renvoyer une combinaison à deux éléments de la liste de départ L sans qu'il y ait de répétitions donc on remplace (2) par : [a,b] for a in L for b in L if a<b

En effet, on veut un duo de deux éléments de L.
On s'assure de ne pas avoir de répétition grâce à la condition a<b. 

On remplace donc : 

  • (1) par n>=2
  • (2) par [a,b] for a in L for b in L if a<b

On veut désormais compléter la fonction précédente en lui donnant un nouveau paramètre m. 

  • Si m=2 on veut les combinaisons à 2 éléments de la liste.
  • Si m=3 on veut les combinaisons à 3 éléments de la liste.

 

Comment écrire la nouvelle fonction generation_parties(L,m) ?

Pour écrire la nouvelle fonction generate_parties(L,m), on va rajouter une boucle conditionnelle qui va permettre de faire deux actions différentes en fonction de la valeur de m. 

Pour renvoyer les combinaisons à 3 éléments de la liste L, on utilise exactement la même méthode que pour les combinaisons à 2 éléments.

def generate_parties(L,m) : 
    n=len(L)
    assert n>=m #on s'assure que la liste contient plus d'éléments que la taille des combinaisons recherchées.
    if m==2 : 
        return [(a,b) for a in L for b in L if a<b] #si on demande les combinaisons à deux éléments on renvoie les combinaisons comme à la question précédente
    elif m==3 : 
        return [(a,b,c) for a in L for b in L for c in L if a<b<c] #si on demande les combinaisons à trois éléments on utilise la même méthode en incluant une nouvelle variable c

La nouvelle fonction s'écrit donc :

def generate_parties(L,m) : 
    n=len(L)
    assert n>=m
    if m==2 : 
        return [(a,b) for a in L for b in L if a<b] 
    elif m==3 : 
        return [(a,b,c) for a in L for b in L for c in L if a<b<c]

La charte éditoriale garantit la conformité des contenus aux programmes officiels de l'Éducation nationale. en savoir plus

Les cours et exercices sont rédigés par l'équipe éditoriale de Kartable, composéee de professeurs certififés et agrégés. en savoir plus

Voir aussi
  • Cours : Combinatoire et dénombrement
  • Quiz : Combinatoire et dénombrement
  • Exercice : Connaître le vocabulaire du dénombrement
  • Exercice : Déterminer la réunion d'ensembles finis
  • Exercice : Déterminer l'intersection d'ensembles finis
  • Exercice : Déterminer le produit cartésien d'ensembles finis
  • Exercice : Déterminer si deux ensembles finis sont disjoints
  • Exercice : Déterminer le cardinal d'un ensemble fini
  • Exercice : Déterminer le cardinal d'une réunion d'ensembles finis deux à deux disjoints
  • Exercice : Déterminer le cardinal d'une intersection de deux ensembles finis non disjoints
  • Exercice : Déterminer le cardinal d'un produit cartésien de deux ensembles finis
  • Exercice : Déterminer le cardinal d'un produit cartésien d'ensembles finis
  • Exercice : Déterminer le nombre de k-uplet d'un ensemble fini avec répétition
  • Exercice : Connaître les caractéristiques de la factorielle
  • Exercice : Calculer la valeur d'une factorielle
  • Exercice : Déterminer le nombre de k-uplet d'un ensemble fini sans répétition
  • Exercice : Déterminer le nombre de permutation d'un ensemble fini
  • Exercice : Déterminer le nombre de sous-ensembles à k éléments d'un ensemble fini
  • Exercice : Déterminer le nombre de parties d'un ensemble fini
  • Exercice : Calculer la valeur d'un coefficient binomial
  • Exercice : Démontrer la relation de la somme des coefficients binomiaux par dénombrement
  • Exercice : Démontrer la formule de Pascal par le calcul
  • Exercice : Démontrer la formule de Pascal par méthode combinatoire
  • Problème : Démontrer une égalité à l'aide de la formule de Pascal
  • Exercice : Déterminer la représentation adaptée à un problème de dénombrement
  • Exercice : Reconnaître les objets à dénombrer dans un problème de dénombrement
  • Problème : Réaliser un dénombrement simple dans une situation d'informatique
  • Problème : Réaliser un dénombrement simple dans une situation de génétique
  • Problème : Réaliser un dénombrement simple dans une situation de théorie des jeux
  • Problème : Réaliser un dénombrement simple dans une situation de probabilité
  • Problème : Générer par un algorithme une liste de coefficients binomiaux successifs à l'aide de la relation de Pascal
  • Problème : Générer par un algorithme des permutations d'un ensemble fini
  • Problème : Générer par un algorithme le tirage aléatoire d'une permutation d'un ensemble fini

Nos conseillers pédagogiques sont à votre écoute 7j/7

Nos experts chevronnés sont joignables par téléphone et par e-mail pour répondre à toutes vos questions.
Pour comprendre nos services, trouver le bon accompagnement ou simplement souscrire à une offre, n'hésitez pas à les solliciter.

support@kartable.fr
01 76 38 08 47

Téléchargez l'application

Logo application Kartable
KartableWeb, iOS, AndroidÉducation

4,5 / 5  sur  20262  avis

0.00
app androidapp ios
  • Contact
  • Aide
  • Livres
  • Mentions légales
  • Recrutement

© Kartable 2025