sciences numériques et technologie (seconde) · Chapitre 3 · Exercice de TD
Le plus grand de trois nombres
Instructions conditionnelles · La structure if / elif / else · niveau 2
Énoncé
Écrire une fonction maximum(a, b, c) qui renvoie le plus grand des trois nombres, sans utiliser la fonction max.
- Proposer une première version par comparaisons successives.
- En proposer une seconde, utilisant une variable qui retient le maximum provisoire.
- Vérifier que les deux traitent correctement le cas où deux valeurs sont égales au maximum.
Corrigé
1. Par comparaisons successives :
def maximum(a, b, c):
if a >= b and a >= c:
return a
elif b >= c:
return b
else:
return c
2. Avec un maximum provisoire :
def maximum(a, b, c):
m = a
if b > m:
m = b
if c > m:
m = c
return m
3. Sur maximum(7, 7, 3), la première version renvoie a grâce aux inégalités larges >=. Avec des inégalités strictes (a > b and a > c, puis elif b > c), la première branche est refusée, mais la deuxième renvoie b — qui vaut aussi : le résultat reste juste. Une égalité au maximum ne change pas la valeur renvoyée, seulement la variable qui la porte ; on le vérifie de même sur maximum(7, 3, 7) (renvoie c) et maximum(3, 7, 7) (renvoie c). La seconde version renvoie m, resté égal à a : elle ne remplace m que sur une amélioration stricte, et un ex æquo n'en est pas une.
La seconde écriture est la plus importante des deux, parce qu'elle se généralise : c'est exactement le schéma du parcours d'une liste pour en chercher le maximum, que l'on retrouvera au chapitre 6. La première, elle, deviendrait inextricable avec quatre nombres.
100 % gratuit
Essaie le suivant avec le tuteur
- L'exercice suivant avec le tuteur, sans compte : il guide pas à pas, sans donner la réponse
- 14 autres exercices corrigés dans ce chapitre, et 23 à chercher avec le tuteur
- Les 2 QCM du chapitre, le premier sans compte
- Le podcast et la vidéo du chapitre et la correction filmée du TD : 2 minutes sans compte
Sans compte : le cours, le premier QCM, 2 minutes de podcast et de vidéo et un exercice avec le tuteur. Pour tout le reste : inscription gratuite en 30 secondes, sans carte bancaire.