L’algorithmique : codage et programmation

Un algorithme est la description d’une suite d’étapes permettant d’obtenir un résultat à partir d’éléments fournis en entrée.
 Par exemple, une recette de cuisine est un algorithme permettant d’obtenir un plat à partir de ses ingrédients!


Simuler l’évolution de la propagation de la grippe en hiver, recommander des livres à des clients sur la base des choix déjà effectués par d’autres clients, comparer des images numériques de visages ou d’empreintes digitales, piloter de façon autonome des automobiles ou des sondes spatiales, etc.

La vertu essentielle des algorithmes est de permettre l’exécution optimisée de procédés répétitifs, essentiellement grâce à la  formalisation et à la description des enchaînements logiques à un niveau  plus abstrait, et donc plus général. Le développement des langages de  programmation depuis les années soixante, permettent aujourd’hui la  manipulation de structures et d’objets ayant des propriétés et des  comportements analogues à ceux du monde ordinaire. Leur relation avec  les couches profondes du traitement informatique est assurée après coup  par le compilateur, de manière transparente pour le programmateur et le  concepteur d’algorithmes.

Pour qu’un algorithme puisse être mis en œuvre par un ordinateur, il faut qu’il soit exprimé dans un langage informatique, sous la forme d’un logiciel (souvent aussi appelé « application »). Un logiciel combine en général de nombreux algorithmes : pour la saisie des données, le calcul du résultat, leur affichage, la communication avec d’autres logiciels, etc.

Algorithmique et  IA

Certains algorithmes ont été conçus de sorte que leur comportement évolue dans le temps, en fonction des données qui leur ont été fournies. Ces algorithmes « auto-apprenants » relèvent du domaine de recherche des systèmes experts et de l’« intelligence artificielle ». Ils sont utilisés dans un nombre croissant de domaines, allant de la prédiction du trafic routier à l’analyse d’images médicales.

L’organigramme

Un organigramme est la représentation graphique d’un algorithme à l’aide de symboles normalisés

                               

Un organigramme se lit implicitement de haut en bas. Une liaison orientée n’est donc écessaire que dans le cas contraire.