Pourquoi Python est le langage idéal pour la NSI ?
Si tu débutes en Numérique et Sciences Informatiques (NSI), tu vas rapidement rencontrer Python. Ce langage est le pilier du programme pour plusieurs raisons. D'abord, sa syntaxe est simple et lisible, ce qui te permet de te concentrer sur les concepts algorithmiques plutôt que sur des détails techniques complexes. Ensuite, il est extrêmement polyvalent : tu pourras l'utiliser pour créer des algorithmes, analyser des données, développer des sites web ou même programmer des objets connectés. Enfin, sa grande communauté et ses nombreuses bibliothèques (comme NumPy pour les calculs scientifiques ou Tkinter pour les interfaces graphiques) en font un outil professionnel utilisé partout dans le monde. Bref, bien démarrer avec Python, c'est te donner toutes les clés pour réussir en NSI et au-delà.
Ton environnement de travail : où coder en Python ?
Avant de plonger dans les exercices, il faut installer Python et choisir un environnement de développement intégré (IDE). Pour la NSI, nous te recommandons deux options principales :
- Thonny : Parfait pour les débutants. C'est un IDE léger, simple et installé par défaut dans de nombreux lycées. Il te montre étape par étape l'exécution de ton code, ce qui est génial pour comprendre ce qu'il se passe.
- Visual Studio Code (VS Code) avec l'extension Python : Plus puissant et professionnel. Il propose de l'auto-complétion, un débogueur et une gestion de projets. C'est un excellent choix si tu veux un outil qui te suivra après le lycée.
Pour installer Python, rends-toi simplement sur le site python.org et télécharge la dernière version stable. Durant l'installation, n'oublie pas de cocher la case "Add Python to PATH" pour pouvoir l'utiliser depuis n'importe quel dossier sur ton ordinateur.
Les 10 exercices fondamentaux pour bien démarrer
Passons maintenant à la pratique ! Voici 10 exercices progressifs qui couvrent les concepts de base que tu rencontreras en NSI. Pour chacun, nous te proposons un énoncé, des indices si tu bloques, et une solution commentée. Le but n'est pas de recopier bêtement, mais de comprendre la logique. N'hésite pas à expérimenter et à modifier le code.
Exercices 1 à 3 : Variables, types et opérations
Ces premiers exercices te familiarisent avec la manipulation des données.
Exercice 1 : Les présentations
Demande à l'utilisateur son prénom et son âge via la fonction input(). Stocke ces informations dans des variables, puis affiche un message personnalisé du type : "Bonjour [prénom], tu as [âge] ans."
Indice : Souviens-toi que input() renvoie toujours du texte (une chaîne de caractères). Pour faire des calculs avec l'âge, tu devras le convertir en nombre avec int().
Exercice 2 : Calculateur d'IMC
L'Indice de Masse Corporelle se calcule avec la formule : IMC = poids (kg) / taille² (m). Demande le poids et la taille à l'utilisateur, calcule l'IMC et affiche le résultat arrondi à deux décimales.
Indice : Pour élever un nombre au carré, utilise l'opérateur ** (ex: taille ** 2). Pour arrondir, utilise la fonction round(valeur, 2).
Exercice 3 : Échange de valeurs
Déclare deux variables a = 5 et b = 10. Écris un programme qui échange leurs valeurs, sans en utiliser une troisième. À la fin, a doit valoir 10 et b doit valoir 5.
Indice : Pense à utiliser l'affectation multiple de Python : a, b = b, a. C'est une astuce très élégante et propre à Python !
Exercices 4 à 6 : Structures conditionnelles (if, elif, else)
Ici, tu vas apprendre à faire prendre des décisions à ton programme.
Exercice 4 : Pair ou impair ?
Demande un nombre à l'utilisateur. Ton programme doit déterminer et afficher si ce nombre est pair ou impair.
Indice : Utilise l'opérateur modulo % qui donne le reste d'une division. Si nombre % 2 == 0, alors le nombre est pair.
Exercice 5 : Classement par note
Demande une note sur 20. Affiche un message en fonction de la note :
- "Excellent !" si la note est supérieure ou égale à 16.
- "Très bien" si elle est entre 14 et 16 (exclus).
- "Assez bien" entre 12 et 14 (exclus).
- "Passable" entre 10 et 12 (exclus).
- "Insuffisant" en dessous de 10.
Indice : Structure bien tes conditions avec if, elif et else. Fais attention aux bornes (supérieur ou égal, strictement inférieur).
Exercice 6 : Solveur d'équation du premier degré
Demande les coefficients a et b de l'équation ax + b = 0. Ton programme doit trouver et afficher la solution x, ou un message adapté si l'équation n'a pas de solution (a = 0).
Indice : Il faut d'abord traiter le cas particulier où a vaut 0. Si b vaut aussi 0, l'équation a une infinité de solutions, sinon elle n'en a aucune.
Exercices 7 à 9 : Boucles (for et while)
Les boucles permettent de répéter des actions, un concept central en algorithmique.
Exercice 7 : Table de multiplication
Demande un nombre à l'utilisateur. Affiche sa table de multiplication de 1 à 10 en utilisant une boucle for.
Indice : La fonction range(1, 11) te génère les nombres de 1 à 10. Utilise une variable, par exemple i, pour parcourir cette séquence.
Exercice 8 : Devine le nombre
Génère un nombre aléatoire entre 1 et 100 avec import random puis nombre_secret = random.randint(1, 100). L'utilisateur doit deviner ce nombre. À chaque tentative, dis-lui si son essai est "Trop grand" ou "Trop petit". Le programme s'arrête quand il trouve et affiche le nombre de coups.
Indice : Tu auras besoin d'une boucle while car tu ne sais pas à l'avance combien de tentatives seront nécessaires. Pense à initialiser un compteur de coups.
Exercice 9 : Suite de Fibonacci
La suite de Fibonacci commence par 0 et 1. Chaque terme suivant est la somme des deux précédents : 0, 1, 1, 2, 3, 5, 8... Demande à l'utilisateur un nombre N. Affiche les N premiers termes de la suite.
Indice : Tu auras besoin de deux variables pour stocker les deux derniers termes calculés. Au début, terme1 = 0 et terme2 = 1. Dans la boucle, le nouveau terme est terme1 + terme2, puis tu mets à jour terme1 et terme2 pour la prochaine itération.
Exercice 10 : Ta première fonction
Les fonctions permettent d'organiser et de réutiliser ton code.
Exercice 10 : Fonction de salutation
Crée une fonction appelée saluer() qui prend deux paramètres : prenom et moment_de_la_journee (qui peut valoir "matin", "après-midi" ou "soir"). La fonction doit retourner une chaîne de caractères comme "Bonjour Paul, bon après-midi !". Ensuite, dans ton programme principal, demande ces informations à l'utilisateur, appelle ta fonction et affiche le message retourné.
Indice : Définis ta fonction avec le mot-clé def. Utilise if/elif à l'intérieur pour choisir le bon mot en fonction du moment. N'oublie pas le return !
Et après ? La suite de ton apprentissage Python en NSI
Félicitations ! Si tu as réussi ces 10 exercices, tu maîtrises les fondations solides de la programmation en Python. Tu es maintenant prêt à aborder les chapitres plus avancés du programme de NSI :
- Les structures de données : Les listes, les tuples, les dictionnaires et les ensembles sont indispensables pour organiser l'information.
- La programmation orientée objet (POO) : Un paradigme puissant pour modéliser des concepts complexes en créant tes propres types d'objets (des classes).
- La récursivité : Une fonction qui s'appelle elle-même, un concept élégant pour résoudre certains problèmes comme les tours de Hanoï.
- Les algorithmes de tri et de recherche : Le cœur de l'informatique ! Tu étudieras le tri par insertion, le tri rapide (quicksort) et la recherche dichotomique.
Le meilleur conseil que l'on puisse te donner est de pratiquer régulièrement. Code tes propres petits projets, relis et améliore tes anciens exercices, participe à des défis sur des plateformes comme France-ioi ou CodinGame. Chaque ligne de code écrite est un pas de plus vers la maîtrise.
En NSI, on n'apprend pas juste un langage, on apprend à penser comme un informaticien. Python est ton outil pour exprimer cette pensée.
