DS 0001 (Corrigé)⚓︎
Exercice 1⚓︎
-
Un algorithme est appelé glouton lorsqu'il fait le meilleur choix local à chaque étape en espérant obtenir le meilleur choix global.
-
Comme on ne peut pas représenter l'infinité des nombres réels avec un mémoire finie, les nombres flottants sont des valeurs approchées. La comparaison de deux nombres flottants peut donc être fausse.
-
1 2 3 4 5 6
def maximum(tab): m = tab[0] # tab est non vide, donc on peut prendre l'élément d'indice 0 for elt in tab: if elt > m: m = elt return m
Exercice 2⚓︎
Il y a 6 erreurs dans ce code:
s == 0est incorrect, il faut écrires = 0pour affecter la valeur0às.- il manque
:en fin de lignefor element in tab(SyntaxError). - il faut tester
element >=0 NameError: il manque un t àelemen:s = s + element- cette ligne est mal indentée (
IndentationError - la fonction doit renvoyer la somme avec
return set non l'afficher avecprint(s)
Le code corrigé:
1 2 3 4 5 6 | |
Exercice 3⚓︎
1 2 3 4 5 6 7 8 | |
Exercice 4⚓︎
-
Attributs :
- ouvert (
bool) : pour déterminer si l'état du coffre, ouvert ou fermé. VautFalsepar défaut, à l'instanciation. - code (
int) : le code nécessaire à l'ouverture. Déterminé à l'instanciation (paramètre du constructeur__init__). - montant (
float): le montant d'argent contenu dans le coffre. Vaut0par défaut, à l'instanciation.
- ouvert (
-
Méthodes:
ouvrir(c:int): ouvre le coffre si la valeurcpassée en argument correspond au code du coffre.fermer(): ferme le coffre.consulter() -> str: donne le montant du coffre si celui est ouvert.déposer(m:float): ajoute au montant du coffre la valeurmpassée en argument.retirer(m:float): enlève au montant du coffre la valeurmpassée en argument.