Algorithme

Juillet 2000

 

L’ordinateur a été conçu par ses inventeurs comme une machine universelle. C’est à dire une machine pouvant réaliser n’importe quel processus, à partir du moment où ce processus lui est décrit.

Ceci est une propriété exceptionnelle. Si vous pouvez décrire exhaustivement un système sur une feuille de papier, ce système peut être incarné, implémenté, dans un ordinateur.

La description du système s’appelle un algorithme. Son implémentation dans un ordinateur est un programme d’ordinateur. On peut démarrer un programme, auquel cas le système fonctionne. On arrête le système en stoppant le programme.

Les algorithmes sont écrits dans n’importe quel langage. Par contre , pour pouvoir être compris par un ordinateur, il doit être exprimé dans un langage informatique. Il existe un grand nombre de langages informatiques (Fortran, Pascal, Lisp, C, C++, java, DHTML, Basic, lingo, etc…). Ce sont des langages textuels constitués de mots. Il y a aussi des langages visuels à base d’un vocabulaire visuel, comme Max, NeMo ou BigEye.

Les programmes sont aussi appelés applications, logiciels, etc.. Le navigateur dans lequel vous lisez ce texte est un programme, qui contient un grand nombre d’algorithmes. Ces algorithmes ont été inventés par des chercheurs et implémentés par des programmeurs (qui sont souvent les mêmes personnes).

Un algorithme consiste en des règles, des opérations, de la mémoire et en général dans les ordinateurs, des entrées et des sorties. Les opérations transforment les valeurs des mémoires, des entrées et des sorties. Les règles définissent les opérations à entreprendre en fonctions de conditions sur les valeurs des mémoires, ou des entrées.

Les algorithmes sont fondamentalement déterministes et ne connaissent pas le hasard. Mais le hasard peut être simulé, ou bien le programme peut se brancher sur la réalité extérieure de manière à introduire du hasard dans l’algorithme.

Un programme est donc un objet dynamique, contrairement à une image, un son, un film ou une sculpture. Un programme agit et réagit, en fonction d’états internes ou par rapport à son environnement: il a un comportement. Cette propriété dynamique associée à la malléabilité universelle de l’algorithme font de l’ordinateur un médium de création et d’expression radicalement neuf.