La programmation
Le principe de la programmation
La programmation informatique consiste à donner à un ordinateur une suite d'instructions afin qu'il réalise une tâche. Ces instructions forment un programme.
L'ordinateur exécute les instructions qui lui sont fournies, mais il ne détermine pas lui-même la méthode à employer pour résoudre un problème. Le programmeur doit donc définir précisément les opérations à effectuer et leur ordre.
Analyser le problème
La création d'un programme commence par l'analyse du problème. Le résultat attendu est défini, ainsi que les informations nécessaires pour l'obtenir et les traitements à effectuer.
Un programme qui calcule une moyenne doit par exemple recevoir plusieurs notes, additionner leurs valeurs, déterminer leur nombre puis diviser la somme obtenue par ce nombre. Cette réflexion permet de définir la solution avant d'écrire le code.
Construire l'algorithme
La solution est ensuite organisée sous la forme d'un algorithme. Il décrit les différentes étapes nécessaires pour résoudre le problème dans un ordre logique, sans dépendre d'un langage de programmation particulier.
L'algorithme permet de vérifier le fonctionnement de la solution avant de la traduire en code. Il peut être décrit avec des phrases simples, un pseudo-code ou un schéma.
Les éléments communs aux programmes
Les langages de programmation possèdent des syntaxes différentes, mais ils utilisent généralement les mêmes principes fondamentaux pour construire les algorithmes et les programmes.
- Variable : mémorise une information qui peut être utilisée ou modifiée pendant l'exécution du programme. Une variable age peut par exemple contenir la valeur 15.
- Condition : permet de choisir une action selon qu'une situation est vraie ou fausse. Une condition peut par exemple vérifier si age >= 18.
- Boucle : permet de répéter des instructions. Une boucle peut par exemple parcourir successivement tous les éléments d'une liste.
- Fonction : regroupe des instructions réalisant une tâche précise afin de pouvoir les réutiliser. Une fonction peut par exemple calculer l'aire d'un rectangle à partir de sa longueur et de sa largeur.
- Objet : regroupe des données et des actions associées lorsque le langage et la méthode de programmation utilisent la programmation orientée objet.
Écrire le programme
L'algorithme est ensuite traduit dans un langage de programmation. Le choix du langage dépend notamment du type de programme à réaliser.
Le programmeur écrit alors le code source en respectant la syntaxe du langage. Par exemple, l'algorithme qui vérifie si une personne est majeure peut être traduit en instructions permettant de demander son âge, de conserver cette valeur dans une variable, de la comparer à 18 et d'afficher le résultat.
Le code source doit ensuite être transformé en instructions exécutables par le processeur. Selon le langage utilisé, cette transformation est notamment réalisée par un compilateur ou un interpréteur.
Tester le programme
Une fois le programme écrit, il doit être testé. Plusieurs valeurs et situations sont utilisées afin de vérifier que le résultat correspond à ce qui était prévu.
Pour un programme qui détermine si une personne est majeure, il faut par exemple tester un âge inférieur à 18, un âge égal à 18 et un âge supérieur à 18. Des valeurs inattendues peuvent également être testées afin de vérifier que le programme les traite correctement.
Corriger les erreurs
Les tests peuvent révéler des erreurs appelées bugs. Le débogage consiste à rechercher leur origine, à modifier le programme puis à effectuer de nouveaux tests.
Une erreur peut provenir d'une instruction incorrecte, d'un mauvais calcul, d'une condition mal définie ou d'une situation qui n'avait pas été prévue. Les corrections sont donc suivies de nouveaux tests afin de vérifier le fonctionnement du programme.
Améliorer le programme
Lorsque le programme fonctionne correctement, il peut encore être amélioré. Le code peut être réorganisé, les traitements peuvent être optimisés et de nouvelles fonctionnalités peuvent être ajoutées.
Cette démarche se répète pendant toute la durée de vie d'un logiciel. Une nouvelle fonctionnalité peut nécessiter une modification de l'algorithme, du code et des tests.
La programmation repose ainsi sur une démarche progressive : comprendre le problème, construire une solution, écrire le code, tester, corriger et améliorer. Les langages changent, mais cette méthode et les principaux éléments utilisés pour programmer restent largement communs.
- Les langages informatiques
- Les algorithmes
- Les variables
- Les conditions
- Les bases de données
- Les formulaires
- Les boucles
- Les fonctions
- Les objets
- La programmation par blocs
- La création d'un programme simple
Les fonctions
Organiser un programme
Lorsqu'un programme devient important, il contient parfois des milliers ou des millions d'instructions. Placer toutes ces instructions les unes à la suite des autres rendrait le code difficile à comprendre, à modifier et à corriger. Les programmeurs découpent donc le programme en parties ayant chacune une tâche précise. Ces parties peuvent notamment prendre la forme de fonctions.
Une fonction est un ensemble d'instructions regroupées sous un même nom. Elle peut être appelée à différents endroits du programme chaque fois que la tâche correspondante doit être réalisée.
Une fonction peut par exemple être chargée d'afficher un score dans un jeu, de calculer une distance, de vérifier une collision ou de convertir une température. Le code nécessaire à cette opération est écrit une seule fois puis réutilisé chaque fois que nécessaire.
Les paramètres
Une fonction peut avoir besoin d'informations pour effectuer son traitement. Ces informations sont fournies sous la forme de paramètres.
Une fonction destinée à calculer l'aire d'un rectangle peut par exemple recevoir deux paramètres : la longueur et la largeur. Elle utilise ensuite ces deux valeurs pour effectuer le calcul.
La même fonction peut être appelée avec des valeurs différentes. Elle peut calculer l'aire d'un rectangle de 5 mètres sur 3 mètres, puis celle d'un rectangle de 12 mètres sur 4 mètres, sans modifier les instructions qui composent la fonction.
La valeur de retour
Une fonction peut effectuer une opération sans produire de résultat utilisable par la suite, ou renvoyer une valeur au programme. Cette valeur est appelée valeur de retour.
Dans le calcul de l'aire d'un rectangle, la fonction reçoit la longueur et la largeur, effectue la multiplication puis renvoie le résultat. Le programme peut ensuite enregistrer cette valeur dans une variable, l'afficher ou l'utiliser dans un autre calcul.
Une fonction peut donc suivre le principe données en entrée → traitement → résultat en sortie. Les paramètres constituent les données d'entrée et la valeur de retour constitue éventuellement la donnée de sortie.
Appeler une fonction
Pour utiliser une fonction, le programme effectue un appel de fonction. L'exécution se poursuit alors dans les instructions de la fonction. Lorsque la fonction a terminé son travail, le programme reprend à l'endroit où elle avait été appelée.
Une même fonction peut ainsi être appelée de nombreuses fois dans un programme. Une fonction chargée de vérifier une adresse e-mail peut par exemple être utilisée chaque fois qu'une nouvelle adresse est saisie.
Les fonctions déjà disponibles
Les langages de programmation et leurs bibliothèques fournissent de nombreuses fonctions prêtes à l'emploi. Elles permettent notamment d'effectuer des calculs mathématiques, de manipuler du texte, de lire des fichiers, de générer des nombres aléatoires ou de communiquer avec certains périphériques.
Le programmeur peut également créer ses propres fonctions lorsqu'une opération doit être réalisée plusieurs fois ou lorsqu'une partie du programme mérite d'être isolée.
Les avantages des fonctions
- Réutilisation : une même fonction peut être appelée plusieurs fois sans recopier ses instructions.
- Organisation : un programme complexe est divisé en parties plus petites et plus faciles à comprendre.
- Maintenance : une correction ou une amélioration effectuée dans une fonction est prise en compte lors de ses appels suivants.
- Travail en équipe : plusieurs programmeurs peuvent travailler sur différentes parties d'un même logiciel.
Les fonctions permettent ainsi de construire progressivement des programmes complexes à partir de blocs plus simples. Une fonction peut elle-même appeler d'autres fonctions, ce qui permet d'organiser un logiciel en plusieurs niveaux de traitement.
Les fonctions constituent donc un élément essentiel de la programmation. Elles permettent de réutiliser le code, organiser les programmes et séparer les différentes tâches, ce qui facilite leur développement et leur évolution.