I-1. Notion dAlgorithme Un algorithme est la description des tapes suivre pour rsoudre un problme en un nombre fini dtapes. Il dcrit un traitement sur un certain nombre de donnes (ventuellement aucune). Un algorithme s'crit le plus souvent dans un langage proche du langage courant, appel langage algorithmique ou pseudo langage. I-2. Langage de programmation Pour tre compris et excut par un ordinateur, un algorithme doit tre traduit dans un langage spcifique, quon appelle langage de programmation. On obtient ainsi ce quon appelle un programme informatique qui contient lensemble des actions conscutives que lordinateur doit excuter. Ces actions sont appeles instructions. Le langage utilis par le processeur de lordinateur est appel langage machine. C est le seul langage que lordinateur connat. Un programme en langage machine est uniquement constitu dune suite de 0 et de 1 (du binaire) mais pour plus de clart il peut tre dcrit en hexadcimal. Il est difficile de comprendre et d'crire des programmes en langage machine. Ainsi il est plus pratique de raliser un programme dans un langage plus comprhensible par l'homme et de le traduire ensuite en langage machine laide dun programme spcialis. Selon la mthode de traduction, on distingue les langages compils et les langages interprts. I-2-1. Langage compil Dans le cas dun langage compil (exemples: C, C++, Pascal...) , le programme ralis, appel programme source, est traduit compltement par ce quon appelle un compilateur avant de pouvoir tre excut. La compilation gnre un programme dit excutable. Ce programme gnr est autonome, cest--dire quil na pas besoin d'un autre programme pour sexcuter. Mais chaque modification du fichier source (le programme source) il faudra le recompiler pour que les modifications prennent effet. I-2-2. langage interprt. Au contraire, un programme crit dans un langage interprt (exemples: Perl, Lisp, Prolog...) a besoin, pour chaque excution, d'un programme annexe appel interprteur qui va lire le code source pour traduire et faire excuter une une, chacune des instructions. Dans ce cas, il ny a pas de gnration de programme excutable. I-3. Structures de donnes Une structure de donnes est une faon d'organiser des informations pour en faciliter la manipulation (tableau, liste chane, ). Il existe une forte dpendance entre structures de donnes et programmes : influence sur la simplicit du programme influence sur lefficacit du programme