L'algorithmique c'est quoi ?

Un peu d'histoire

C'est en 1986 que j'entre à l'I.U.T. Informatique de Dijon où j'ai suivi les cours d'algorithmique de Monsieur Vignon et de Mademoiselle Dupuy. C'est avec eux que j'ai appris les langages les plus utilisés en informatique de gestion que sont le COBOL, le PASCAL et le C.


Organigraphe utilisé en algorithmie
Organigraphe utilisé en algorithmie pour dessiner des organigrammes
Si une application informatique, au sens général, est constituée à la fois de données et d’instructions servant à piloter le processeur destiné à traiter ces données, un langage informatique, plus particulièrement, est constitué d'une partie déclarative dans laquelle les données seront décrites, et d'une partie « instructions » proprement dite.

Les données sont en général des fichiers, en entrée ou en sortie, des variables ou encore des états papiers. La partie instructions est constituée d'une série d'ordres basiques qui permettent d'effectuer des opérations simples sur les données (affectation, addition, multiplication, division, soustraction, ...) et de piloter des périphériques (écriture, lecture, affichage, ...).

Ces enseignants de l'Université ont sus m'apporter la rigueur nécessaire à une bonne description des données et, au delà de la simple syntaxe d'un langage de programmation, ont sus m'insuffler des méthodes de programmations rigoureuses telle que celle des arbres programmatiques. Un arbre programmatique est une manière de découper un traitement informatique en sous-fonctions plus ou moins simples, toutes articulées les unes par rapport aux autres par des alternatives et des répétitives dans un ordre précis. Chaque sous-fonction peut elle même être découpée en sous-fonctions plus simples jusqu'à obtenir des instructions élémentaires du langage.

Arbres programmatiques... En savoir plus sur les arbres programmatiques ...     Plus...

Différents type de langages

Les langages que je cite plus haut sont des langages dits « procéduraux ». Cela signifie que les instructions seront exécutées dans un ordre précis (procédural), éventuellement parsemé de conditions. Une condition détermine, en fonction d'une donnée, le traitement ou le non-traitement d'une série d'instructions.

Un langage procédural peut être écrit de manière séquentielle, c'est-à-dire que toutes les instructions sont exécutées les unes après les autres dans un ordre séquentiel, du haut vers le bas. Mais les langages évolués proposent des mécanismes de débranchements et la possibilité de réaliser différents types de boucles.

Il existe d'autres types de langages qui correspondent à ce qu'on appelle la programmation logique, la programmation fonctionnelle, la programmation par contraintes, les langages orientés objets ou la programmation événementielle. Dans la programmation événementielle, une fonction sera exécutée en réponse à un événement donné qui peut être un mouvement de la souris, un clic, l'arrivée à échéance d'un compte à rebours (timer), etc...

Mes deux ans d'études à l'I.U.T. se sont terminés par un stage de trois mois en entreprise. En 1988, j'ai effectué ce stage au service Bases de Données du Crédit Mutuel de Bourgogne-Champagne à Dijon. Ce stage m'a non seulement donné la possibilité de mettre en pratique les enseignements que j'avais reçu, mais aussi d'apprendre de nouvelles méthodes de programmation.