Ressources · 2ⁿᵈᵉ · Mathématiques
Fiche de révision : algorithmique et programmation
Variables et types, affectation, instruction conditionnelle, boucles bornées (for) et non bornées (while), fonctions Python, fonction aléatoire et simulation.
Algorithmique et programmation
Fiche méthode
(Mathématiques 2nde · Algorithmique et programmation)
La démarche pour une question d’algorithmique
1. Je repère les variables : données et résultat.
2. J’écris l’algorithme en français : départ, répétition, résultat.
3. Je choisis la structure : if pour des cas, for si le nombre de tours est connu, while sinon.
4. Je traduis en Python, puis je teste à la main sur une petite valeur.
Cas 1 · Suivre un script
Réflexe — une colonne par variable, une ligne par instruction ; le membre de droite se calcule avec les valeurs de la ligne précédente.
Exemple. « Que vaut la variable à la fin ? »
c = 7 d = c % 3 c = c * d + 2
: d vaut 1, puis c vaut .
Attention — = range une valeur, == compare ; / donne toujours un flottant.
Cas 2 · Écrire une instruction conditionnelle
Réflexe — le cas le plus restrictif d’abord ; je teste une valeur par cas et les valeurs frontières.
Exemple. « Écrire une fonction qui renvoie… selon les cas ». Exemple : mention selon la note n.
def mention(n):
if n >= 16:
return "TB"
elif n >= 14:
return "B"
return "aucune"mention(15) : est faux, est vrai : la fonction renvoie B.
Attention — tester n >= 14 en premier donnerait « B » à une note de 18.
1 / 2
Cas 3 · Boucle for : somme ou compteur
Réflexe — range(a, b) fait b − a tours ; somme à 0 et produit à 1 avant la boucle ; compteur + 1 à chaque succès.
Exemple. « Calculer la somme… ». Exemple : .
S = 0
for k in range(1, 101):
S = S + kk va de 1 à 100 : à la fin, S vaut 5 050.
Attention — range(1, 100) s’arrêterait à 99.
Cas 4 · Boucle while : nombre d’étapes
Réflexe — condition du while = contraire de l’arrêt ; dans le bloc, la grandeur évolue et le compteur augmente de 1.
Exemple. « Au bout de combien… ? ». Exemple : une balle lâchée de 200 cm remonte à chaque rebond aux 3/4 de sa hauteur. Rebonds pour passer sous 50 cm ?
h = 200
n = 0
while h >= 50:
h = h * 0.75
n = n + 1h vaut 150 ; 112,5 ; 84,375 ; puis et : à la fin, n vaut 5.
Attention — pas de != avec des flottants ou des sauts : la boucle risque de ne jamais s’arrêter.
Cas 5 · Écrire et appeler une fonction
Réflexe — ce qui varie devient un paramètre ; je termine par return ; j’appelle avec les arguments dans l’ordre.
Exemple. « Écrire une fonction qui renvoie… ». Exemple : périmètre d’un rectangle L × l.
def perimetre(L, l):
return 2 * (L + l)perimetre(7.5, 4) renvoie 23.0, soit , réutilisable dans un calcul.
Attention — avec print à la place de return, la fonction renvoie None.
Cas 6 · Simuler et estimer une probabilité
Réflexe — une fonction pour une expérience, une boucle for de n tours avec un compteur, puis compteur / n.
Exemple. « Estimer par simulation… ». Exemple : obtenir au moins 5 avec un dé.
from random import randint
def estime(n):
c = 0
for essai in range(n):
if randint(1, 6) >= 5:
c = c + 1
return c / nProbabilité ; estime(n) en donne une valeur approchée qui fluctue.
Attention — randint(1, 6) inclut 6, range(1, 6) l’exclut.
Les pièges
- Confondre = (affectation) et == (comparaison).
- Se tromper de borne : range(a, b) s’arrête à b − 1, randint(a, b) peut renvoyer b.
- Oublier les deux-points ou l’indentation après if, for, while ou def.
- Initialiser une somme dans la boucle au lieu de la faire avant.
- Oublier de convertir avec int ou float ce que renvoie input.
- Terminer une fonction par print au lieu de return.
Ce document est la propriété intellectuelle de Ben, professeur particulier (benprofparticulier.fr), protégée par le Code de la propriété intellectuelle (art. L. 111-1 et L. 122-4). Il est mis à disposition pour un usage personnel de révision. Toute reproduction, diffusion, mise en ligne ou revente, totale ou partielle, sans autorisation écrite est interdite et constitue une contrefaçon (art. L. 335-2).
2 / 2
À propos de cette page
Moi c'est Ben, j'ai créé ce site pour aider le plus d'élèves possible, partout en France. Je peux aussi reprendre avec toi ce qui coince en cours particulier : en visio, ou à domicile si tu es à Marseille.
Prof de maths à Marseille · Cours particuliers au collège · Aide aux devoirs