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 objets
Le principe des objets
Dans certains langages de programmation, les données et les fonctions qui les manipulent peuvent être regroupées dans des objets. Cette organisation est appelée programmation orientée objet.
Un objet représente un élément utilisé par le programme. Il peut représenter une personne, une voiture, un animal, un bouton, une fenêtre ou encore un personnage de jeu vidéo. L'objet regroupe les informations qui décrivent cet élément et les actions qu'il peut effectuer.
Les attributs
Les informations contenues dans un objet sont appelées des attributs. Elles décrivent l'état ou les caractéristiques de l'objet.
Un objet représentant un personnage de jeu peut par exemple posséder les attributs nom, nombre de vies, position et score. Chaque personnage peut avoir des valeurs différentes pour ces mêmes attributs.
Un objet représentant une voiture peut de la même manière posséder une couleur, une vitesse, un niveau de carburant et une position. La valeur de ces attributs peut changer pendant l'exécution du programme.
Les méthodes
Les actions qu'un objet peut effectuer sont appelées des méthodes. Une méthode est une fonction associée à un objet.
Un personnage peut par exemple posséder les méthodes avancer(), sauter(), attaquer() et parler(). Une voiture peut posséder des méthodes permettant de démarrer, accélérer, freiner ou tourner.
Une méthode peut également utiliser ou modifier les attributs de l'objet. La méthode avancer() d'un personnage peut ainsi modifier sa position, tandis qu'une méthode attaquer() peut diminuer le nombre de vies d'un autre personnage.
Les classes
Les objets sont généralement créés à partir de classes. Une classe constitue un modèle qui décrit les attributs et les méthodes que posséderont les objets créés à partir de ce modèle.
Une classe Voiture peut par exemple définir les attributs couleur, vitesse et carburant, ainsi que les méthodes démarrer(), accélérer() et freiner().
Chaque objet créé à partir de cette classe possède ensuite ses propres valeurs. Une première voiture peut être rouge et rouler à 80 km/h, tandis qu'une seconde peut être bleue et rouler à 50 km/h. Les deux objets reposent sur le même modèle, mais leur état est différent.
Créer et utiliser plusieurs objets
Une même classe peut servir à créer autant d'objets que nécessaire. Un jeu vidéo peut par exemple utiliser une classe Personnage pour créer des dizaines de personnages possédant les mêmes types d'attributs et de méthodes.
Chaque objet conserve cependant ses propres données. Modifier le score d'un personnage ne modifie pas automatiquement celui des autres personnages créés à partir de la même classe.
Cette organisation permet donc de définir une structure commune tout en créant de nombreux objets différents à partir de cette structure.
L'intérêt de la programmation orientée objet
La programmation orientée objet permet de regrouper les données et les traitements associés. Le code correspondant à un élément du programme est ainsi organisé au même endroit.
Cette organisation facilite notamment la réutilisation du code. Une classe peut être utilisée dans différentes parties d'un logiciel et servir à créer de nombreux objets sans recopier leurs attributs et leurs méthodes.
Elle facilite également la maintenance des programmes. Une modification apportée à une classe peut être utilisée par tous les objets qui en dépendent, ce qui évite de modifier séparément chaque objet.
Les langages orientés objet
La programmation orientée objet est utilisée dans de nombreux langages, notamment Java, C++, Python, C# et PHP. Ces langages permettent de créer des classes et des objets, avec des possibilités qui varient selon le langage.
Cette méthode est particulièrement utilisée pour développer des applications complexes, des jeux vidéo et de nombreux logiciels professionnels. Elle permet de diviser un programme en éléments cohérents et de construire progressivement des systèmes comportant un grand nombre de composants.
Les objets constituent ainsi une manière d'organiser un programme autour d'éléments possédant à la fois des données et des actions. Les classes fournissent les modèles nécessaires à leur création et les méthodes permettent de définir leur comportement.