Corrigé sujet 12 - Année : 2023
Exercice 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
Attention
- Le sujet est difficile et aborde diverses notions du programme (arbre binaire de recherche, récursivité, programmation objet).
- De façon très inhabituelle pour une exercice 1, une portion de code est fournie, c'est le code de la classe
ABR
, avec la méthode d'affichage. A noter que laif
de cette méthode n'est jamais executé, en effetNone
n'est pas une instance de la classeABR
, par contreNone
a déjà une méthode__repr__
(ce qui arrête la récursivité) - La fonction a écrire
ajoute
devrait être une méthode de classeABR
et pas une fonction externe, elle devrait donc modifier l'arbre donné en paramètre et pas en créer un nouveau.
Exercice 2
1 2 3 4 5 6 7 8 9 10 11 12 |
|
- Parcours de la liste des masses
- Tant qu'on a pas atteint la première boite vide et que la masse ne rentre pas on avance dans la liste de boites.
- La masse s'insère dans une boite vide, donc le nombre de boite utilisée augmente
- Les boites sont comptées à partir de zéro, donc on ajoute un au nombre
Attention
- Dans cette correction la fonction renvoie 1 pour si la liste de masse est vide, si on veut que la fonction renvoie
0
, on doit soit introduire unif
dans lereturn
(hors programme), soit modifier le code donné. - Dans le
pdf
du sujet (mais pas dans le code fourni), on trouve unC
à la place d'unc
pour la capacité des boîtes.