Corrigé Centrale 2025 Option informatique MP — Partie II, II.4 (Q19 à Q21) : Éléments minimaux pour un ordre partiel quelconque
Sujet officiel du concours Centrale, session 2025, épreuve Option informatique MP. Corrigé rédigé par Ibrahim Alame.
Sujet officiel (PDF, site du concours)
Énoncé
On ne dispose plus que d'un type abstrait element et d'une fonction inferieur : element -> element -> bool qui teste pour un ordre partiel . Pour , la largeur de est le cardinal maximal d'une partie de formée d'éléments deux à deux incomparables :
Q19. Écrire existe_plus_petit : element -> element list -> bool : existe_plus_petit u liste vaut true ssi un élément de liste est inférieur ou égal à u.
Q20. Écrire ajoute_plus_petit : element -> element list -> element list, qui ajoute u à la liste après en avoir supprimé tous les éléments supérieurs ou égaux à u.
Q21. En déduire elements_minimaux : element list -> element list, qui renvoie les éléments minimaux d'un ensemble donné par une liste sans doublons, en au plus appels à inferieur, où et ; justifier brièvement.
Corrigé
Q19.
let existe_plus_petit (u : element) (liste : element list) : bool =
List.exists (fun v -> inferieur v u) liste
List.exists évalue inferieur v u pour les éléments v successifs et renvoie true dès qu'un test réussit : c'est exactement « il existe dans la liste avec ». Au plus appels à inferieur.
Q20.
let ajoute_plus_petit (u : element) (liste : element list) : element list =
u :: List.filter (fun v -> not (inferieur u v)) liste
On ne garde de liste que les tels que , c'est-à-dire qu'on supprime ceux qui sont supérieurs ou égaux à , puis on ajoute en tête. Exactement appels à inferieur.
Ce que le correcteur attend : supprimer les éléments supérieurs ou égaux à , et non garder ceux qui lui sont inférieurs : pour un ordre partiel, « ne pas être supérieur ou égal à » ne veut pas dire « être inférieur à » (un élément incomparable à doit rester).
100 % gratuit
La suite du corrigé est sur Adloun
Le corrigé rédigé en entier, question par question, et le tuteur pour poser des questions sur ce sujet.
Voir le corrigé complet, gratuitementInscription gratuite en 30 secondes (e-mail, nom d'utilisateur, mot de passe, classe ou profil), sans carte bancaire : arrivée directe sur le corrigé.