Algorithmique et Python (Première)
Dans ce chapitre d'algorithmique de Première, tu revois les bases de Python (variables, conditions, boucles, fonctions, listes) et tu les mets au service des mathématiques. Tu apprends à programmer des suites, des algorithmes de seuil, la dichotomie et des simulations aléatoires.
Bases de Python
- Une variable désigne un emplacement en mémoire ; l'affectation d'une valeur se fait avec le symbole =.
- Les types de base sont int, float, str et bool ; attention à ne pas confondre = (affectation) et == (test d'égalité).
- L'opérateur // donne le quotient entier et % le reste : 7 // 2 donne 3 et 7 % 2 donne 1.
- La structure if / elif / else exécute un bloc d'instructions seulement si une condition est vérifiée.
Boucles, fonctions et listes
- La boucle for k in range(a, b) répète un bloc pour allant de à : c'est une boucle bornée.
- La boucle while répète un bloc tant qu'une condition est vraie (attention aux boucles infinies).
- Une fonction se définit avec def et renvoie un résultat avec return, alors que print se contente d'afficher.
- Une liste L est indexée à partir de ; len(L) donne sa longueur et L.append(x) ajoute x à la fin.
Algorithmes classiques
- Algorithme de seuil : une boucle while cherche le plus petit rang à partir duquel une quantité dépasse une valeur donnée.
- Suite définie par : on applique fois la fonction à partir de pour obtenir .
- Dichotomie : on coupe l'intervalle en deux et on garde la moitié où change de signe, jusqu'à la précision voulue.
Exemple corrigé
Écrire un programme qui détermine le plus petit entier tel que .
- Le nombre de tours n'est pas connu à l'avance : on choisit une boucle while et on initialise n = 0.
- Tant que , on ajoute à n : while 2**n <= 1000000: n = n + 1.
- Pour , : la boucle continue.
- Pour , : la boucle s'arrête et le programme renvoie .
Ce que tu sauras faire
- Savoir écrire et utiliser une fonction Python avec def et return
- Savoir choisir entre une boucle for et une boucle while
- Savoir programmer le calcul des termes d'une suite définie par récurrence
- Savoir écrire un algorithme de seuil
- Savoir approcher la solution d'une équation par dichotomie
Questions fréquentes
Quelle est la différence entre une boucle for et une boucle while en Python ?
La boucle for répète un bloc un nombre de fois connu à l'avance, par exemple avec range(n). La boucle while répète un bloc tant qu'une condition est vraie, comme dans un algorithme de seuil.
Comment écrire un algorithme de seuil en Python ?
On initialise le rang et la quantité, puis on écrit while suivi de la condition contraire de celle cherchée. Dans la boucle, on calcule la valeur suivante et on ajoute au rang : à la sortie, ce rang est le seuil.
Quelle est la différence entre print et return ?
print affiche une valeur à l'écran sans permettre de la réutiliser. return renvoie une valeur que tu peux stocker dans une variable ou utiliser dans un calcul.