Introduction

Algorithme

Les algorithmes ne sont pas spécifiques à l’informatique ; notre cerveau utilise constamment les algorithmes, par exemple :

Ce qui distingue un algorithme d’une autre méthode de résolution de problèmes, c’est le caractère systématique de son exécution.

En d’autres termes, un algorithme ne doit demander aucune initiative à celui ou celle qui l’exécute. Ceci explique l’importance de l’algorithmique en informatique : un ordinateur n’étant capable d’aucune initiative, il ne peut exécuter une tâche que si on lui fournit un algorithme pour le faire. Tout programme informatique a donc, par définition, la structure d’un algorithme.

Afin de pouvoir être exécuté de manière systématique, un algorithme doit absolument éviter l’ambiguïté. Il est donc indispensable d’écrire les algorithmes dans un langage formel, dont la sémantique est précisément définie (pseudo code, langage de programmation).

Le caractère systématique ne signifie pas pour autant que l’exécutant de l’algorithme ne doit rien savoir faire a priori. Au contraire, tout algorithme présuppose un certain nombre de capacités.

Dans les exemples ci-dessus :

Les algorithmes pour l’informatique doivent donc s’appuyer sur ce que « sait faire » l’ordinateur.

En pratique, ces capacités dépendent de l’environnement et du langage de programmation utilisé.