L’algorithmique 
1. Programmer, c’est un art 
Pour obtenir un résultat donné, il faut généralement suivre une méthode, une certaine logique. Sauf à être un grand 
pâtissier dont la science des mélanges des ingrédients est innée (ou le fruit d’une longue pratique), vous n’obtiendrez 
jamais un délicieux gâteau au chocolat même si vous disposez des meilleurs ingrédients et accessoires de cuisson, si 
vous ne connaissez pas les bonnes proportions, l’ordre dans lesquels ajouter les ingrédients, le temps de cuisson, la 
température : bref, la recette. De même, sans formation de mécanicien ou sans la documentation technique du moteur 
de votre véhicule, inutile de vous lancer dans un changement de joint de culasse : c’est la casse assurée. 
Il  en  est  de  même  de  la  programmation.  Il  existe  plusieurs  langages  de  programmation  très  simples,  extrêmement 
simples  parfois,  qui  peuvent  donner  un  temps  l’illusion  que  vous  savez  programmer.  En  entreprise  même,  certains 
employés sont bombardés développeurs pour leurs quelques connaissances confuses de Visual Basic, de Delphi ou de 
Windev.  Le  résultat  risque  d’être  catastrophique.  Les  publicités  sont  alléchantes  mais  trompeuses.  Les  bons 
programmeurs, y compris les autodidactes, ont tous à un moment ou un autre eu affaire avec les algorithmes, car il 
existe  en  programmation  une  multitude  de  moyens  d’arriver  à  un  résultat,  mais  très  peu  pour  obtenir  le  meilleur 
résultat  possible,  ce  qui  explique  pourquoi  beaucoup  de  programmes  ayant  la  même  fonction,  se  ressemblent  (au 
niveau de la programmation) alors que ce ne sont pas les mêmes programmeurs qui les ont développés. Les débutants 
qui se lancent dans des projets de programmation audacieux se retrouvent parfois bloqués, ne maîtrisant pas une 
technique  particulière  de  logique  de  programmation.  Certains  abandonnent,  d’autres  trouvent  un  moyen  de 
contournement  (souvent  peu  reluisant).  Les  derniers  liront  peut­être  un  livre  d’algorithmique  comme  celui­ci,  qui  à 
défaut de donner une solution complète à leur problème, leur fournira les bases et les techniques pour avancer. 
Les  ordinateurs  personnels  du  début  des  années  1980  étaient  tous  livrés  soit  avec  un  langage  BASIC  inclus 
directement dans la machine (en ROM), soit sur une cartouche, cassette ou disquette annexe. Le Basic de Microsoft 
(Qbasic, Quickbasic) était livré avec le DOS du PC. Les Amstrad avaient le basic Locomotive, les Atari ST l’Atari Basic et 
surtout le GFA Basic, un langage de grande classe, etc. Une génération complète d’utilisateurs  s’est lancée dans la 
programmation à l’aide de ces langages et de la documentation fournie qui bien souvent fournissait non seulement les 
références du langage mais aussi les méthodes de base de programmation. Avec plus ou moins de succès. Le résultat 
était souvent un infâme bidouillage, mais qui marchait. 
Or le but n’est pas que le programme fonctionne, mais qu’il fonctionne vite et bien, bref le mieux possible. Le meilleur 
ordinateur au monde et le meilleur langage au monde ne vous y aideront pas. 
2. Définition : L’algorithme est une recette 
Avez­vous déjà eu l’occasion de programmer un magnétoscope (en voie de disparition) ou un enregistreur de dvd ? 
Qu’avez­vous fait la première fois que vous avez allumé votre poste de télévision pour régler la réception des chaînes ? 
Nul doute que vous avez ouvert le mode d’emploi et suivi la séquence d’instructions indiquée: appuyer sur la touche 
Menu de la télécommande, se déplacer sur Enregistrement et appuyer sur OK, se déplacer sur une ligne puis indiquer 
la chaîne, l’heure, etc. 
Avez­vous  déjà  eu  l’occasion  de  faire  la  cuisine  ?  Pour  un  gâteau,  vous  êtes­vous  lancé  directement  ou  avez­vous 
ouvert  un  livre  pour  récupérer  la  liste  et  la  quantité  de  chaque  ingrédient,  pour  suivre  la  recette  :  faites  fondre  le 
chocolat et le beurre dans une casserole à feu doux, retirez la casserole du feu, incorporez les jaunes d’oeuf, puis le 
sucre et la farine, battez les oeufs en neige puis incorporez doucement dans le mélange, etc. 
Dans les deux cas, félicitations ! Vous avez déroulé votre premier algorithme ! 
Une  définition  simple  d’un  algorithme  :  c’est  une  suite  d’instructions  qui,  quand  elles  sont  exécutées  correctement 
aboutissent au résultat attendu. C’est un énoncé dans un langage clair, bien défini et ordonné qui permet de résoudre 
un problème, le plus souvent par calcul. Cette définition est à rapprocher du fonctionnement de la machine de Turing 
qui avant l’apparition de l’ordinateur utilisait cette démarche pour résoudre de nombreux problèmes. L’algorithme est 
donc une recette pour qu’un ordinateur puisse donner un résultat donné. 
Le mot algorithme vient du nom du mathématicien Al Khuwarizmi (Muhammad ibn Mūsā al­Khuwārizmī), savant persan 
du IX ème  siècle, auteur d’un ouvrage appelé "La transposition et la réduction", Al­jabr wa’l­muqābalah. Le mot Al­jabr 
deviendra algèbre, le nom de l’auteur sera latinisé en Algoritmi, qui sera à la base du mot algorithme. 
3. Pourquoi utiliser un algorithme ? 
L’algorithme décrit formellement ce que doit faire l’ordinateur pour arriver à un but bien précis. Ce sont les instructions 
qu’on  doit  lui  donner.  Ces  instructions  sont  souvent  décrites  dans  un  langage  clair  et  compréhensible  par  l’être 
humain : faire ceci, faire cela si le résultat a telle valeur, et ainsi de suite. 
Un algorithme bien établi et qui fonctionne (tout au moins en théorie) pourra être directement réécrit dans un langage 
- 1 -
© ENI Editions - All rigths reserved - Jonifar lina
9
Précédent

- 9/220

Suivant