Adloun

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.

  1. Proposer une première version par comparaisons successives.
  2. En proposer une seconde, utilisant une variable qui retient le maximum provisoire.
  3. 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

Faire l'exercice suivant avec le tuteur

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.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant avec le tuteur →