Aide-mémoire : les patrons de code

Les squelettes (« patterns ») qu'on réutilise tout le temps - et la règle de chacun (Semaine 1 · Jour 5)

accumulateur recherche maximum / minimum comptage échange

Un patron, c'est un squelette réutilisable

Un patron est une structure de code qui revient sans cesse. On le reconnaît, on le recopie, on l'adapte. La plupart sont des variantes d'un même geste : initialiser → parcourir → mettre à jour → lire le résultat après la boucle.

Patron nº1

L'accumulateur

Cumuler un résultat tour après tour (somme, produit, moyenne…).

total = 0 # 1. initialiser (effet nul) for valeur in mesures: # 2. parcourir total = total + valeur # 3. accumuler print(total) # 4. lire APRÈS la boucle

La règle

L'accumulateur vit en dehors de la boucle (sinon il repart à zéro à chaque tour) et on le lit après.

On part de l'effet nul de l'opération : somme → 0, produit → 1.

Patron nº2

Chercher dans un tableau (le drapeau)

Savoir si une valeur est présente - et où.

trouve = False # drapeau baissé for valeur in mesures: if valeur == cible: trouve = True # on lève le drapeau break # inutile de continuer print(trouve)

La règle

Le drapeau démarre à False avant la boucle ; on ne le passe à True que si on rencontre la cible.

break est un bonus d'efficacité (on arrête dès qu'on a trouvé). Variante : mémoriser la position trouvée.

Patron nº3

Le maximum (et le minimum)

Trouver la plus grande (ou plus petite) valeur.

maximum = mesures[0] # on parie sur le 1er for valeur in mesures: if valeur > maximum: maximum = valeur # nouveau champion print(maximum)

La règle

On initialise avec le premier élément (liste[0]), pas avec 0 : sinon des valeurs négatives fausseraient tout.

Pour le minimum, on change juste > en <. C'est un accumulateur déguisé : « le meilleur vu jusqu'ici ».

Patron nº4

Compter sous condition

Combien d'éléments respectent un critère ?

compte = 0 # rien compté for valeur in mesures: if valeur > seuil: compte = compte + 1 # un de plus print(compte)

La règle

Encore un accumulateur : il part de 0 et grimpe de 1 seulement si la condition est vraie.

Le + 1 est dans le if, pas dans la boucle : sinon on compterait tout le monde.

Patron nº5

Échanger deux variables (la temporaire)

Mettre la valeur de x dans y et vice-versa.

temp = x # x mis de côté x = y # x prend y y = temp # y reprend l'ancien x
x = 7 y = 4 (si départ x=4, y=7)

La règle

Pour échanger deux verres pleins, il faut un 3e verre vide : temp. Sans lui, x = y écrase la valeur avant qu'on la sauve.

Raccourci Python une fois compris : x, y = y, x.

Tableau de synthèse

Le bon départ et le réflexe clé pour chaque patron. La plupart démarrent avant la boucle et se lisent après.

PatronOn initialise à…La règle à retenir
Accumulateur (somme)0Vit hors de la boucle ; effet nul = 0 (produit : 1).
Recherche (drapeau)FalseOn lève le drapeau si trouvé ; break = efficacité.
Maximum / minimumliste[0]Jamais 0 ; > pour le max, < pour le min.
Comptage conditionnel0Le + 1 est à l'intérieur du if.
Échangetemp = xUne 3e variable, sinon on écrase une valeur.

Concevoir d'abord : le pseudocode

Avant de coder, on décrit le patron en langage presque naturel. Le pseudocode est indépendant du langage ; le code n'est que la traduction.

Pseudocode (la logique)

maximum ← le premier élément POUR chaque valeur de la liste SI la valeur > maximum ALORS maximum ← la valeur AFFICHER le maximum

Python (la traduction)

maximum = mesures[0] for valeur in mesures: if valeur > maximum: maximum = valeur print(maximum)

La flèche dit « reçoit » ; les mots POUR / SI / ALORS / AFFICHER sont en français. Concevoir d'abord, coder ensuite.