C'est trop fastoche !

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 conditions

Un programme n'exécute pas toujours les mêmes instructions. Il doit souvent adapter son comportement aux informations qu'il reçoit. Pour cela, les programmeurs utilisent des conditions.

Une condition permet de tester une situation. Le résultat du test est généralement une valeur booléenne : Vrai ou Faux. Le programme utilise ensuite ce résultat pour déterminer les instructions à exécuter.

Le principe existe également dans la vie courante. Une consigne comme « si le feu est vert, traverser » contient une condition : la couleur du feu détermine l'action à effectuer. De même, « si la batterie est faible, recharger le téléphone » adapte l'action à l'état de la batterie.

La structure SI... ALORS

La forme la plus simple d'une condition correspond à la structure SI... ALORS. Le programme vérifie une condition et exécute une instruction uniquement lorsque celle-ci est vraie.

Un programme peut par exemple vérifier si une température dépasse 30 °C. Si cette condition est vraie, il peut déclencher un ventilateur. Si elle est fausse, aucune action supplémentaire n'est nécessaire.

En programmation, cette structure correspond notamment à if en anglais. La syntaxe exacte dépend du langage utilisé.

La structure SI... ALORS... SINON

Une condition peut prévoir deux actions différentes avec la structure SI... ALORS... SINON. Une première série d'instructions est exécutée lorsque la condition est vraie et une seconde lorsqu'elle est fausse.

  • Si la note est supérieure ou égale à 10, afficher « Réussi » ; sinon, afficher « À revoir ».
  • Si le bouton est appuyé, allumer la LED ; sinon, éteindre la LED.
  • Si le mot de passe est correct, autoriser l'accès ; sinon, refuser l'accès.

Cette structure permet donc au programme de choisir entre deux comportements en fonction du résultat d'un test.

Les opérateurs de comparaison

Pour tester une condition, le programme compare souvent deux valeurs. Les opérateurs de comparaison permettent d'effectuer ces tests.

  • == : égal à.
  • != : différent de.
  • < : inférieur à.
  • > : supérieur à.
  • <= : inférieur ou égal à.
  • >= : supérieur ou égal à.

Une instruction comme age >= 18 vérifie par exemple si la valeur de la variable age est supérieure ou égale à 18. Le résultat du test est soit Vrai, soit Faux.

Combiner plusieurs conditions

Plusieurs conditions peuvent être associées pour réaliser des tests plus précis. Les opérateurs logiques permettent notamment de combiner ou d'inverser des conditions.

  • ET : toutes les conditions doivent être vraies.
  • OU : au moins une des conditions doit être vraie.
  • NON : inverse le résultat d'une condition.

Une connexion peut par exemple être autorisée uniquement lorsque le nom d'utilisateur est correct ET que le mot de passe est correct. Une alarme peut au contraire se déclencher lorsque la température dépasse une certaine valeur OU lorsqu'un capteur détecte un mouvement.

Plusieurs choix

Un programme peut avoir besoin de choisir entre plus de deux possibilités. Plusieurs conditions peuvent alors être placées les unes à la suite des autres.

Un programme météo peut par exemple tester successivement la température : en dessous de 0 °C, afficher « froid » ; entre 0 °C et 20 °C, afficher « frais » ; au-dessus de 20 °C, afficher « doux ».

Cette organisation permet de traiter plusieurs situations sans répéter inutilement les mêmes instructions.

Les conditions dans les programmes

Les conditions sont présentes dans une grande partie des logiciels. Elles permettent notamment de vérifier un mot de passe, contrôler un robot, gérer les règles d'un jeu vidéo, vérifier les données saisies dans un formulaire ou empêcher une opération incorrecte.

Un programme de calcul peut par exemple vérifier qu'un nombre n'est pas égal à zéro avant d'effectuer une division. Une application peut vérifier qu'un fichier existe avant de tenter de l'ouvrir. Un jeu vidéo peut déterminer si un personnage possède suffisamment de points de vie avant de poursuivre une action.

Les conditions permettent ainsi à un programme de réagir différemment selon les données et les situations. Elles constituent, avec les séquences, les variables et les boucles, l'une des structures fondamentales de la programmation.

↑ Retour en haut

Jeux