Notion d'algorithme
Étant donné un traitement à effectuer sur des données, un algorithme est l'énoncé d'une séquence d'actions primitives réalisant ce traitement sur les données.
Il s'agit de l'ensemble des règles opératoires dont l'application permet de résoudre un problème au moyen d'un nombre fini d'instructions.
L'algorithmique est ainsi une discipline de l'informatique qui consiste à bien analyser le problème avant de commencer à programmer, et à proposer un algorithme adapté à ce problème.
Nous présentons ci-dessous deux exemples très simples d'algorithmes. Le premier énonce les règles à mettre en œuvre pour « sortir une voiture du garage », le second, celles qui permettent de « résoudre une équation du second degré ».
1. Ouvrir la porte du garage
2. Prendre la clef
3. Ouvrir la porte avant gauche
4. Entrer dans la voiture
5. Mettre au point mort
6. Mettre le contact
...
1: Lire les coefficients A et B
2: Si A est non nul
alors
affecter à X la valeur - B / A
afficher à l'écran la valeur de X
Sinon
Si B est nul
alors
Afficher à l'écran "tout réel est solution"
Sinon
Afficher à l'écran "pas de solution"
Un algorithme doit être indépendant du langage informatique. Une fois l'algorithme mis au point, vérifié et stabilisé, il est transcrit dans le langage informatique choisi pour l'implémenter.
Vous remarquerez que certaines instructions sont numérotées. Cela correspond ici à la fois à une étiquette qui repère l'instruction et à l'ordre dans lequel elles doivent être exécutées. Cependant, étiquette et ordre sont deux notions différentes.
Dans l'exemple 2, certaines instructions comme « affectation à X la valeur de -B/A » ne sont pas étiquetées. Leurs emplacements dans le texte qui décrit l'algorithme sont suffisants pour indiquer sous quelles conditions elles sont exécutées.