- Définir un algorithme et ses propriétés
- Décomposer un problème en étapes
- Écrire et tester un pseudo-code
Un algorithme, c’est une recette — mais sans ambiguïté
Un algorithme est une suite finie d’instructions précises qui transforme des entrées en sorties. Pour être valable, il doit être :
- Précis : chaque étape est comprise de la même façon par tous (« ajoute du sel » est flou ; « ajoute 5 g de sel » est précis).
- Fini : il se termine après un nombre limité d’étapes.
- Correct : il donne le bon résultat pour toutes les entrées prévues.
Un ordinateur exécute ce qu’on lui dit, à la lettre. Si ton algorithme est faux, le programme sera faux, quel que soit le langage.
Exemple : trouver le plus grand nombre d’une liste
Réfléchis comme un humain : tu parcours la liste en retenant le plus grand vu jusqu’ici. En pseudo-code :
maximum ← premier élément de la liste
pour chaque élément x de la liste :
si x > maximum :
maximum ← x
renvoyer maximum
Teste à la main avec la liste [4, 9, 2, 7] : maximum vaut 4, puis 9 (car 9 > 4), puis reste 9, puis reste 9. Résultat : 9. Le même algorithme en Python :
def maximum(liste):
m = liste[0]
for x in liste:
if x > m:
m = x
return m
print(maximum([4, 9, 2, 7])) # 9
print(maximum([-5, -2, -8])) # -2 : vérifie un cas avec des négatifs !
La méthode en 4 étapes
- Comprendre : quelles sont les entrées ? quelle sortie attend-on ? Reformule le problème avec tes mots.
- Résoudre à la main sur un petit exemple. Si tu ne sais pas le faire à la main, tu ne sauras pas l’écrire.
- Écrire les étapes en pseudo-code, en découpant les parties difficiles en sous-problèmes.
- Tester : un cas normal, un cas limite (liste vide, un seul élément, valeurs négatives), un cas surprenant.
Les trois briques de tout algorithme
- Séquence : faire A, puis B, puis C.
- Condition : si… alors… sinon…
- Répétition : tant que… / pour chaque…
Avec ces trois briques (et les fonctions, que tu verras bientôt), on peut exprimer n’importe quel calcul réalisable par ordinateur. Les leçons suivantes les mettent en pratique en Python.
Erreurs courantes
- Coder tout de suite sans avoir résolu le problème sur papier.
- Oublier le cas limite : liste vide, zéro, texte vide.
- Écrire des étapes floues (« trie un peu la liste ») au lieu d’étapes que la machine peut exécuter.
- Tester une seule fois et conclure que « ça marche ».