Maths (Spé) — Algorithmique et programmation
Boucles, fonctions, listes, algorithmes de recherche et simulation probabiliste en Python
Les boucles sont le coeur de la programmation : elles permettent de répéter des instructions. La boucle for est pour un nombre connu de répétitions, la boucle while pour une condition d'arrêt.
Exemple
Piège à éviter
range(n) va de 0 à n-1 (n est EXCLU). Pour aller de 1 à n inclus, utilisez range(1, n+1). L'erreur classique est d'écrire range(1, n) qui s'arrête à n-1. Vérifiez toujours avec un petit exemple : range(1, 4) donne 1, 2, 3.
Les fonctions permettent de structurer un programme en blocs réutilisables. En maths, elles sont indispensables pour coder des formules et des algorithmes.
Exemple
Piège à éviter
N'oubliez pas le return ! Sans return, la fonction renvoie None et votre résultat est perdu. Erreur classique : écrire print(resultat) au lieu de return resultat. print affiche à l'écran mais ne renvoie PAS la valeur.
Les listes sont des collections ordonnées qui stockent plusieurs valeurs. Elles sont omniprésentes en Python et permettent de manipuler des données, des résultats d'expériences ou des termes de suites.
Exemple
Piège à éviter
Les indices commencent à 0 en Python ! L = [10, 20, 30] : L[0] = 10, L[1] = 20, L[2] = 30. L[3] provoque une erreur IndexError. Le dernier élément est L[len(L)-1] ou plus simplement L[-1].
Les algorithmes classiques (somme, maximum, comptage, recherche) reviennent dans tous les exercices de programmation. Savoir les écrire de mémoire est un gain de temps considérable.
Exemple
Piège à éviter
Pour initialiser le maximum, utilisez m = L[0] (premier élément), PAS m = 0 ! Si la liste contient des nombres négatifs (ex : [-5, -3, -1]), m = 0 donnerait 0 comme « maximum » alors que 0 n'est pas dans la liste.
Python permet de simuler des expériences aléatoires et d'estimer des probabilités par la méthode fréquentiste. Plus le nombre de simulations est grand, plus l'estimation est précise.
Exemple
Piège à éviter
random.randint(a, b) inclut BOTH bornes a et b. C'est une exception en Python où d'habitude la borne supérieure est exclue (comme dans range). Pour un dé : random.randint(1, 6) est correct, random.randint(1, 7) donnerait un « dé à 7 faces ».
10 questions
Voir tous les chapitres « Algorithmique et programmation » de la Seconde à la Terminale
Les points clés à retenir sur Algorithmique et programmation Python, extraits du quiz de révision.
Réponse : 1, 2, 3, 4
range(1, 5) produit les entiers de 1 (inclus) à 5 (exclu) : 1, 2, 3, 4.
Réponse : 7
Les indices commencent à 0. L[0] est le premier élément : 7.
Réponse : while
La boucle while s'exécute tant qu'une condition est vraie, utile quand on ne sait pas à l'avance le nombre d'itérations.
Réponse : L = [1, 2, 3, 5]
append ajoute l'élément à la fin de la liste. L devient [1, 2, 3, 5].