Tu te souviens de la première fois que tu as vu une boucle ? Ce moment où tu as compris que l'ordinateur pouvait répéter des instructions sans se fatiguer. En NSI, les boucles for et while sont des outils indispensables. Que tu sois en Seconde (SNT) ou en spécialité NSI, les maîtriser te permettra de résoudre des problèmes complexes et de briller au bac. Dans cet article, je te propose un plan de révision sur 2 semaines, avec des explications claires, des exemples concrets et des conseils pour progresser efficacement.
Pourquoi les boucles sont-elles essentielles en NSI ?
En programmation, on a souvent besoin de répéter des actions. Par exemple, afficher les nombres de 1 à 10, calculer la somme d'une liste, ou attendre qu'une condition soit remplie. Les boucles permettent d'automatiser ces répétitions, ce qui rend ton code plus court, plus lisible et plus puissant. Sans elles, tu devrais écrire chaque instruction à la main, ce qui serait vite ennuyeux et source d'erreurs.
Au programme de NSI, les boucles sont étudiées dès la Seconde avec le langage Python, puis approfondies en Première et Terminale. Elles sont souvent combinées avec d'autres notions comme les listes, les fonctions ou les algorithmes. Savoir bien les utiliser est donc un atout majeur pour tes évaluations et pour le bac.
Comprendre la boucle for en Python
La boucle for sert à parcourir une séquence (comme une liste, une chaîne de caractères, ou un range). Elle est idéale quand tu sais à l'avance combien de fois tu veux répéter une action.
Voici la syntaxe de base :
for variable in séquence:
# instructions à répéter
À chaque itération, la variable prend la valeur de l'élément suivant dans la séquence. Par exemple :
for i in range(5):
print(i)
Ce code affiche les nombres de 0 à 4. La fonction range(5) génère une séquence de 0 à 4 (5 valeurs). Tu peux aussi spécifier un début et une fin : range(2, 6) donne 2,3,4,5. Et même un pas : range(1, 10, 2) donne les nombres impairs de 1 à 9.
Parcourir une liste avec for
Imaginons que tu as une liste de notes et que tu veux les afficher toutes :
notes = [12, 15, 8, 19]
for note in notes:
print(note)
Ici, la variable note prend successivement les valeurs de la liste. C'est simple et efficace.
Utiliser range pour répéter un nombre précis de fois
Parfois, tu veux juste répéter une action N fois, sans utiliser la valeur de l'itération. Par exemple, afficher 3 fois "Bonjour" :
for _ in range(3):
print("Bonjour")
On utilise souvent _ comme nom de variable quand on ne s'en sert pas. C'est une convention.
Maîtriser la boucle while en Python
La boucle while répète des instructions tant qu'une condition est vraie. Elle est utile quand le nombre d'itérations n'est pas connu à l'avance, par exemple quand on attend une saisie utilisateur ou qu'on calcule une valeur jusqu'à un certain seuil.
Syntaxe :
while condition:
# instructions
Attention : il faut que la condition puisse devenir fausse, sinon c'est une boucle infinie !
Exemple : afficher les nombres de 1 à 5 avec while :
i = 1
while i <= 5:
print(i)
i = i + 1
Ici, on initialise i à 1, puis on boucle tant que i est inférieur ou égal à 5. À chaque tour, on affiche i puis on l'incrémente. Quand i devient 6, la condition est fausse et la boucle s'arrête.
Pièges à éviter avec while
Le piège classique est d'oublier d'incrémenter la variable, ce qui provoque une boucle infinie. Par exemple :
i = 1
while i <= 5:
print(i)
# on oublie i = i + 1
Ce code affiche 1 indéfiniment. Pour l'arrêter, il faut interrompre le programme (Ctrl+C dans la console).
Autre piège : une condition qui n'est jamais vraie. Par exemple :
while False:
print("jamais")
Ici, la condition est fausse dès le départ, donc la boucle ne s'exécute pas.
Comparer for et while : quand utiliser chacun ?
Règle simple : si tu sais combien de fois tu dois répéter, utilise for. Si tu dois répéter jusqu'à ce qu'une condition change (par exemple, tant que l'utilisateur n'a pas saisi un nombre valide), utilise while.
Par exemple, pour calculer la somme des entiers de 1 à N, tu peux utiliser les deux :
# Avec for
somme = 0
for i in range(1, N+1):
somme += i
# Avec while
somme = 0
i = 1
while i <= N:
somme += i
i += 1
Les deux fonctionnent, mais le for est plus concis et moins risqué (pas de risque d'oubli d'incrémentation).
Méthode de révision sur 2 semaines
Voici un plan concret pour réviser les boucles en deux semaines, même si tu pars de zéro.
Semaine 1 : Comprendre et pratiquer les bases
Jour 1-2 : Relis ton cours et les exemples de cet article. Reproduis les exemples de code dans ton environnement Python (par exemple, sur https://www.nsi-lycee.fr/cours). Assure-toi de bien comprendre la syntaxe et le comportement de chaque boucle.
Jour 3-4 : Fais des exercices simples : afficher les nombres pairs de 0 à 20, calculer la somme des éléments d'une liste, etc. Utilise les exercices proposés sur https://www.nsi-lycee.fr/exercices.
Jour 5-7 : Attaque-toi à des exercices plus complexes : recherche du maximum dans une liste, comptage des voyelles dans une chaîne, etc. N'hésite pas à décomposer le problème en étapes.
Semaine 2 : Consolider et se préparer au bac
Jour 8-9 : Revois les pièges classiques : boucles infinies, erreurs d'intervalle dans range, confusion entre for et while. Entraîne-toi à corriger des codes erronés.
Jour 10-11 : Fais des sujets de bac (ou des exercices type bac) qui utilisent des boucles. Le bac NSI aime bien les algorithmes de recherche, de tri, ou de calcul itératif.
Jour 12-14 : Révise en conditions réelles : chronomètre-toi, écris du code sans documentation, et teste-toi. Reprends les erreurs que tu as faites et analyse-les. Si tu bloques sur une erreur, consulte la page https://www.nsi-lycee.fr/python/erreurs pour comprendre les messages d'erreur courants.
En complément, tu peux consulter des ressources en ligne pour t'aider, comme sur https://www.allolycee.com qui propose des cours particuliers et du soutien.
Cas d'usage concret : calculer une moyenne avec des boucles
Prenons un exemple classique : calculer la moyenne d'une liste de notes. Avec une boucle for, on peut additionner toutes les notes puis diviser par leur nombre :
notes = [12, 15, 8, 19, 10]
somme = 0
for note in notes:
somme += note
moyenne = somme / len(notes)
print("La moyenne est", moyenne)
Avec une boucle while, on peut aussi parcourir la liste avec un indice :
notes = [12, 15, 8, 19, 10]
somme = 0
i = 0
while i < len(notes):
somme += notes[i]
i += 1
moyenne = somme / len(notes)
print("La moyenne est", moyenne)
Les deux approches sont valables. La première est plus naturelle en Python, la seconde montre comment on peut contrôler l'index.
Aller plus loin : les boucles imbriquées
Parfois, une boucle ne suffit pas. Par exemple, pour afficher un tableau de multiplication, il faut deux boucles imbriquées : une pour les lignes, une pour les colonnes.
for i in range(1, 4):
for j in range(1, 4):
print(i * j, end=" ")
print()
Ce code affiche :
1 2 3
2 4 6
3 6 9
Les boucles imbriquées sont très utiles pour manipuler des tableaux à deux dimensions (matrices).
Conseils pour réussir l'épreuve du bac NSI
Au bac, tu devras écrire du code Python sans console, donc il faut être précis. Voici quelques conseils :
- Relis toujours ton code pour vérifier les indentations et la ponctuation (les deux-points en fin de ligne).
- Teste mentalement ton code avec un petit exemple pour vérifier qu'il fait ce que tu veux.
- Utilise des noms de variables explicites.
- Pense aux cas limites : liste vide, nombre négatif, etc.
- Si tu as le temps, trace l'exécution de ton code sur papier.
Pour t'entraîner, tu peux aussi consulter des annales corrigées sur le site https://www.allobac.fr.
Conclusion
Les boucles for et while sont des briques fondamentales en programmation. En les révisant régulièrement et en pratiquant, tu vas les maîtriser rapidement. Suis ce plan sur 2 semaines, et tu aborderas tes évaluations avec confiance. N'oublie pas : la clé, c'est la pratique. Alors ouvre ton éditeur Python et amuse-toi à créer des boucles !
