L'Algorithme

Qu'est ce qu'un Algorithme ?

Avez-vous déjà ouvert un livre de recettes de cuisine ? Avez vous déjà déchiffré un mode d’emploi traduit directement du coréen pour faire fonctionner un magnétoscope ou un répondeur téléphonique réticent ? Si oui, sans le savoir, vous avez déjà exécuté des algorithmes.
Plus fort : avez-vous déjà indiqué un chemin à un touriste égaré ? Avez vous fait chercher un objet à quelqu’un par téléphone ? Ecrit une lettre anonyme stipulant comment procéder à une remise de rançon ? Si oui, vous avez déjà fabriqué – et fait exécuter – des algorithmes.

Un algorithme, c’est une suite d’instructions, qui une fois exécutée correctement, conduit à un résultat donné. Si l’algorithme est juste, le résultat est le résultat voulu. Si l’algorithme est faux, le résultat est, disons, aléatoire.


Mais si l’algorithme, comme on vient de le dire, n’est qu’une suite d’instructions menant celui qui l’exécute à résoudre un problème, pourquoi ne pas donner comme instruction unique : « résous le problème », et laisser l’interlocuteur se débrouiller avec ça ? Ce serait trop facile.


Justement votre système ne sais pas résoudre le problème et pour fonctionner, un algorithme doit donc contenir uniquement des instructions compréhensibles par celui qui devra l’exécuter. C’est d’ailleurs l’un des points délicats pour les rédacteurs de modes d’emploi : les références culturelles, ou lexicales, des utilisateurs, étant variables, un même mode d’emploi peut être très clair pour certains et parfaitement abscons pour d’autres.
En informatique, heureusement, il n’y a pas ce problème : les choses auxquelles ont doit donner des instructions sont les ordinateurs, et ceux-ci ont le bon goût d’être tous strictement aussi idiots les uns que les autres.

Donc un algorithme est un ensemble d'instructions pour résoudre un problème. 

L'algorithme est soit implémenté par un programme, soit simulé. Les algorithmes ont souvent des étapes qui se répètent ou requièrent des décisions logiques ou de comparaison.

 
L'algorithme est un moyen pour le programmeur de présenter son approche du problème à d'autres personnes.

En effet, un algorithme est l'énoncé dans un langage bien défini d'une suite d'opérations permettant de répondre au problème.

Un algorithme doit donc être : 

  • Lisible: l'algorithme doit être compréhensible même par un non-informaticien
  • De haut niveau: l'algorithme doit pouvoir être traduit en n'importe quel langage de programmation, il ne doit donc pas faire appel à des notions techniques relatives à un programme particulier ou bien à un système d'exploitation donné
  • Précis: chaque élément de l'algorithme ne doit pas porter à confusion, il est donc important de lever toute ambiguïté

 

  • Concis: un algorithme ne doit pas dépasser une page. Si c'est le cas, il faut décomposer le problème en plusieurs sous-problèmes 

 

  • Structuré: un algorithme doit être composé de différentes parties facilement identifiables
Pour être informé des derniers articles, inscrivez vous :